随机相对强弱指标
业务意义
STOCHRSI 是 RSI 的随机振荡器版本,通过将 RSI 值在特定时间窗口内进行标准化,提供更敏感的超买超卖信号,特别适合在震荡市中识别短期反转点。
核心使用场景
1. 震荡市中的超买超卖识别
极度超买:STOCHRSI > 0.8,考虑卖出
超买:STOCHRSI > 0.7,警惕回调
极度超卖:STOCHRSI < 0.2,考虑买入
超卖:STOCHRSI < 0.3,关注反弹
2. 金叉死叉信号
STOCHRSI_k 上穿 STOCHRSI_d:看涨信号
STOCHRSI_k[-2] <= STOCHRSI_d[-2] && STOCHRSI_k[-1] > STOCHRSI_d[-1]
STOCHRSI_k 下穿 STOCHRSI_d:看跌信号
STOCHRSI_k[-2] >= STOCHRSI_d[-2] && STOCHRSI_k[-1] < STOCHRSI_d[-1]
3. 背离分析(高胜率信号)
价格创新高,STOCHRSI 降低:顶背离,卖出信号
价格创新低,STOCHRSI 抬高:底背离,买入信号
使用要点总结
1. 最佳应用场景:
震荡市中的区间交易
趋势市中的回调买入 / 反弹卖出时机
寻找短期反转点
2. 参数设置原则:
震荡市:缩短周期,提高灵敏度
趋势市:延长周期,减少虚假信号
高波动:收紧超买超卖阈值
3. 信号可靠性排序:
背离信号 > 超买超卖 > 金叉死叉
有趋势确认 > 无趋势确认
有成交量配合 > 无成交量配合
4. 风险控制要点:
在趋势明显的市场中谨慎使用超买超卖信号
结合价格位置和支撑阻力位确认信号
设置基于波动率的动态止损
STOCHRSI 通过将 RSI 标准化,提供了比原始 RSI 更敏感、更清晰的超买超卖信号,特别适合在震荡市中寻找精确的买卖时机。
计算公式
第一步:计算 RSI (n1 缺省为 14)
涨幅 = 收盘 - 收盘 [-1]
涨幅 sma=max(涨幅,0)/n1+(1-1/n1)* 涨幅 sma[-1]
涨跌幅 sma=abs(涨幅) /n1+(1-1/n1)* 涨跌幅 sma[-1]
RSI= 涨幅 sma / 涨跌幅 sma*100
第二步:计算随机 RSI (n2 缺省为 3,n3 缺省为 3)
STOCHRSI = (RSI-RSI[1-n1:0].min())/(RSI[1-n1:0].max()-RSI[1-n1:0].min())
STOCHRSI_k= STOCHRSI[1-n2:0].avg()
STOCHRSI_d= STOCHRSI_k[1-n3:0].avg()
实现代码
指标参数:
y1 |
STOCHRSI 输出列名 |
y2 |
STOCHRSI_k 输出列名 |
y3 |
STOCHRSI_d 输出列名 |
n1 |
RSI 周期,缺省 14 |
n2 |
K 周期,缺省 3 |
n3 |
D 周期,缺省 3 |
函数代码:
A |
B |
|
1 |
func SRSI (A,$y1, $y2, $y3,n1,n2,n3) |
=A.derive@o(收盘 - 收盘 [-1]: 涨幅, : 涨幅 sma,: 涨跌幅 sma,:RSI) |
2 |
=A.run(max(涨幅,0)/n1+(1-1/n1)* 涨幅 sma[-1]: 涨幅 sma, abs(涨幅 )/n1+(1-1/n1)* 涨跌幅 sma[-1]: 涨跌幅 sma, 涨幅 sma/ 涨跌幅 sma*100:RSI, (RSI-RSI[1-n1:0].min())/(RSI[1-n1:0].max()-RSI[1-n1:0].min()):${y1}, ${y1}[1-n2:0].avg():${y2}, ${y2}[1-n3:0].avg():${y3}) |
|
3 |
=A.alter(;涨幅, 涨幅 sma, 涨跌幅 sma,RSI) |
举例:
调用脚本计算浦发银行 2024 年的随机强弱指标
A |
||
1 |
… |
/计算出源数据 |
2 |
=A1.derive(:SRSI,:SRSI_k,:SRSI_d) |
/增加要返回的指标字段 |
3 |
=SRSI(A2,SRSI,SRSI_k,SRSI_d,14,3,3) |
/调用函数计算指标 |
运行效果:

