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

相关文章

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

解读GC日志中的各项指标用法

《解读GC日志中的各项指标用法》:本文主要介绍GC日志中的各项指标用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基础 GC 日志格式(以 G1 为例)1. Minor GC 日志2. Full GC 日志二、关键指标解析1. GC 类型与触发原因2. 堆

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重