← 返回目录
p2.2动手⏱ 约 16 分钟

动量指标:RSI 与 KDJ

三句口诀,一句反了、一句弱、一句方向也反

🔎 最后验证 2026-07📚 来源:实现分歧与三句口诀的统计审判于 2026-07-31 在 ECS 实测(50 只沪深300 成分股,2010-01-04~2026-07-29),输出见 code/outputs/stdout.txt🧰 pandas 3.0.5、scipy 1.18.0、numpy 2.5.1
为什么学这个

「RSI 超过 70 是超买,该卖了。」

这句话你一定听过。我们用 50 只标的、3167 次信号检验它:

持有期RSI 上穿 70 后的收益基准差值p 值
10 日+1.565%+0.558%+1.008pp0.0000

方向完全反了。RSI 上穿 70 之后,未来收益在全部 6 个持有期上都显著为正——超买之后不是跌,是继续涨。

这一节审判三句口诀,顺便回答一个更基础的问题:你说的 RSI(14),和我说的 RSI(14),是同一个东西吗?

💡 打个比方

"跑得越快的人越容易摔倒"——听起来很有道理,而且每次真有人摔倒时,这句话都会被再传播一次。

但如果你去数一数:跑得快的人里摔倒的比例,和所有人里摔倒的比例,到底哪个高?

口诀的生命力来自它被记住的次数,不是它被验证的次数。

一、先问一个更基础的问题:你的 RSI 是哪个 RSI

RSI 的原始定义用 Wilder 平滑(等价于 α=1/n 的 EMA)。但很多实现直接用简单移动平均。实测这两种写法的差异:

RSI(14) Wilder 平滑 vs 简单均值:
  平均绝对差 6.72 点 | 最大 52.65 点 | 超过 5 点的天数 2275
  「上穿 70」的次数:Wilder 54 次 vs 简单均值 144 次(差 90 次)

同一个标的、同一个参数,信号次数差 2.7 倍。

⚠️ 避坑

"我用 RSI(14)"这句话,信息量比你以为的小得多。

平均差 6.72 点意味着:一个说"现在 RSI 是 68,还没超买",另一个说"现在 75,已经超买了"——两人看的是同一天的同一只标的

所以:先说清平滑方式,再谈参数。否则你们讨论的根本不是同一个指标,而这种分歧在聊天里永远暴露不出来——只会在你复现别人的策略、结果对不上时,浪费你两天。

二、口诀一:RSI 上穿 70 = 超买该卖

若口诀成立,信号后收益应显著为负。实测(3167 次信号):

持有期信号后均值基准均值差值t 值p 值
1 日+0.250%+0.055%+0.195pp3.350.0008 *
3 日+0.580%+0.167%+0.413pp3.930.0001 *
5 日+0.766%+0.280%+0.485pp3.650.0003 *
10 日+1.565%+0.558%+1.008pp5.170.0000 *
20 日+2.294%+1.128%+1.166pp4.210.0000 *
60 日+4.359%+3.432%+0.926pp2.210.0272 *

六个持有期,全部显著,全部为正。

口诀说"超买该卖",数据说"超买之后继续涨"。而且这不是勉强显著——10 日的 t 值 5.17,幅度 +1.008pp,远大于 p2.1 金叉那 8.4bp 的量级

这个现象在学术上叫动量效应:短中期内,强者恒强。它和"均值回归"的直觉正好相反,而口诀站在了直觉那一边。

🔧 动手做:换一种 RSI 平滑,信号次数从 54 变 144(5 分钟)

python momentum_indicators.py,对比 RSI 的两种平滑:Wilder 平滑 vs 简单均值。

你会看到(实测):两种 RSI 平均绝对差 6.72 点、最大 52.65 点;而"RSI 上穿 70"的信号次数,一种是 54 次、另一种是 144 次——差近 3 倍。

想明白:"RSI 上穿 70 该卖"这句口诀听着确定,但连它触发几次都取决于你用哪种 RSI。指标名一样、口径不同,结论就能差 3 倍。任何基于指标阈值的规则,先问:这个指标是怎么算的?口诀是别人在哪种口径下总结的?

三、口诀二:RSI 下穿 30 = 超卖该买

持有期差值p 值
1 日-0.100pp0.0664
3 日+0.050pp0.6092
5 日+0.245pp0.0400 *
10 日+0.420pp0.0069 *
20 日+0.619pp0.0025 *
60 日-0.172pp0.6329

这一条部分成立,但很弱且不稳:1 日甚至是负的(接近显著),3 日不显著,5–20 日显著为正,60 日又转负。

诚实的读法:这不是一个稳定的结论,是一段在中间几个持有期上碰巧显著的曲线。如果一个效应真实存在,它通常不会这样忽正忽负。

四、口诀三:KDJ 的 J 值下穿 0 = 极度超卖

持有期差值t 值p 值
1 日-0.090pp-2.920.0035 *
3 日-0.117pp-2.110.0351 *
5 日-0.041pp-0.600.5462
10 日-0.163pp-1.720.0857
20 日-0.058pp-0.440.6626
60 日-0.018pp-0.070.9425

