一篇文章让你彻底搞懂量化中RSI指标,附实战策略+附源码,建议收藏

今天咱们来聊一个技术分析圈里永远绕不开的大明星------RSI,相对强弱指标(Relative Strength Index)。你也许听过"RSI高于70是超买、低于30是超卖",但说实话,要是真把RSI就这么拿来用,那交易账户八成是要出事的

今天这篇,我不止告诉你RSI是啥,更重要的是带你深入搞懂它背后的逻辑,顺手给你整点实战思路和代码实现,还加点我个人用下来的心得。聪明的你一定会发现,RSI远不止表面那点东西。

RSI的诞生:不是炒股的出身,却搞出了神级指标

很多人一提RSI,就说"这不就是个超买超卖指标嘛"。但你知道吗,这玩意儿的创始人最开始根本不是搞金融的,他是干房地产的。

这个人叫 Welles Wilder,原本在地产圈混得风生水起,和两个合伙人把房子一通开发,项目赚了大钱。然后呢?他一拍屁股就把股份卖了,潇洒退休,年仅38岁......是不是有点爽过头了?

你可能在想:退休了干嘛?玩高尔夫?环游世界?不,他开始炒期货。

那时候,他啥也不信,自己学技术分析,结果一看------哎哟,这些工具怎么这么水啊?!没办法,只能亲自动手造轮子,自己搞指标。于是,RSI就这样诞生了。

听着是不是有点"理工男中年转型"的味道?其实还真是。他本身是工程师出身,动手能力一流,一上来就搞出了RSI、ADX、ATR......个个都是现在技术分析圈的老大哥。

RSI,全名"相对强弱指标",它其实不是告诉你股价高不高,而是看它最近涨得有多猛 or 跌得多狠。简单说,就是自己和自己比,看走势到底是"健康"还是"虚胖"。

聪明的你一定会发现,这种"自我比较"的方式其实更靠谱------因为它不会被"绝对价格"误导,真正衡量的是动能

但话又说回来,RSI再强也不能单独用。你要真啥都靠它,那跟买彩票也差不多了。技术指标永远是辅助判断的工具,要跟量能、价格结构、趋势一起搭配着看,才是真正的交易"组合拳"。


RSI怎么算?别一上来就调库,先用脑子算一遍才是王道

说到RSI,很多人第一反应是:"这个不就是 TA-Lib 里一行代码就能搞定的东西吗?" 没错,但你真要靠它做策略,先别着急写代码,得先用手(脑子)算一遍。 你不理解它的底层逻辑,结果就是盲信信号,然后被市场一顿教育。

你可能在想:计算 RSI 到底复杂不复杂?

其实啊,一点都不复杂,就是看你最近涨得多还是跌得多,然后做个比值判断一下谁厉害。

我们来举个例子(真实数据,贵州茅台的):

时间区间:2025年1月2号到2月14号

第一列是每天的收盘价(Close) 然后咱们干嘛?对,拿当前的收盘价去减前一天的收盘价,看涨了还是跌了,这就得到第二列"Change"。

比如说:

  • 1月3号:1494.5 - 1524 = -29.5
  • 1月6号:1453 - 1494.5 = -41.5

这就是每天的变化值,涨是正的,跌是负的,记在"Change"这一列。

接下来要做的事有点像记账:涨的算一类,跌的算一类

  • 如果那天涨了,就把涨幅记录到"Gain"列,Loss 记 0;
  • 如果跌了,就把跌幅(取绝对值)记到"Loss"列,Gain 写 0。

比如:

  • 1月3号跌了 -29.5,那Gain列写 0,Loss写 29.5;
  • 1月9号涨了 8.99,那Gain列写 8.99,Loss写 0。

聪明的你会发现,这一步其实就是把涨跌拆开来处理,而不是混在一起。

然后就进入正题了

第一步是"简单平均",也就是你熟悉的 average:

比如 1月3号到1月22号 这14天,所有Gain加起来,除以14,得出 初始的平均涨幅 Avg Gain。Loss也一样搞。

  • Gain加起来 = 92.6,除以14 ≈ 6.61
  • Loss加起来 = 153.33,除以14 ≈ 10.95

然后进入下一天(比如1月23号),我们开始用一个更有意思的公式:指数移动平均

