KDJ:A 股散户最爱的指标,回测告诉你真相

青 青柠量化
2026-10-14
KDJ三条规则:低位金叉扣成本后超额+0.36%,任意金叉接近打平。

一句话结论:KDJ 低位金叉有一点超额,但很小。全 A 股近一年,K 在 20 以下上穿 D 后持有 20 天,跑赢全市场 0.51%,扣成本后只剩 0.36%。任意金叉扣成本后接近打平。散户最爱的「金叉就买」,近一年选不出多少优势。

第 25 课的 RSI 看涨跌日谁占上风。KDJ 换一把尺子:收盘价在最近几天高低点之间的位置,再平滑成三条线。A 股行情软件几乎都有它。

KDJ三条规则:低位金叉扣成本后超额+0.36%,任意金叉接近打平。
KDJ三条规则:低位金叉扣成本后超额+0.36%,任意金叉接近打平。

一、原理和公式

KDJ 是随机指标的 A 股变体。先看收盘在近 9 日高低区间里的位置,再平滑:

线公式
RSV(收盘 − 9 日最低) ÷ (9 日最高 − 9 日最低) × 100
K前一日 K × 2/3 + 当日 RSV × 1/3,初值 50
D前一日 D × 2/3 + 当日 K × 1/3,初值 50
J3K − 2D

青柠组件说明里写的是 SMA,引擎实际用的是上面这种递推,和通达信、同花顺一致。区间为 0 时 RSV 取 50。J 线没有 0–100 的边界,可以小于 0 或大于 100。

教材用法:K 在 20 以下上穿 D 是金叉,K 在 80 以上下穿 D 是死叉。青柠默认 9 / 3 / 3。


二、青柠数据实验 1:金叉有没有用

全 A 股最近一年(2025-10-14 至 2026-10-14)。信号日收盘确认,第二天开盘买入,持有 20 天。

规则信号次数20 天收益胜率20 天超额扣 0.15% 成本后
K 上穿 D 且 K < 2017,438+1.20%48.9%+0.51%+0.36%
K 上穿 D(任意位置)101,951+0.78%46.6%+0.22%+0.07%
K 下穿 D 且 K > 806,291+0.25%43.7%+1.12%+0.97%

低位金叉比任意金叉好一截,但扣成本后只有 0.36%。一年里每只股票大约金叉 20 次,绝大多数发生在中间区域,那些金叉没有选股优势。

高位死叉绝对收益最低(+0.25%),相对全市场却最好(+1.12%)。和 RSI 超买一侧类似:强势股自己没怎么涨,同一天别的股票更差。把它当卖点,近一年会卖在相对不差的股票上。


三、K 值分桶

每天按当日 K 值分组,不是交叉:

K样本数20 天收益20 天超额
低于 20199,387+0.69%+0.13%
20 ~ 50458,312+0.62%+0.01%
50 ~ 80422,587+0.49%−0.15%
高于 8093,686+0.30%+0.35%

不是「K 越低越好」。低于 20 略有超额,高于 80 的超额还更高。中间两档占大多数,接近打平或略负。

牛市里低位金叉 15,611 次,20 天超额 +0.35%,扣成本后 +0.20%。熊市窗口短、很多信号凑不齐 20 天,不单独当结论。


四、常见误区

「KDJ 金叉就是买点」
任意金叉一年 10 万次,扣成本后超额 +0.07%。没有低位过滤,等于没过滤。

「高位死叉该逃顶」
绝对收益弱,相对全市场却是三组里最好的。近一年不是干净的卖点。

「软件里的 SMA 和回测对不上」
青柠引擎按 2/3 + 1/3 递推,和国内看盘软件一致,不是三根等权平均。


在青柠中实操

  1. 1. 量化策略 → + 新建策略,在 指标 → 动量 里拖入 随机指标KDJ,周期 9 / 3 / 3。
  2. 2. 用 金叉/上穿,快线选 K线、慢线选 D线。
  3. 3. 再加 区间判断:K 线 低于 20。用 全部满足 (AND) 接到 入场信号。
  4. 4. 用 批量回测 对照「任意金叉」和「低位金叉」,看过滤之后笔数和超额差多少。
策略库回测 · 沪深A股 · 近 1 年日 K · 默认参数 更新于 2026-09-11 19:02 · 每日重算
# 策略 类型 年化收益 夏普 最大回撤 胜率 评级
01 左侧趋势抄底·急跌收阳 趋势 +1.3% 0.85 16.4% 83% A 导入复现
02 MACD金叉死叉 趋势 +0.9% 0.08 20.8% 35% PRO 导入复现
03 RSI超买超卖 震荡 +0.8% 0.23 30.8% 45% PRO 导入复现

更多策略可以在青柠策略市场查看。下一课(第 27 课)看 KDJ 的原版:STOCH。


常见问题

KDJ 和 STOCH 差在哪?
都是收盘在高低区间里的位置。KDJ 默认 9 日、递推平滑、多一条 J 线;STOCH 默认 14 日、真用 SMA。下一课对着比。

J 线小于 0、大于 100 有用吗?
J 只是放大 K 和 D 的差距。本课主规则看 K、D 交叉,没有单独测 J。

为什么金叉这么多?
K、D 贴在一起时会反复交叉。一年任意金叉超过 10 万次,大部分是噪音。


口径说明

股票池为全 A 股,排除 ST(按当前名称)和北交所,剔除未复权收盘价低于 3 元的股票,价格后复权;信号日 2025-10-14 至 2026-10-14,共 4,959 只股票、243 个交易日。KDJ(9,3,3) 按引擎递推:K、D 初值 50,系数 1/3,个股截断到最近 60 根 K 线。金叉定义为前一日 K 不高于 D、当日 K 高于 D。信号日收盘确认,次日开盘买入,持有至第 20 个交易日收盘;次日一字涨停剔除。超额收益 = 信号股票收益 − 同日股票池全部股票同口径平均。个股每笔来回成本 0.15%。牛熊按沪深 300 收盘相对其 250 日均线划分。本课只用最近一年。数据由青柠量化回测数据库计算。历史统计不代表未来表现,不构成投资建议。

读到这里,不如自己验证一次

文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。

免费下载客户端

写下你的看法

邮箱仅用于回复通知,不会公开。