常用技术指标之一文读懂KDJ指标

article/2025/9/19 9:06:29

什么是KDJ指标?

KDJ中文名又叫随机指标,英文名叫Stochastic oscillator,由乔治·莱恩(George Lane)于20世纪50年代首创,最早用于期货市场。KDJ指标能比较迅速、直观地研判行情,主要用于分析中短期趋势,是期货和股票市场上常用的技术分析工具。它主要是利用价格波动的真实波幅来反映价格走势的强弱和超买超卖现象,在价格尚未上升或下降之前发出买卖信号。

下图是特斯拉最近的K线和KDJ指标图。

从图中可以看出来, KDJ有三根线,分别是K线, D线, J线。K线、D线的取值范围是0~100, J线取值范围可以超过100和低于0。 相比速度而言,J > K > D。相比安全性而言,J < K < D。

KDJ公式说明

KDJ根据统计学原理,通过一个特定的周期N内出现过的最高价、最低价及最新收盘价及这三者之间的比例关系来计算未成熟随机值RSV,然后根据移动平均线(SMA/EMA)的方法来计算K值、D值与J值,并绘成曲线图来研判股票走势。它在设计过程中主要是研究最高价、最低价和收盘价之间的关系,同时也融合了动量观念、强弱指标和移动平均线的一些优点,因此,能够比较迅速、快捷、直观地研判行情。

KDJ指标具体计算方法如下:

  • RSV = (收盘价-N周期最低价)/(N周期最高价-N周期最低价)*100

  • K值 = SMA(RSV, M), RSV的M周期移动平均值

  • D值 = SMA(K, L),K值的L周期移动平均值

  • J值 = 3K-2D

说明:

  • RSV是英文Raw StochasticValue的缩写,中文意思是未成熟随机值, 决定了价格收盘水平与一段时期内K线波动区间的关系。例如,如果RSV高于80,则表明当前收盘价接近区间的最高点。另一方面,如果该RSV低于20,则意味着该指数的收盘价接近区间的最低点

  • SMA是简单移动平均线, 也有使用EMA指数移动平均的

  • K曲线通过平滑RSV值得到的,它的技术特征与RSV数值相似,都是揭示了N天之内价格上的强弱程度

  • D曲线是平滑K值得到的,也可以理解为对RSV数值的再次平滑。相对K曲线,D曲线对微小价格的波动过滤的效果更好,曲线自身波动也更加平缓

  • J曲线表示2倍K值与D值的差值,再加上当日K值。它可以更容易看清K曲线、D曲线二者之间的差距。由于J曲线与RSV数值无关, 为了追求更简洁的技术指标,有时候不使用J曲线也可以

  • D曲线与K曲线构成了一个“双均线”组合,所有与均线有关的分析法则,都可以运用到KDJ指标上。投资者可以通过两条曲线在低位和高位的交叉情况,对股价是否存在超买与超卖现象做出明确的判断;D曲线对K曲线有了初步的支撑、阻力作用,为观察股价的变化提供了一个参考依据;但K、D两条曲线的缺陷是被限制在了0~100的空间之内

  • J曲线的运动方向代表了K曲线和D曲线的趋势状态。J曲线运行速度(斜率)较K曲线和D曲线更快,能帮助投资者提前预判即将到来的股价超买与超卖的现象; J曲线能够突破0轴和100轴线的束缚,进而达到极值,可以揭示K曲线和D曲线已经开始钝化

KDJ指标时间周期取值

一般来说,国内N、M、L通常取值为9、3、3。国外N最常用的周期是5和14。投资者对KDJ指标理解透了之后,这几个参数完全可以按照自己的认识来按相应的市场和标的进行对应调整

KDJ公式计算

talib中计算 KDJ值对应的函数是talib.STOCH()函数,其返回值有两个,一个是K值,另外一个是D值,J值需要自己用公式算。如果N设为9, 那KDJ指标需要至少9天的数据才能正常使用。

  1. talib中使用KDJ指标

# talib
import talib as ta
import numpy as np
inputs = {'open': np.random.random(100),'high': np.random.random(100),'low': np.random.random(100),'close': np.random.random(100),'volume': np.random.random(100)
}
slowk, slowd = ta.STOCH(inputs['high'], inputs['low'], inputs['close'], fastk_period=9, slowk_period=3, slowk_matype=0, slowd_period=3, slowd_matype=0)
slowj = 3 * slowk - 2 * slowd
  1. backtrader中使用KDJ指标

backtrader提供了StochasticFast, Stochastic和StochasticFull 共3个类,均只提供了K曲线、D曲线,没有提供J曲线。 其中:

  • StochasticFast类里面的K线对应上述公式的RSV, D线对应上述公式的K线, 也叫快速随机指标

  • Stochastic类里面的K线、D线与上述公式一致,也叫慢速随机指标

  • StochasticFull类的K、D线与StochasticFast类保持一致,同时增加了一条percDSlow线 与上述公式的D线保持一致

下面示例代码增加了J曲线。

class KDJ(bt.Indicator):lines = ('K', 'D', 'J')params = (('period', 9),('period_dfast', 3),('period_dslow', 3),)plotlines = dict(J=dict(_name='%J'))def __init__(self):self.kd = bt.indicators.StochasticFull(self.data,period=self.p.period,period_dfast=self.p.period_dfast,period_dslow=self.p.period_dslow,)self.l.K = self.kd.percDself.l.D = self.kd.percDSlowself.l.J = self.K * 3 - self.D * 2

KDJ指标应用

KDJ指标80线和20线作为指标是否已经超买或者超卖的分界线,中轴50线是正常多空的分界线。

K、D两条曲线在低位形成的黄金交叉和在高位形成的死亡交叉,其实对应着正常的均线交叉,只是因为位置关系更能体现低位超卖和高位超买现象。

  • 金叉: 当K线从D线的下方向上穿越D线,同时J线从K、D线的下方向上穿越K、D线,形成KDJ金叉,是股价转强的信号。若之前K值小于10,D值小于20,J值小于0,三线在超卖区形成金叉时,股价成功反弹的可能性较高

  • 死叉:当K线从D线上方向下穿越D线,同时J线从K、D线的上方向下穿越K、D线,形成KDJ死叉时,是股价转弱的信号。若之前K值大于90,D值大于80,J值大于100,三线在超买区形成死叉时,股价短期下跌的概率较高

  • 顶背离: 当股价连续上涨并持续创新高但KDJ并没有同时跟随创出新高时,就会形成KDJ顶背离,预示股价短期上涨乏力。股价短期内极容易滞涨回落,为短期出局信号

  • 底背离: 当股价连续下跌并持续创新低,而KDJ并没有同时跟随创出新低时,形成KDJ底背离,预示股价短期下跌动能减弱。股价短期内极容易止跌反弹,是短线抢反弹择机买进的信号

  • 钝化就是指股价在行情中大涨或暴跌,使指标数据出现粘连,让指标失去指导作用,因为KDJ是一个非常敏感的指标,所以它特别容易出现钝化。一般钝化分两种:高位钝化和低位钝化。

  • 高位钝化,在股价走势极强的单边上涨行情中,K值与D值均在80以上的超买区,J值大于100。股价仍在急速上涨创新高,此时形成KDJ高位钝化。遇到高位钝化时不要慌,虽然指标失灵,但也意味着个股的强势性。此时就可以参考其他指标进行操作。

  • 把高位钝化反过来就是低位钝化了。一般K值与D值同时在20以下的超卖区,J值在0以下。遇到低位钝化一般意味着股价可能要跌一段时间了。此时适合参考其他指标来判断KDJ何时回归正常,回归后的KDJ金叉是抄底的最好时机。

  • 在股价的实际走势中KDJ买卖信号频繁,且错误虚假信号较多。因为,我们可以看到每次出现顶背离和底背离的时候,KDJ都会出现金叉和死叉。但KDJ每次出现金叉、死叉的时候却不意味着股价也出现了顶背离和底背离,所以,我们要做的就是判断其金叉和死叉的准确性。

结论& 交流

关注公众号,获取更多内容。同时还能获取邀请加入投资交流群、量化投资研讨群, 与众多投资爱好者、量化从业者、技术大牛一起交流、切磋,快速提升自己的投资水平。

微信公众号:诸葛说talk

写文章不易,觉得本文对你有帮助的话,帮忙点个在看吧。

参考

  • https://en.wikipedia.org/wiki/Stochastic_oscillator

  • Stochastic Oscillator [ChartSchool]

  • TA-Lib

  • https://github.com/mementum/backtrader/blob/master/backtrader/indicators/stochastic.py

  • https://baike.baidu.com/item/KDJ指标/6328421

  • 半小时漫画股票实战法

  • 从零开始学KDJ指标


http://chatgpt.dhexx.cn/article/com76ZUm.shtml

相关文章

史上最全股票指标图文详解(原创)

炒股要把风险放在第一位,盈利放在第二位。 1、成交量(VOL)指标: 定义:股市中的成交量,是指股票或者大盘当日成交量的总手数。成交量指标一般是用柱状图来表示。左面的坐标值与柱子的横向对应处,就是当日当时的成交总手。如当天收盘价高于当天开盘价,成交柱呈红色;…

期货投资心得

期货的K线是什么 K线就是股票期货某个时间段的价格趋势&#xff0c;有四个数据构成&#xff0c;一个是开盘价&#xff0c;收盘价&#xff0c;最高价&#xff0c;最低价。其中k线红色时表示&#xff0c;收盘价高于收盘价&#xff1b;其中k线绿色时表示&#xff0c;收盘价低于收…

量化分析(8)——唐安奇通道

唐安奇通道和布林通道差不多&#xff0c;都是判断超买和超卖的工具&#xff0c;我还是喜欢rsi强度来判断超买和超卖&#xff0c;不过这二者可以相互印证一下。这里简单的画一下图&#xff0c;介绍一下。 # -*- coding: utf-8 -*- """ Created on Thu Oct 19 11…

Python 金融量化 道路突破策略(唐奇安道路突破策略布林带通道及其市场风险)

目录 获取数据1.通道突破简介2.唐奇安通道(Donchian Channel)2.1 唐奇安通道刻画2.2 在K线图中绘制唐奇安上下通道线2.3 Python捕捉唐奇安通道突破2.4 选择不同时间跨度 3.布林带通道3.1 布林带通道概述3.2布林带通道计算方式3.3 开始编码3.4 布林带通道线及K线图绘制3.5 布林带…

常用技术指标之一文读懂BOLL布林线指标

什么是布林线指标&#xff1f; 布林线BOLL指标(Bollinger Bands)是股市技术分析的常用工具之一&#xff0c;由美国金融分析师John Bollinger根据移动平均线和统计学中的标准差原理于1980年代设计出来。 如上图所示&#xff0c;布林线指标由上、中、下三条轨线组成&#xff0c;…

Python绘制BOLL布林线指标图

写在前面布林线&#xff08;BOLL&#xff09;技术指标简介BOLL公式详解参数设置 用到的主要Python库Python代码&详解参考文献推荐阅读 写在前面 本文代码部分总结自Packt出版社的《Learn Algorithmic Trading - Fundamentals of Algorithmic Trading》&#xff08;图1&…

Boll布林带突破策略

1.策略原理 一个很简单的策略 突破上轨&#xff0c;且Rsi没有超卖时做多&#xff0c;价格回归中轨时平仓 代码&#xff1a; seting {name: BB, symbol: ETHUSDT, kTime: 15m, bb_len: 129, bb_mult: 2.259, rsi_len: 22, rsi_long_min: 15, rsi_long_max: 76, rsi_short_mi…

布林带-BOLL (Bollinger Band)

也叫布林通道。 一般价格的波动是在一定的区间内的&#xff0c;区间的宽度代表价格的变动幅度&#xff0c;越宽表示价格变动幅度越大&#xff0c;越窄表示价格变动幅度越小。 布林带由支撑线(LOWER)、阻力线(UPER) 和中线(MID) 三者组成。 价格突破阻力线/支撑线,表示卖出/买入…

如何利用布林带构建量化交易策略?

布林带之于交易就像莎士比亚之于文学&#xff0c;如果你想在交易世界中留下印记&#xff0c;这非常重要而且很难避免。布林带是一种技术指标&#xff0c;用于以更好的方式分析市场并帮助我们对资产价格做出更好的假设&#xff0c;即资产是否超买或超卖。 布林带实际上由三个波…

量化进阶—— 高胜算交易策略(布林线)

阅读原文&#xff1a;京东量化平台-为投资者提供数据支持、策略开发到策略输出的量化生态服务 京东金融官方资讯QQ群:417082141 有什么想咨询的都可以来询问我们哦 金融投机家保持100笔交易成功率达85%以上&#xff0c;得益于高胜算的趋势交易策略。综合技术应用顾比均线系统、…