text 复制代码
新 Avg Gain = (前一日 Avg Gain * 13 + 今日 Gain) / 14

是不是有点像 EMA 的感觉?对的,就是更"偏向最近"的加权思路。

比如:

  • 昨天(1月22号) Avg Gain 是 6.61,今天(1月23日)没涨(0),那今天的 Avg Gain = (6.61 * 13 + 0) / 14 ≈ 6.14
  • 同理算 Avg Loss = (10.95 * 13 + 13.3) / 14 ≈ 11.12

这样就得到了Avg Gain和 Avg Loss

接下来就到了计算RS和RSI了,公式很简单:

text 复制代码
RS = Avg Gain / Avg Loss  
RSI = 100 - (100 / (1 + RS))

代入:

  • RS = 6.61 / 10.95 ≈ 0.6
  • RSI = 100 - (100 / (1 + 0.6)) ≈ 37.65

你看,是不是一套逻辑跑下来,心里就明明白白的了?

RSI值真的这么神?你天真了

你可能已经迫不及待想说:"行了花姐,别讲理论了,我就想知道怎么用。"先等等。

RSI之所以流行,不光是因为计算逻辑清晰,更重要的是它有固定范围:0 ~ 100 这让判断"过热"or"过冷"变得超级直观:

  • RSI > 70:超买
  • RSI < 30:超卖
  • RSI ≈ 50:中性、震荡

BUT!

我得提醒你------这个70/30的"神线"很多时候是会失效的!

比如下面这个股票,RSI已经70了,结果股票过了几天反而大涨了,如果你卖了就等着后悔吧!

所以千万记住一句话:

RSI 是提示,不是信号。

别拿它当"指令",要结合趋势、量能、结构来看。会用的人,它是锦上添花;不会用的人,它是陷阱警报器。


用Python画出RSI,其实比你想的还要简单

说实话啊......前面手动算 RSI 那一套流程,很多人脑袋都快转晕了。

不过,聪明的你应该也想到了一句话:"人和动物最大的区别就是人会用工具"

是的,到了我们量化这行,只要你有Python,基本没有搞不定的事。接下来花姐就带你用一段小而美的代码,直接把贵州茅台从2023年到2025年的RSI指标给画出来,价格+指标,图一眼看清

代码如下:


RSI怎么用来实战?策略才是灵魂!

很多人一听说RSI,就只知道"上70卖、下30买",但其实这只是冰山一角。真懂的人都知道,RSI是可以做"结构分析"的工具,不只是个买卖信号。

接下来讲讲实战中用得最多的三种RSI策略: 👉 看趋势

👉 抓背离

👉 识形态(比如W底、M顶)

每一种方式,都可以写成策略、跑出信号,甚至还能拿去训练模型当特征输入。下面我一个个讲。

一、RSI怎么看趋势?

你可能在想:"RSI > 70 就是过热,那是不是趋势要结束了?" 但实际上,一个真正的强趋势,是可以让RSI一直粘在70以上的

我给你讲个更稳的思路:

用RSI区间判断趋势强度,而不是单点判断买卖点。

比如说,我们可以设定:

  • RSI 持续在 66.6 以上:牛市情绪强
  • RSI 没破33.3:哪怕短期回调,大趋势还是偏多
  • RSI在中间徘徊(33~66之间):大概率是震荡区

你看懂了吧?我们不是用它来抓拐点,而是看"市场到底是偏强,还是偏弱"。

二、RSI还能当成支撑/阻力

很多人以为 RSI 只是一个数字,哪有什么结构?其实你只要把 RSI 抽成一条线来看,它就和价格一样,有"趋势""突破""回踩"。

我做过这样的玩法:

  • 把 RSI 的高低点连接起来,画出一条趋势线
  • 一旦 RSI 突破趋势线,很多时候,价格也即将突破关键位置

你试试看,把RSI值当成一张独立图表处理,画出斜率、支撑、阻力线,再观察是不是"先动RSI、后动价格"------你会发现,这个信号真比价格图准多了!

不过话说回来,一定要确认是"真突破",不是那种"抽风一下就拉回去"的假动作。 所以啊,用眼看,用脑判,这才是人类交易员的操作方式~

三、RSI背离:预判价格反转的秘密武器!

这个玩法,我真的是越用越香。你知道啥叫"顶背离""底背离"吗?

