什么是 RSI?一句话说清它的作用
相对强弱指数(Relative Strength Index,RSI)是一种 动量震荡指标,用来衡量资产价格变动的速度与幅度,从而提示 超买、超卖 乃至 反转 的可能性,是构建 RSI 交易策略 的核心基石。
指标起源:从机械工程师到金融巨星的转变
1978 年,J. Welles Wilder 在其著作 “New Concepts in Technical Trading Systems” 中首次发布 RSI。目标是解决“何时进出场”时机难题。经过 40 余年实战,RSI 已成为交易者渗透率最高的 动量指标 之一,通用于股票、外汇、商品、债券等多市场。
数学原理拆解:一份小学算数就能读懂的公式
核心公式:
RSI = 100 – [100 / (1 + RS)]
RS = 平均上涨幅度 / |平均下跌幅度|
- 默认周期:14(可自定义 9、21 等)
- Wilder 使用的是 指数平滑移动平均(EMA),比普通 EMA 更滞后,能有效降噪,但也可能错过极端行情。
提示:Python 部分我们将演示如何一键改动 平滑方式,马上体验二者差异。
读懂 RSI 盘面语言:关键阈值与误区澄清
- 超买区:> 70(部分行情软件设为 75)
- 超卖区:< 30(极端单边行情下可能长期漂浮在 20 以下)
⚠️ 谨记:单凭“>70 就卖、<30 就买”容易 高买低卖。
最安全的做法是把 RSI 与均线、成交量、形态组合 使用,或用背离提高胜率。
买入 & 卖出信号:三招实战用法
1. 传统阈值法
- 买入:RSI 从 30 下方 上穿 30——潜在超卖反弹
- 卖出:RSI 从 70 上方 下穿 70——潜在超买回落
2. RSI 背离策略
- 顶背离:价格创新高,RSI 却创低高点 → 看跌
- 底背离:价格创新低,RSI 却创新高低点 → 看涨
3. RSI Swing Rejection(摆动拒绝)策略
把 50 作为多空分水岭:
- 正反转(买入):RSI 下穿 50→回上50→再次下破50→最终再上穿50
- 负反转(卖出):RSI 上穿 50→回下50→再次上穿50→最终下破50
这种 锯齿过滤 可剔除噪音,提高顺势持仓信心。
进阶:Python 14 行代码生成专业级 RSI 图
下面脚本仅需安装 yfinance
, pandas
, mplfinance
,即可对任何股票自动绘图并标注背离。
Step 1:环境准备
!pip install yfinance pandas mplfinance
Step 2:定义 RSI 计算函数
import yfinance as yf, pandas as pd, mplfinance as mpf, matplotlib.pyplot as plt, numpy as np
def calculate_rsi(data, n=14):
delta = data['Close'].diff()
up, down = delta.clip(lower=0), -delta.clip(upper=0)
avg_up = up.ewm(span=n, adjust=False).mean()
avg_dn = down.ewm(span=n, adjust=False).mean()
rs = avg_up / avg_dn
rsi = 100 - (100 / (1 + rs))
return rsi
Step 3:下载 & 绘图
data = yf.download('META', '2022-07-01', '2023-07-01')
data['RSI'] = calculate_rsi(data, 14)
data['Mid'] = 50
ap = [
mpf.make_addplot(data['RSI'], panel=2, color='royalblue', ylabel='RSI'),
mpf.make_addplot(data['Mid'], panel=2, color='grey', linestyle='--')
]
mpf.plot(data, type='candle', style='yahoo', addplot=ap, volume=True,
panel_ratios=(6,1,2), title='META RSI Demo', figratio=(10,6))
运行后你会在第二子图看到 蓝色 RSI 线与中轴 50 水平线。把光标挪到 2023 年 2 月即可肉眼捕捉一次熊背离——价格上升,而 RSI 高点下移,后续回撤 28%。
如何用 RSI 进行股票筛单
把 calculate_rsi
封装成批量任务,可实时扫描 A 股、美股或加密市场:
过滤条件示例
- RSI < 30 且底背离
- 最近 5 根 K 线 RSI 上破 50,且成交量放大 1.5 倍
把触发结果写入 CSV 或推送到钉钉、Slack,量化效率立刻翻倍。
👉 看 2 分钟视频,学会 5 种 RSI 进阶筛单模板
RSI 不是万能:优点 & 缺点总结
优点 | 缺点 |
---|---|
简单直观,新手 5 分钟掌握 | 单边极端行情易持续钝化 |
跨市场通用 | 需量价或形态二次确认 |
可构建量化策略 & 筛单器 | 周期选择因人而异,需要回测优化 |
常见问题 FAQ
Q1:把周期改成 9 与 21 哪一个更好?
A:短周期(9)更灵敏,适合日内和短线;长周期(21)滤噪强,适合波段与日线级别。建议先回测 3 年数据,观察最大回撤与夏普比率再决定。
Q2:加密市场 7×24 小时交易,RSI 还适用吗?
A:适用,但要根据交易深度和波动性微调阈值。高换手主流币可参考 30/70,低流动山寨币可放宽到 25/75,以避免频繁假信号。
Q3:MACD+RSI 双指标共振策略怎样写?
A:在 Python 中先计算 MACD 快慢线及柱状图,再设置条件:
- 金叉 + RSI 上破 50 → 开多
- 死叉 + RSI 下破 50 → 开空
利用np.where()
一次生成信号列,回测绩效通常优于单指标。
Q4:手机软件上的 RSI 怎么可以一眼识别背离?
A:启用“价格高点连线”+“RSI 高点连线”辅助线。两斜率反向即可快速定位背离。
Q5:能否用 RSI 判断趋势而不是震荡?
A:可以。把 50 当作趋势线:
- RSI 持续立于 50 上方且不断抬高低点 → 多头趋势
- RSI 持续处于 50 下方且不断降低高点 → 空头趋势
这与移动平均线判定趋势有异曲同工之妙。
核心关键词回顾
RSI 交易策略、相对强弱指数、RSI 背离信号、Python RSI 计算、动量指标、RSI 筛单、超买超卖、RSI 参数、Wilder 原始算法、指标回测。
用最少代码做出最高效的分析,把碎片时间转化为可复制的盈利体系。立即动手跑一跑上面的脚本,你的第一条量化策略就在眼前!