KDJ指标的算法、原理和特性

KDJ的完整中文名称是随机摆动指标,是短线交易者最常用的指标之一。作为应用最广泛的指标之一,KDJ的用法网上随处可见,但大部分介绍都只会告诉你超买超卖,金叉死叉,详细点的讲讲背离和钝化,至于为什么这么用,几乎没人去剖析背后的原理。这篇文章讲带你从算法和概率的角度,探究KDJ的底层逻辑。

KDJ的算法总共分成三步:

第一步求出未成熟随机值RSV,公式是:
在这里插入图片描述

这个公式,直白的表述就是求出当前价格在过去N个周期最高点和最低点的位置,以百分比计数。

第二步是对RSV进行平滑计算得到K值,再对K值进行平滑计算得到D值,其算法都是取三分之二个前值加上三分之一时下值作为当前值。

这里有两个意义,一个是RSV作为初始值,数据波动频率太过频繁,作为指标,需要适当对数据进行平滑运算,经过削峰平谷平滑后的数据更加具有趋势指示性。

另一个意义第一次平滑是让RSV看起来相对平滑,可以作为快速趋势值,再次平滑K值得到的D值是让趋势更加平缓,把D值当作一个慢速趋势值,通过观察快慢两个平滑值的关系,就能比较清晰的判断当下的形势。第三步是对快(K值)慢(D值)值的差值进行放大,得到J值,J值的作用是观测快慢线之间的距离和变化。J值的计算公式是:J=3K-2D,这个公式实际上是:J=K+(K-D)×2,也就是以K值为基础,加上KD差的放大倍数,目的是为了观察KD之间的关系。这与MACD中的MACD=(DIF-DEA)×2一个道理,只是坐标系统不一样,所以加了K值做为基础而已。理解了KDJ的算法,接下来我们探讨一下KDJ指标解决了什么问题?

通过算法我们可以总结出KDJ指标的本质:KDJ指标指示的是当下价格在过去N个周期震荡区间的平滑位置。这个位置的作用,可以理解为在价格运行的方向在震荡区间中的摆动力道。我们可以通过观察KD值的方向和差距(也就是J值)来观察价格运行的方向和力道。

理解了KDJ的计算原理和本质,最后我们通过观测KDJ的表现,总结出以下几个指标特性:

1、KDJ考虑的是区间最高最低与当前价格的关系,如果K线的上下影把区间撑大,或者周期平移导致区间缩小,RSV的数值会失真。比如一段上涨趋势,最后一根K线如果拉出长上影,但收盘价格比昨天高,这时候指标值反而会比昨天低,反之亦然,这种情况下极容易产生KDJ背离,连续背离则会形成钝化。所以底部金叉和顶部死叉并不能完全指示交易机会,需要结合K线进行判断。

2、持续阴跌或持续小涨也会导致KDJ产生钝化,在钝化的情况下会导致金叉死叉连续失效,所以出现KDJ钝化不要轻易进场离场。

3、KD值平滑计算的函数是SMA,SMA均线的最大特点是敏感度特别高,走平和拐头只需要一个相对大于或小于前三个值得数值就会发生,加上区间撑大的特性,在一段趋势中随便一个反弹回调就会造成走平拐头的出现,所以KDJ非常适合短线交易中对行情及时转变进行决策。

4、当K值上穿50时,行情必定是突破N周期平台突破,下穿则相反。KD值均处于50上方,价格一定呈上升趋势,KD值处于50下方则必定处于下跌趋势。所以KDJ最好的用法并非金叉死叉,而是K值上穿下穿50中间值。

5、有不少教程说J值处于20以下和80是超买超卖区,其实以上意义并不大,即使J值小于零或大于100,也不能确认必定会迎来反转行情。相反的,上涨下跌力度大到能把J值做到大于100小于0,那么消耗这个力度是需要时间和空间的。虽然有很多的例子可以观测到J值处于极限位置后会反转,但那对我们来说并非机会,而是风险。观测的重点仍然应该放在KD值上。

最后总结:我们研究指标,目的是为了了解前人和专业人士理解市场的方式。理解这些思路,对我们完善自身交易系统有着莫大的帮助,通过指标理解市场运行规律,才能使用指标去把握市场运行方向的转折点和交易机会

量化股票基金stockapi接口地址:https://stockapi.com.cn
接口http请求方式获取数据,Java,python,js,c,c++,易语言均可用

相关章节说明

    • 接口说明:日线macd数据查询
    • 接口说明:日线kdj数据查询
    • 接口说明:日线wr数据查询
    • 接口说明:日线cci数据查询
    • 接口说明:5,10,20日ma均线数据查询
    • 接口说明:布林带boll数据查询
    • 接口说明:龙虎榜查询
    • 接口说明: 股票历史日线行情查询
    • 接口说明:分时kdj数据
    • 接口说明:分时数据获取
    • 接口说明:主力资金流入流出指标
    • 接口说明:量比指标
    • 接口说明:抛物线SAR指标
    • 接口说明:乖离率BIAS指标
    • 接口说明:RSI指标
    • 接口说明:神奇九转指标
    • 接口说明:所有A股列表数据查询
    • 接口说明:所有st股列表数据查询
    • 接口说明:十大成交活跃股
    • 接口说明:查询当日是否为交易日
    • 接口说明:查询上证指数
    • 接口说明:查询深圳成指
    • 接口说明:查询上证50
    • 接口说明:基金分时数据
    • 接口说明:行业板块个股列表
    • 接口说明:行业板块代码
    • 接口说明:板块历史资金流
    • 接口说明:涨停股池
    • 接口说明:强势股池
    • 接口说明:次新股池
    • 接口说明:炸板股池
    • 接口说明:跌停股池

接口说明:日线macd数据查询

地址:https://stockapi.com.cn/v1/quota/macd

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-17 时间
cycle int 9 9 周期
longCycle int 26 26 长周期
shortCycle int 12 12 短周期
vipCycleFlag int 0 0 是否需要返回所有周期数据,1:是;0:否。有token用户可以传1

请求示例:

https://stockapi.com.cn/v1/quota/macd?code=600004&cycle=9&date=2021-10-17&longCycle=26&shortCycle=12&vipCycleFlag=0

接口说明:日线kdj数据查询

地址:https://stockapi.com.cn/v1/quota/kdj
请求示例:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-17 时间
cycle int 9 9 周期1
cycle1 int 3 3 周期2
cycle2 int 3 3 周期3
vipCycleFlag int 0 0 是否需要返回所有周期数据,1:是;0:否。有token用户可以传1
https://stockapi.com.cn/v1/quota/kdj?calculationCycle=100&code=600004&cycle=9&cycle1=3&cycle2=3&date=2022-06-20&vipCycleFlag=0

接口说明:日线wr数据查询

地址:https://stockapi.com.cn/v1/quota/wr

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-17 时间
cycle1 int 10 10 周期1
cycle2 int 6 6 周期2
rehabilitation int 100 100 复权方式:100-不复权;101-后复权;102-前复权
calculationCycle int 100 100 周期:100-日;101-周;102-月;103-季;104-半年;105-年

请求示例:

https://stockapi.com.cn/v1/quota/wr?code=600004&cycle1=10&cycle2=6&date=2021-10-17&rehabilitation=100&calculationCycle=100

接口说明:日线cci数据查询

地址:https://stockapi.com.cn/v1/quota/cci
请求示例:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-17 时间
cycle int 14 14 周期
vipCycleFlag int 0 0 是否需要返回所有周期数据,1:是;0:否。有token用户可以传1
https://stockapi.com.cn/v1/quota/cci?code=600004&cycle=14&date=2021-10-17&vipCycleFlag=0

接口说明:5,10,20日ma均线数据查询

地址:https://stockapi.com.cn/v1/quota/ma
请求示例:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-17 时间
ma int 5,10,20 5,10,20 周期,逗号分隔符必须为英文,默认值ma=5,10,20
rehabilitation int 100 100 复权方式:100-不复权;101-后复权;102-前复权
calculationCycle int 100 100 周期:100-日;101-周;102-月;103-季;104-半年;105-年

请求示例:

https://stockapi.com.cn/v1/quota/ma?code=600004&date=2021-10-17&ma=5,10,20&rehabilitation=100&calculationCycle=100

接口说明:布林带boll数据查询