简单说:

  • 价格创新高,RSI却没新高 ,叫顶背离(多头动能减弱)
  • 价格新低,RSI却没创新低 ,叫底背离(空头动能减弱)

背离发生的那一刻,往往是市场即将反转前的一丝预兆。

比如有一段时间,某只股天天收涨,但涨幅越来越小,RSI慢慢降。你看着它天天涨,其实动能已经在泄气了------聪明的人这时候就已经开始准备减仓甚至反手做空了。

反过来也一样:价格跌得惨,但 RSI 悄悄抬头。这个时候,筹码已经开始松动,说不定下一波反弹就来了。

当然啦,不是每一次背离都一定灵验,但起码它是个提醒:情绪和价格不再同步了,该警惕了!

四、RSI还能看出W底和M顶

我知道有些同学特别喜欢图形------什么头肩顶、三角形、箱体、楔形......今天咱就说说RSI里能看到的两个经典结构:

RSI W底(双底)

怎么认?

  1. RSI先跌破30(超卖),然后反弹
  2. 再次回踩,但这次没破30
  3. 然后快速拉升形成"W"形

这个结构往往暗示:底部确认,反弹有效,市场将走强

RSI M顶(双顶)

这个结构就是反过来:

  1. RSI先冲上70,超买
  2. 回落后再次试图突破,但没过前高
  3. 然后大幅回落,形成"M"形

这是头部构建的信号,市场要转空啦!


RSI策略实战篇:说得再多,不如跑个回测试试!

前面讲了这么多理论,你可能在想------

"行吧花姐,你说得头头是道,那到底能不能赚钱?有没有实战结果?"

我就知道你要问这个😉

所以接下来咱们不讲废话,直接上策略,写代码跑回测,看收益图说话!

策略逻辑很简单:

👉 当 RSI 从下往上突破30,买入 👉 当 RSI 从上往下跌破70,卖出

是不是特别朴素?对,就是"低买高卖"的模板。虽然听起来有点"老派",但在震荡行情里效果往往非常稳。

好,直接贴代码,回测全流程搞定!


RSI策略到底行不行?

说实话,这种简单的"RSI进出场逻辑"在震荡市场里,还是蛮靠谱的。

它的优点是:

  • 回撤小(不追高,不杀跌)
  • 持仓时间短(比较灵活)
  • 易于理解和优化(比如你可以把30换成20、70换成80做更极端信号)

缺点也很明显:

  • 强趋势行情吃不到肉(比如牛市一路涨,你RSI>70就卖了,后面几十个点你全错过)
  • 容易在区间震荡里打酱油(信号频繁但不明显)

所以我通常怎么用它?

把这个策略作为"辅助因子"嵌入更大的组合策略里,比如搭配MACD、布林带、量能拐点、价格结构判断等,做一个"多信号确认",这样信号才不容易失真。

今天关于RSI的分享就到这里了。 如果你喜欢花姐欢迎关注花姐的公众号:《花小姐的春天》

相关推荐
nightunderblackcat2 分钟前
进阶向:Python图像处理,使用PIL库实现圆形裁剪
开发语言·图像处理·python
站大爷IP5 分钟前
动态HTTP隧道代理IP:从配置到实战的完整指南
python
婪苏16 分钟前
Python 面向对象(二):继承与封装的深度探索
后端·python
Q_Q51100828538 分钟前
python的小学课外综合管理系统
开发语言·spring boot·python·django·flask·node.js
通域1 小时前
Mac (m1) Java 加载本地C共享库函数 .dylib 函数 Unable to load library ‘liblicense‘
java·python·macos
weixin_443290691 小时前
【脚本系列】如何使用 Python 脚本对同一文件夹中表头相同的 Excel 文件进行合并
开发语言·python·excel
chao_7892 小时前
动态规划题解——乘积最大子数组【LeetCode】
python·算法·leetcode·动态规划
倔强青铜三2 小时前
苦练Python第20天:Python官方钦定的代码风格指南
人工智能·python·面试
倔强青铜三2 小时前
苦练Python第19天:断言与自定义异常
人工智能·python·面试
荷蒲2 小时前
【小白量化智能体】应用5:编写通达信股票交易指标及生成QMT自动交易Python策略程序
开发语言·python