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

2024-01-21 12:28
文章标签 算法 特性 原理 指标 kdj

本文主要是介绍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

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-10-17时间
cycleint99周期
longCycleint2626长周期
shortCycleint1212短周期
vipCycleFlagint00是否需要返回所有周期数据,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
请求示例:

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-10-17时间
cycleint99周期1
cycle1int33周期2
cycle2int33周期3
vipCycleFlagint00是否需要返回所有周期数据,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

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-10-17时间
cycle1int1010周期1
cycle2int66周期2
rehabilitationint100100复权方式:100-不复权;101-后复权;102-前复权
calculationCycleint100100周期: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
请求示例:

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-10-17时间
cycleint1414周期
vipCycleFlagint00是否需要返回所有周期数据,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
请求示例:

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-10-17时间
maint5,10,205,10,20周期,逗号分隔符必须为英文,默认值ma=5,10,20
rehabilitationint100100复权方式:100-不复权;101-后复权;102-前复权
calculationCycleint100100周期: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

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-10-17时间
cycleint2626周期,默认值cycle=26
bandwidthint22周期,逗号分隔符必须为英文,默认值ma=5,10,20
rehabilitationint100100复权方式:100-不复权;101-后复权;102-前复权
calculationCycleint100100周期: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
请求地址:

参数名称类型默认值示例值是否必须描述
datestring2022-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

请求参数说明:

参数名称类型默认值示例值是否必须描述
codestring600004.SH股票代码
cycleint99周期
cycle1int33周期1
cycle2int33周期2

接口说明:分时数据获取

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

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

请求参数说明:

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

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

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

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

请求参数说明:

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-10-10交易时间

接口说明:量比指标

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

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

请求参数说明:

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-10-10交易时间
cyclestring5周期,默认值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

请求参数说明:

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-10-10交易时间
cyclestring4周期,默认值cycle=4
stepstring2步长,默认值step=2
limitstring10极值,默认值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

请求参数说明:

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

接口说明:RSI指标

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

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-10-10交易时间
cycle1string66周期1,默认值cycle1=6
cycle2string1212周期2,默认值cycle2=12
cycle3string2424周期3,默认值cycle3=24
vipCycleFlagstring00是否需要返回所有周期数据,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

请求参数说明:

参数名称类型默认值示例值是否必须描述
codestring600004股票代码
datestring2021-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

请求参数说明:

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

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

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

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

请求参数说明:

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

接口说明:查询上证指数

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

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

请求参数说明:

参数名称类型默认值示例值是否必须描述
startDatestring2021-10-20交易开始时间,格式:2021-10-20
endDatestring2021-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

请求参数说明:

参数名称类型默认值示例值是否必须描述
startDatestring2021-10-20交易开始时间,格式:2021-10-20
endDatestring2021-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

请求参数说明:

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

接口说明:基金分时数据

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

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

请求参数说明:

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

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

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

参数名称类型默认值示例值是否必须描述
bkCodestringBK1036行业板块代码
pageNoint1页码
pageSizeint50每页行数

请求示例:

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

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

请求示例:

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

接口说明:涨停股池

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

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

请求示例:

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

接口说明:强势股池

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

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

请求示例:

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

接口说明:次新股池

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

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

请求示例:

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

接口说明:炸板股池

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

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

请求示例:

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

接口说明:跌停股池

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

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

请求示例:

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

这篇关于KDJ指标的算法、原理和特性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/629533

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4