KDJ(随机指标,别名 kd):RSV、K/D/J 三线、参数与钝化陷阱
KDJ(随机指标)由 K、D、J 三条线构成,先算 RSV——收盘价在最近 N 日高低区间中的相对位置,再层层平滑得到 K、D,并以 J=3K−2D 放大灵敏度。本文讲清 RSV 与三线的分步算法(带数字示例)、常用参数 (9,3,3) 怎么选、金叉死叉与 J 线钝化在震荡市与趋势市的不同读法、四类常见误用,以及它与 Stoch 在代码里是两个独立注册项这一事实,还有在大斑(Bastix)多智能体投研系统里 KDJ 作为一条可追溯动能证据、而非买卖指令的角色。大斑只做研究、不下单、不连接券商、不承诺收益。
KDJ 是什么
KDJ(随机指标,图表里显示为 KDJ,代码注册真名 KDJ,别名 kd) 是在 George Lane 于 1950 年代提出的随机指标(Stochastic Oscillator)基础上、由中国市场增补 J 线而成的动能指标,在 A 股散户中极为流行。它的核心思路来自 Lane 的一个观察:在上涨行情里,收盘价倾向于收在当日乃至近期区间的高位;在下跌行情里,收盘价倾向于收在低位。 于是,只要看"当前收盘价落在最近一段时间高低区间的哪个位置",就能衡量动能的强弱——贴近区间顶部说明买方强势,贴近底部说明卖方强势。
Lane 这个观察之所以巧妙,在于它避开了"价格绝对高低"这个陷阱:一只股票从 10 元涨到 50 元,你很难说 50 元算高还是算低,但你可以问"今天的收盘价,在最近这段区间里是靠上还是靠下"。这是一个相对的、可归一化的问题,答案永远落在 0~100 之间,因此不同价位、不同股票之间可以横向比较——这也是随机指标家族(含 KDJ、Stoch)能被程序统一读取的算法根基。
它本质上是一个动能指标,而不是价格水平指标。它不告诉你"价格贵不贵",而告诉你"当前收盘价在近期区间里站得高不高、这波动能有多强"。理解这一点,是不误用 KDJ 的前提。
用一个直观的画面理解 RSV(原始随机值)的思路:把最近 N 天的最高价和最低价想象成一个箱子的顶和底,今天的收盘价就是箱子里的一个刻度。收盘价贴着箱顶,说明买方把价格一路顶到了近期高位、动能强;贴着箱底,说明卖方占尽上风。KDJ 全部三条线,追根溯源都是在回答"今天收在箱子的哪一格"这一个问题——只不过 K、D、J 分别对这个答案做了不同程度的平滑与放大。
这里必须澄清一个关键事实:KDJ 和 Stoch(随机指标)在本仓库代码里是两个独立注册项,中文口语里都常被叫作"随机指标",极易混淆。二者同源——都出自 Lane 的随机指标、都用 RSV(原始随机值)打底——但 KDJ 在 Stoch 的 K、D 两线之外,按中国市场习惯多算了一条 J 线(J=3K−2D)。引用时应各用其真名,不要用"随机指标"一个词混指两者。
这个"两个独立注册项"不是文档措辞上的讲究,而是有实际后果的:在图表上添加指标、在证据链里引用某条动能证据时,选 KDJ 还是选 Stoch,得到的线、参数默认值、以及是否带 J 线都不同。把二者当同一个东西随口指代,轻则沟通对不上,重则复盘时把两套读数张冠李戴。本文严格区分二者,正是遵循"每个事物都用它固定真名"的要求。
在大斑(Bastix)的图表体系里,KDJ 是副图(振荡类,画在 K 线下方独立窗口里)指标。它和 RSI 一样属于振荡类动能指标,但两者的算法路子不同:RSI 走的是"平均涨幅比平均跌幅",KDJ 走的是"收盘价在高低箱体里的位置",再叠一条放大的 J 线。这条不同的算法路子,正是 KDJ 比 RSI 更灵敏、也更躁动的来源,后文会反复对照这一点。
怎么算
KDJ 从 RSV 出发,层层派生出三条线:
- RSV(原始随机值,Raw Stochastic Value) = (收盘价 − N 日最低价) / (N 日最高价 − N 日最低价) × 100,默认 N=9。它就是收盘价在最近 9 日高低区间里的相对位置,落在 0~100。
- K 线 = RSV 的移动平滑(默认平滑参数 3,常见做法是 K = 前一日 K 的 2/3 + 当日 RSV 的 1/3)。
- D 线 = K 的再一次平滑(默认平滑参数 3,做法同上,对 K 再平滑一层)。
- J 线 = 3K − 2D。它把 K 与 D 的差距放大,因而最灵敏、波动最剧烈。
所以 KDJ 常写作参数 (9, 3, 3)——分别是 RSV 的回看周期、K 的平滑、D 的平滑。
要理解这三条线的性格,记住一条平滑链就够了:RSV 是最原始、最跳的信号,K 对 RSV 平滑一次、稍微稳一点,D 再对 K 平滑一次、更稳一点,而 J 则反其道而行——它用 3K−2D 把 K 和 D 的差距放大,专门追求"更早、更夸张"。所以同一段行情里,D 最钝、K 居中、J 最跳,三条线像同一个鼓点的三种回声,一条比一条更平缓,唯独 J 是被放大的那一声。
举个具体数字帮助理解。假设某股最近 9 日内:最高价 = 12.00 元,最低价 = 10.00 元,今日收盘 = 11.50 元:
- RSV = (11.50 − 10.00) / (12.00 − 10.00) × 100 = 1.50 / 2.00 × 100 = 75。收盘价站在近 9 日区间偏上的位置,动能偏强。
- 假设昨日 K = 70,则今日 K = 70 × 2/3 + 75 × 1/3 = 46.67 + 25 = 71.67。
- 假设昨日 D = 68,则今日 D = 68 × 2/3 + 71.67 × 1/3 = 45.33 + 23.89 = 69.22。
- J = 3 × 71.67 − 2 × 69.22 = 215.01 − 138.44 = 76.57。
注意 J(76.57)比 K(71.67)、D(69.22)都更靠上、更极端——这就是 3K−2D 放大的效果。如果行情继续单边走强,J 甚至会冲出 100 以上;单边走弱时会探底 0 以下。K 最平缓、D 居中、J 最躁动,是三线的固定性格。
平滑的连锁关系也决定了它们的先后:RSV 最快、K 慢一拍、D 更慢,而 J 因为放大差值反而"抢跑"在最前面。很多人看 KDJ 第一眼看的就是 J 线的拐头。
再用数字延伸一步,看 J 线为什么会冲出 0~100。假设某天行情极强,RSV 打到 100(收盘正好等于近 9 日最高价),经平滑后 K = 92、D = 85,那么 J = 3×92 − 2×85 = 276 − 170 = 106——J 直接越过了 100 的上界。反过来在极弱行情里,RSV = 0、K = 8、D = 15 时,J = 3×8 − 2×15 = 24 − 30 = −6,跌破 0 的下界。这不是计算出错,而是 3K−2D 这个放大公式的固有特性:J 用"越界"来表达动能已经强/弱到极端。正因为如此,J 线是三条线里最先示警、也最容易虚晃的一条。
组成部分与参数怎么选:为什么是 (9,3,3)
- 回看周期 9:约两周交易日,是 RSV 观察高低区间的窗口。周期调短(如 5),KDJ 更贴近价格、拐点提示更早,但噪声更多;调长(如 19),更平滑,但反应更慢、灵敏优势被削弱。这个 9 决定了"箱体"取多长——箱体越短,收盘价越容易贴到近期高低点,RSV 越容易打到 0 或 100 两端,KDJ 因此更躁动。
- K、D 的平滑参数 3:两次平滑各用较小的值,保留了较高灵敏度。平滑值越大,K、D 越钝、越稳;越小越灵敏越吵。常见做法是"三三制"——K 平滑 3、D 平滑 3,正好和回看周期 9 凑成朗朗上口的 (9,3,3)。
- J 线不额外带参数,它固定由 3K−2D 得出,作用就是放大灵敏度——把 K 与 D 之间本来不大的差距乘出三倍,好处是拐点提示最早,坏处是最容易虚晃。也正因为 J 是放大出来的,它天生就会频繁越界(冲上 100、跌破 0),这不是异常而是设计使然,读图时不必大惊小怪。
KDJ 的整体性格是"灵敏优先":拐点提示比 RSI、MACD 都早,代价是震荡市里假信号最多。参数没有普适最优值,追求更稳可整体调大平滑、拉长周期,但那样也就牺牲了 KDJ 存在的意义(灵敏)。需按具体标的与持仓周期验证。
一个直观的对照能说明 KDJ 在指标谱系里的位置:如果把常见振荡指标按"灵敏—稳健"排一条线,KDJ(尤其 J 线)偏在最灵敏那一端,RSI 居中略偏稳,MACD 因为多重 EMA 平滑而偏在稳健端。三者不是竞争关系,而是分工——用 KDJ 抢先发现苗头,用 RSI、MACD 确认趋势成色。理解这条谱系,比纠结"哪个指标最准"有意义得多,因为根本不存在"最准"的单一指标,只有各司其职的证据组合。
这里要点破一个常见的贪心:很多人想把周期调长、平滑调大,好让 KDJ"少骗人一点",同时又指望它保持原来的灵敏。这在数学上是矛盾的——灵敏和稳健是同一枚硬币的两面,此消彼长,不存在两头都占的参数。如果你的策略本来就需要一个稳健的振荡指标,那更合适的选择可能是直接用 RSI,而不是把 KDJ 硬调成一个"钝化版 KDJ"。选指标先于调参数:先想清楚你要的是早提示还是少误报,再决定用谁、怎么调。
信号怎么读
KDJ 常被简化成"金叉买、死叉卖",但它太灵敏,机械照做会被反复打脸。稳妥的读法是把它当观察点而非指令,重点看三类信号,并分清震荡市与趋势市:
在展开三类信号之前,先记住一条贯穿始终的原则:KDJ 的每一个信号都要先问"现在是震荡市还是趋势市"。因为它灵敏、报信号勤,同一个金叉或超买读数,在震荡市里可能是有效的边界提示,在强趋势里却往往是噪声或钝化。跳过这个前置判断直接看信号,是 KDJ 所有误用的共同起点。
这也解释了为什么很多人用 KDJ"越用越亏":他们把它当成了一个不分场合的买卖开关,市场一进入单边趋势,这个开关就开始疯狂发出反向的错误提示。KDJ 不是坏指标,它只是一个需要配套"市况判断"才能安全使用的灵敏工具——脱离这个前提谈 KDJ 的信号,等于拿着一支灵敏的温度计却不看自己站在冰箱里还是火炉边。
- 超买 / 超卖:习惯以 80 以上超买、20 以下超卖(比 RSI 的 70/30 更极端,因为 KDJ 更灵敏),J 线甚至会冲出 0~100 之外。
- 震荡市:价格在区间来回,K、D 触 80 附近回落、触 20 附近反弹相对有效。
- 趋势市:强趋势里 J 线会长期钝化在极值区(见下),此时超买超卖是趋势强劲的证据,不是反转信号。
- 金叉 / 死叉:K 线上穿 D 线为金叉,下穿为死叉。发生在超卖区(20 以下)的金叉、超买区(80 以上)的死叉相对更受关注;但震荡市里金叉死叉一天一变,绝大多数是噪声。
- 一个实用的过滤思路:与其看每一次 K、D 交叉,不如只关注"低位金叉"和"高位死叉"——即金叉最好发生在超卖区、死叉最好发生在超买区,中间地带的交叉基本可以忽略。这能挡掉 KDJ 大量的无效交叉,但仍然不能替代对市况的判断。
- 背离:与 RSI 类似,价格创新高而 KDJ 未创新高(顶背离)、价格创新低而 KDJ 未创新低(底背离),提示动能与价格不同步。但 KDJ 灵敏、毛刺多,它给出的背离比慢指标更容易是假信号,尤其需要和更平滑的指标交叉印证。
- J 线钝化:J 线长期贴在极值区(100 以上或 0 以下)不回头,是强趋势的表现,而非"马上要反转"。把钝化误读成反转信号,是 KDJ 最常见的亏损来源。
把钝化陷阱讲透:KDJ 因为灵敏,比 RSI 更早、更频繁地触及极值区,所以钝化在 KDJ 上尤其常见、也尤其坑人。一轮强势上涨里,J 线可能连续十几个交易日钉在 100 以上,K、D 也长期在 80 上方——新手看到"这么超买了"就急着卖,结果一次次卖飞。在 KDJ 上,越是灵敏地反复报"超买",越要先确认现在是不是强趋势。 灵敏是 KDJ 的长处,但这份长处只有配上"先判断市况"才安全,否则灵敏反而变成频繁犯错的放大器。
一句话:KDJ 描述的是"动能状态",不是"买卖时机"。它换来的灵敏,必须用"分清市况"来驾驭。
常见误用
- 追着每个金叉死叉做:KDJ 太灵敏,震荡市里交叉信号绝大部分是噪声,逐个执行必然被反复打脸、手续费磨损严重。
- 把 J 线钝化当反转信号:J 冲到 100 以上就断定要跌、探到 0 以下就断定要涨。强趋势里钝化能持续很久,逆势操作风险极高。
- 忽视趋势就谈超买超卖:脱离趋势阶段单看 K、D、J 数值。同样是 J>100,在震荡市可能预示回落,在强趋势市却是加速的证据。- 把 KDJ 和 Stoch 混为一谈:以为二者完全一样。它们同源但 KDJ 多了更极端的 J 线,且在代码里是两个独立注册项,混指会造成沟通与复盘上的混乱。
- 在不同周期上混用结论:日线 KDJ 死叉、30 分钟 KDJ 金叉是常态,KDJ 越灵敏,这种跨周期的矛盾越频繁。引用"KDJ 金叉了"却不声明是哪个周期,几乎必然误导。
大斑多智能体系统里,KDJ 扮演什么角色
这是大斑与"把指标当信号灯"的工具最本质的区别。在大斑的多智能体投研系统里,KDJ(以及其余 100 多个技术指标)不是一个会自动触发买卖的信号源,而是技术分析 Agent(技术分析智能体)在形成研究结论时引用的一条动能证据。
- 技术分析 Agent 读取 K/D/J 三线的位置、是否金叉死叉、J 线是否钝化在极值区,把它转述成自然语言判断(例如"J 线已连续四日钝化在 100 以上,KDJ 显示动能极强但属强趋势特征,暂不视为超买卖点,需与更平滑的指标交叉验证"),并标注这是基于哪段行情数据、用 (9,3,3) 这组参数算出来的,纳入可追溯的证据链。
- 这里体现了 KDJ 作为"灵敏动能证据"的独特价值:它能最早提示动能拐点,帮 Agent 更早注意到变化的苗头。但也正因为它灵敏、噪声大,Agent 通常会把 KDJ 与更平滑的指标(如 RSI、MACD)交叉验证,而非单独采信——这恰是多智能体协同、证据互相印证的意义所在。
- 举个协同的例子:KDJ 已在超卖区金叉、抢先给出"可能反弹"的提示,但更平滑的 MACD 柱状图仍在缩短、RSI 还在 40 下方——一条灵敏证据说"要反弹了",两条稳健证据说"动能还没跟上"。此时 Agent 不会因为 KDJ 抢跑就下结论,而是把这份"快指标先动、慢指标未确认"的时间差如实记进证据链,等待更多证据印证。KDJ 的灵敏在这里不是用来抢先下注,而是用来提前把注意力引到某处。
- 这条技术面证据会与基本面、市场情绪等其他 Agent 的判断共同进入研判,而不是单独拍板。K、D、J 被归一化成数字,也让它们的状态更容易被系统一致地记录、比较和复盘。
- 值得一提的是,KDJ 与 Stoch 是两个独立注册项这件事,在系统里也有实际意义:Agent 引用某条随机指标证据时,会明确记下用的是
KDJ(带 J 线)还是Stoch,连同参数一起写进证据链,避免复盘时把两套读数混淆。名字对得上真实事物,是可追溯性的前提。 - 最终大斑产出的是研究结论与目标权重层面的观点,不是"买入 700 股"这种伪精确的成交指令——大斑只做研究、不下单、不连接券商、不承诺收益。
要区分清楚"目标权重"和"成交指令":前者是"这类资产在组合里大约配多少比例"的研究判断,后者是"此刻按某价挂单买多少股"的执行动作。KDJ 作为一条灵敏的动能证据,只参与前者的形成。KDJ 越灵敏、越容易给出"精准拐点"的错觉,就越要警惕不能把它翻译成"就在这一档买入多少股"的伪精确指令——它能承载的信息,到"动能可能在拐头"为止,再往下的精确执行不是它、也不是大斑要做的事。
换句话说:KDJ 在大斑这里的价值,不是"它告诉你何时买卖",而是"它提供一个可被独立质疑、可被重新计算的灵敏动能观测,再由系统与其他证据交叉印证,让研究结论站得住脚"。任何一条结论都能回溯到"哪段行情、用 (9,3,3) 这组参数、算出 K/D/J 各是多少、处在什么市况下",这种可追溯性,配上"灵敏但需交叉验证"的定位,正是把 KDJ 当"证据"而非"信号灯"的落脚点。
也正因为 KDJ 灵敏、最容易让人产生"精准拐点"的错觉,把它约束成一条可追溯、需交叉印证的证据,就显得尤其必要——越是看起来"神准"的单一信号,越需要被放回证据链里接受质疑,而不是被直接当成动手的理由。这既是对使用者负责,也是大斑"只做研究、不下单、不承诺收益"这条底线在指标层面的具体落地。
常见问题
(见上方 FAQ;本节与页面结构化数据同源。)
参考来源
- Stochastic Oscillator — George Lane 随机指标定义与 %K/%DInvestopedia(技术分析词条) · 支撑:RSV/随机值算法、%K 与 %D 平滑构成,KDJ 据此增补 J 线 · 访问日期:2026-08-19
- 随机指标超买超卖(80/20)与金叉死叉的通行解读Investopedia(技术分析词条) · 支撑:80/20 超买超卖阈值、K 上穿/下穿 D 的金叉死叉与强趋势钝化的通行表述 · 访问日期:2026-08-19
一目均衡表(Ichimoku Kinko Hyo,云图):五线一云的完整原理、参数与信号
一目均衡表(Ichimoku,日文原名 Ichimoku Kinko Hyo,一眼看清均衡的图表)由转换线、基准线、先行A、先行B、迟行线五条线,加上先行A与先行B之间填充出的"云"(Kumo)组成。本文逐一讲清五条线怎么算、云在价格上方/下方/内部各代表什么、默认参数(转换 9、基准 26、先行B 52)的来历,以及在大斑(Bastix)多智能体投研系统里技术分析 Agent 如何把云图当作一条证据、而非买卖指令。大斑只做研究、不下单、不连接券商、不承诺收益。
MACD(指数平滑异同移动平均线,MACD/DIF/DEA):算法、金叉背离与参数
MACD(Moving Average Convergence Divergence,指数平滑异同移动平均线)由快慢两条 EMA 相减得到 DIF,再对 DIF 平滑得到 DEA,二者之差构成红绿柱状图,用来刻画趋势动能的增强与衰减。本文讲清 DIF、DEA、柱状图三者怎么一层层算出来(带数字示例)、常用参数 12/26/9 为什么这么取、金叉死叉/零轴/背离在震荡市与趋势市的不同读法、四类常见误用,以及在大斑(Bastix)多智能体投研系统里技术分析 Agent 如何把 MACD 当作一条可追溯的动能证据、而非买卖指令。大斑只做研究、不下单、不连接券商、不承诺收益。