【量化交易笔记】6.布林带的实现

上一讲介绍A股移动平均值&#xff08;MA&#xff09;指标&#xff0c;本讲我们来讲解布林布的实现。 布林线&#xff08;BOLL&#xff09;技术指标简介 布林线&#xff08;Bollinger Bands&#xff0c;BOLL&#xff09;又称布林带&#xff0c;是约翰布林&#xff08;John Bol…

Python股票量化学习(3)——简单的策略回测

搞一个简单的交易策略回测&#xff08;难点的我也不会啊&#xff09;。此策略基于布林通道&#xff0c;当股价低于布林通道下轨线且持仓为0时&#xff0c;以下轨线价格全仓买入&#xff08;不关心风险&#xff0c;反正也不要本钱&#xff09;。当股价突破布林线上轨且有持仓时&…

量化交易——布林带策略

一、布林带策略介绍 布林带/布林线/保利加通道(Bollinger Band)&#xff1a;由三条轨道线组成&#xff0c;其中上下两条线分别可以看成是价格的压力线和支撑线&#xff0c;在两条线之间是一条价格平均线。 一般来说&#xff0c;股价会运行在压力线和支撑线所形成的通道中。 与M…

【vn.py】源码解析之布林通道(BollChannel)策略

文章目录 Boll&#xff08;布林线&#xff09;指标CCI&#xff08;Commodity Channel Index&#xff09;指标布林通道策略布林通道策略源码分析1、完整源码2、策略参数与变量3、策略执行逻辑 Boll&#xff08;布林线&#xff09;指标 布林线是一种金融衍生品价格走势图中常用的…

量化交易——传统技术分析布林通道BollingerBands的原理及实现

布林通道 布林通道线是根据统计学的标准差来计算的&#xff0c;其具体可由上中下三条曲线展示。其中上下两线分别代表上升压力线和下降支撑线&#xff0c;故而可以根据K线图是否突破布林曲线来判断较好的买卖节点。三条曲线计算方法如下&#xff1a; 中轨线(MID)收盘价的M日移…

Lyndon的量化修炼之路——布林通道优化策略(二)

策略参数优化 //期市妖风大&#xff0c;小心被刮飞。本文不构成任何实质性建议&#xff0c;也不对任何依此进行的交易结果负责参数优化几乎是优化每一个量化交易策略的必经之路&#xff0c;对于参数优化的基本方法已经在双均线优化策略中介绍过&#xff0c;再次不多做介绍&…

【Python量化】布林带策略

文章目录 一、计算布林带三、构建策略&#xff0c;计算持仓头寸序列和买卖信号序列四、计算策略收益五、绘制交易信号 此文章首发于公众号&#xff1a;Python for Finance 链接&#xff1a;https://mp.weixin.qq.com/s/CJR2gwXkkzFRavZ8I98qdw 布林带&#xff08;BOLL&#x…

Lyndon的量化修炼之路——布林通道优化策略(一)

//期市妖风大&#xff0c;小心被刮飞。本文不构成任何实质性建议&#xff0c;也不对任何依此进行的交易结果负责经过某位大佬的提醒&#xff0c;原来大白有另外的含义&#xff0c;侵权了侵权了&#xff08;原谅我孤陋寡闻&#xff09;&#xff0c;所以还是简单点好。 我也不知…

现货黄金指标精讲(布林通道)

现货黄金的特点在于可以多空双向交易&#xff0c;如果投资者能精通一到两种的技术分析手段&#xff0c;必定能大幅提高交易的成功率。布林通道指标不仅能揭示金价运行的趋势&#xff0c;还能提供清晰的买卖信号&#xff0c;帮助长、中、短线的投资者提高交易决策的质量。 一、布…

布林通道 Bollinger Bands——非炒股向个人学习笔记

有一组数据&#xff0c;大多数是以时间序列的数据&#xff0c;如年、月、日为度量的某指标变化。&#xff08;上图的绿线不用管&#xff09; 布林通道的作用是描述数值的近期波动程度&#xff0c;具体表现就表现在轨道的收窄与拓宽上。 一、基本概念 作图需设定的变量&#x…