口诀说"极度超卖,该反弹"。数据说:短期继续跌(1 日、3 日显著为负),之后归于无。

又是一次方向相反。

五、把三条口诀放在一起看

口诀民间说法数据说
RSI > 70超买该卖显著继续涨(6/6 显著)
RSI < 30超卖该买弱、不稳(1 日反而为负)
J < 0极度超卖该反弹短期继续跌

三条口诀,两条方向完全相反,一条不稳定

它们有一个共同的错误来源:都假设价格会向"正常水平"回归。而实测反复指向另一个方向——短中期内,趋势倾向于延续

这个结论会在下一节被再次印证:布林带的"上轨突破买入"(趋势派)与"上轨超买卖出"(回归派)两种相反解读,数据站在趋势派那边。

而在 p2.5,你会看到这三个"独立"指标其实高度同源——RSI6 与布林带位置的相关系数是 0.942。它们反复给出同一个结论,不是因为互相印证,而是因为它们本来就是同一个东西的不同写法。

⚠️ 避坑

别把这一节读成"反着做就能赚钱"。

"RSI 上穿 70 后 10 日 +1.008pp" 是一个统计事实,不是一个可交易策略。中间还隔着:

  • 交易成本(p0.2 的死亡线:单边 18.8bp)
  • 容量与冲击(P5.7)
  • 参数与样本的选择偏差(本节口径固定,但"70"这个阈值本身是口诀给的)
  • 多重检验:本节 3 条口诀 × 6 个持有期 = 18 次检验,按 5% 水平纯随机也会出现约 0.9 次"显著"

+1.008pp 的幅度确实大到值得进一步研究,但"值得研究"和"可以拿钱去做"之间,还有 P5 整章的距离。

❓ 测验
同事说他的 RSI(14) 显示 75、已经超买,你的显示 68、还没超买。数据源、日期、标的都一样。最可能的原因?
✏️ 填空
RSI 的原始定义使用 ___ 平滑(等价于 α=1/n 的 EMA),而很多实现用的是简单移动平均。

📌 免责:本课为技术教学,所有统计为历史模拟,不构成投资建议,更不构成任何买卖时机的建议;标的为沪深300 成分股按代码序取样,非精选。

✅ 小结

三句口诀的审判结果:

  • RSI > 70 该卖 → 实测 6 个持有期全部显著为正,10 日 +1.008pp(t=5.17)。方向反了
  • RSI < 30 该买 → 弱且不稳,1 日为负、5–20 日为正、60 日又转负
  • J < 0 该反弹 → 短期显著继续跌方向也反了

加上一条基础纪律:先说清平滑方式,再谈参数——Wilder vs 简单均值,同一标的的"上穿 70"次数差 2.7 倍。

下一节是布林带的对决:同一个"上穿上轨",趋势派说买入、回归派说卖出。两种解读同时流传多年,而它们不可能同时对。数据会给出裁决——而且裁决方向,和这一节完全一致。

下一节 → 波动指标:ATR 与布林带,两种相反解读的对决
🔎 来源与核验· 4 条,点开核对
本节每个关键论断都对应一个可追溯的来源 —— 这是本课程"靠谱、不过时"的底线。
「RSI(14) Wilder 平滑 vs 简单均值:平均绝对差 6.72 点,最大 52.65 点,差异 >5 点的天数 2275;「上穿 70」次数 54 vs 144」
📚 本节 code/momentum_indicators.py,2026-07-31 于 ECS 实测(沪深300 指数 2010-2026),输出见 code/outputs/stdout.txt✓ 已核验 2026-07
「RSI 上穿 70 后(3167 次信号,50 只标的):1/3/5/10/20/60 日差值分别为 +0.195/+0.413/+0.485/+1.008/+1.166/+0.926pp,p 值分别为 0.0008/0.0001/0.0003/0.0000/0.0000/0.0272,全部显著为正」
📚 同上实测(Welch t 检验,基准为全样本同期收益)✓ 已核验 2026-07
「RSI 下穿 30 后:1 日 -0.100pp(p=0.0664)、5 日 +0.245pp(p=0.0400)、10 日 +0.420pp(p=0.0069)、20 日 +0.619pp(p=0.0025)、60 日 -0.172pp(p=0.6329)」
📚 同上实测✓ 已核验 2026-07
「KDJ 的 J 值下穿 0 后(6814 次信号):1 日 -0.090pp(p=0.0035)、3 日 -0.117pp(p=0.0351),其余持有期不显著」
📚 同上实测✓ 已核验 2026-07
本节共 3 条口诀 × 6 个持有期 = 18 次检验,按 5% 水平纯随机约出现 0.9 次「显著」;多重检验校正见 P3.4。统计显著不等于可交易。
智图软件的赞赏码
都看到这了,打个赏呗!
接下来 · p2.3
波动指标:ATR 与布林带
继续读下一节 →