地址:https://stockapi.com.cn/v1/quota/boll

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-17 时间
cycle int 26 26 周期,默认值cycle=26
bandwidth int 2 2 周期,逗号分隔符必须为英文,默认值ma=5,10,20
rehabilitation int 100 100 复权方式:100-不复权;101-后复权;102-前复权
calculationCycle int 100 100 周期:100-日;101-周;102-月;103-季;104-半年;105-年

请求示例:

https://stockapi.com.cn/v1/quota/boll?bandwidth=2&code=600004&cycle=26&date=2021-10-17&rehabilitation=100&calculationCycle=100

接口说明:龙虎榜查询

地址:https://stockapi.com.cn/v1/base/dragonTiger
请求地址:

参数名称 类型 默认值 示例值 是否必须 描述
date string 2022-09-02 时间
https://stockapi.com.cn/v1/base/dragonTiger?date=2022-09-02

接口说明: 股票历史日线行情查询

地址:https://stockapi.com.cnv1/base/day
请求示例:

https://stockapi.com.cn/v1/base/day?token=你的token&code=600004&endDate=2021-10-15&startDate=2021-10-10

接口说明:分时kdj数据

地址:https://stockapi.com.cn/v1/base/minKdj
请求示例:

https://stockapi.com.cn/v1/base/minKdj?code=600004&cycle=9&cycle1=3&cycle2=3

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004.SH 股票代码
cycle int 9 9 周期
cycle1 int 3 3 周期1
cycle2 int 3 3 周期2

接口说明:分时数据获取

地址:https://stockapi.com.cn/v1/base/min
请求示例:

https://stockapi.com.cn/v1/base/min?code=600004

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码

接口说明:主力资金流入流出指标

地址:https://stockapi.com.cn/v1/quota/capital
请求示例:

https://stockapi.com.cn/v1/quota/capital?code=600004&date=2021-10-10

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-10 交易时间

接口说明:量比指标

地址:https://stockapi.com.cn/v1/quota/lb
请求示例:

https://stockapi.com.cn/v1/quota/lb?code=600004&cycle=5&date=2021-10-10

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-10 交易时间
cycle string 5 周期,默认值cycle=5

接口说明:抛物线SAR指标

地址:https://stockapi.com.cn/v1/quota/sar
请求示例:

https://stockapi.com.cn/v1/quota/sar?code=600004&cycle=4&date=2021-10-10&limit=10&step=2

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-10 交易时间
cycle string 4 周期,默认值cycle=4
step string 2 步长,默认值step=2
limit string 10 极值,默认值limit=10

接口说明:乖离率BIAS指标

地址:https://stockapi.com.cn/v1/quota/bias
请求示例:

https://stockapi.com.cn/v1/quota/bias?code=600004&cycle1=6&cycle2=12&cycle3=24&date=2021-10-10

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-10 交易时间
cycle1 string 6 6 周期1,默认值cycle1=6
cycle2 string 12 12 周期2,默认值cycle2=12
cycle3 string 24 24 周期3,默认值cycle3=24

接口说明:RSI指标

地址:https://stockapi.com.cn/v1/quota/rsi
请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-10 交易时间
cycle1 string 6 6 周期1,默认值cycle1=6
cycle2 string 12 12 周期2,默认值cycle2=12
cycle3 string 24 24 周期3,默认值cycle3=24
vipCycleFlag string 0 0 是否需要返回所有周期数据,1:是;0:否。有token用户可以传1

请求示例:

https://stockapi.com.cn/v1/quota/rsi?code=601088&cycle1=6&cycle2=12&cycle3=24&date=2021-10-10&vipCycleFlag=0

接口说明:神奇九转指标

地址:https://stockapi.com.cn/v1/quota/nineTurn
请求示例:

https://stockapi.com.cn/v1/quota/nineTurn?code=600004&date=2021-10-10

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
code string 600004 股票代码
date string 2021-10-10 交易时间

接口说明:所有A股列表数据查询

地址:https://stockapi.com.cn/v1/base/all
请求参数说明:
请求示例:

https://stockapi.com.cn/v1/base/all

接口说明:所有st股列表数据查询

地址:https://stockapi.com.cn/v1/base/st
请求参数说明:

https://stockapi.com.cn/v1/base/st

接口说明:十大成交活跃股

地址:https://stockapi.com.cn/v1/base/top10Active
请求示例:

https://stockapi.com.cn/v1/base/top10Active?endDate=2021-10-22&startDate=2021-10-20

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
startDate string 2021-10-20 交易开始时间,格式:2021-10-20
endDate string 2021-10-22 交易结束时间,格式:2021-10-22

接口说明:查询当日是否为交易日

地址:https://stockapi.com.cn/v1/quota/nineTurn
请求示例:

https://stockapi.com.cn/v1/base/tradeDate?tradeDate=2021-10-20

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
tradeDate string 2021-10-10 交易时间

接口说明:查询上证指数

地址:https://stockapi.com.cn/v1/index/sh
请求示例:

https://stockapi.com.cn/v1/index/sh?startDate=2021-10-20&endDate=2021-10-30

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
startDate string 2021-10-20 交易开始时间,格式:2021-10-20
endDate string 2021-10-30 交易结束时间,格式:2021-10-30

接口说明:查询深圳成指

地址:https://stockapi.com.cn/v1/index/sz
请求示例:

https://stockapi.com.cn/v1/index/sz?startDate=2021-10-20&endDate=2021-10-30

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
startDate string 2021-10-20 交易开始时间,格式:2021-10-20
endDate string 2021-10-30 交易结束时间,格式:2021-10-30

接口说明:查询上证50

地址:https://stockapi.com.cn/v1/index/sh50
请求示例:

https://stockapi.com.cn/v1/index/sh50?startDate=2021-10-20&endDate=2021-10-30

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
startDate string 2021-10-20 交易开始时间,格式:2021-10-20
endDate string 2021-10-30 交易结束时间,格式:2021-10-30

接口说明:基金分时数据

地址:https://stockapi.com.cn/v1/fund/min
请求示例:

https://stockapi.com.cn/v1/fund/min/v1/fund/min?code=159713

请求参数说明:

参数名称 类型 默认值 示例值 是否必须 描述
code string 159713 基金代码,格式:159713

接口说明:行业板块个股列表

地址:https://stockapi.com.cn/v1/base/bkList?bkCode=BK1036

参数名称 类型 默认值 示例值 是否必须 描述
bkCode string BK1036 行业板块代码
pageNo int 1 页码
pageSize int 50 每页行数

请求示例:

https://stockapi.com.cn/v1/base/bkList?bkCode=BK1036

接口说明:行业板块代码

地址:https://stockapi.com.cn/v1/base/bk

请求示例:

https://stockapi.com.cn/v1/base/bk

接口说明:板块历史资金流

地址:https://stockapi.com.cn/v1/base/bkFlowHistory

参数名称 类型 默认值 示例值 是否必须 描述
bkCode string BK1036 行业板块代码

请求示例:

https://stockapi.com.cn/v1/base/bkFlowHistory?bkCode=BK1036

接口说明:涨停股池

地址:https://stockapi.com.cn/v1/base/ZTPool

参数名称 类型 默认值 示例值 是否必须 描述
date string 2022-09-16 交易时间,格式:2022-09-16

请求示例:

https://stockapi.com.cn/v1/base/ZTPool?date=2022-09-16

接口说明:强势股池

地址:https://stockapi.com.cn/v1/base/QSPool

参数名称 类型 默认值 示例值 是否必须 描述
date string 2022-09-16 交易时间,格式:2022-09-16

请求示例:

https://stockapi.com.cn/v1/base/QSPool?date=2022-09-16

接口说明:次新股池

地址:https://stockapi.com.cn/v1/base/CXPool

参数名称 类型 默认值 示例值 是否必须 描述
date string 2022-09-16 交易时间,格式:2022-09-16

请求示例:

https://stockapi.com.cn/v1/base/CXPool?date=2022-09-08

接口说明:炸板股池

地址:https://stockapi.com.cn/v1/base/ZBPool

参数名称 类型 默认值 示例值 是否必须 描述
date string 2022-09-16 交易时间,格式:2022-09-16

请求示例:

https://stockapi.com.cn/v1/base/ZBPool?date=2022-09-16

接口说明:跌停股池

地址:https://stockapi.com.cn/v1/base/DTPool

参数名称 类型 默认值 示例值 是否必须 描述
date string 2022-09-16 交易时间,格式:2022-09-16

请求示例:

https://stockapi.com.cn/v1/base/DTPool?date=2022-09-16