一、摘要
在中国商品期货投机市场中,价格的涨跌就像多方和空方拔河比赛,哪方的力量更强大,价格趋势就会跟着哪个方向走,因此分析期货市场中的双方力量就很重要,而RSI指标就是分析多方和空方力量的神器。
二、RSI简介
RSI英文全称Relative Strength Index,即相对强弱指标,由著名的技术分析派大师威尔斯·维尔德于1786年6月创造。它是根据一段时间内,上涨幅度的和与下跌幅度的和的比率绘制的一种技术曲线,能够反映出市场一定时期内的景气程度,最早就是应用于期货交易,尤其是适合用于短线交易。
三、RSI原理
RSI的原理很简单,就是通过一系列的数学运算,得出商品期货市场中买卖双方的力量强弱对比,从而预测未来价格的趋势方向。比如在螺纹钢期货市场中,如果超过一半的人要买,这就是买方市场,价格自然就会上涨;如果超过一半的人要卖,这就是卖方市场,价格就会下跌。
RSI指标的数值范围是0~100,但大部分都是在20~80之间波动,如果RSI的值超过80就说明该品种被过度买入,在这段时期内,多头获利丰厚,落袋为安卖出纷涌而至,抛售压力相应增大,容易导致价格回落。如果RSI的值低于20就说明该品种被过度卖出,价格容易出现反弹。
四、SRI计算
第1步:计算价格上涨(U)和下跌幅度(D)
- 在价格上涨中:
- U = 收盘价 - 上根K线收盘价
- D = 0
- 在价格下跌中:
- U = 0
- D = 收盘价 - 上根K线收盘价
注意:U和D不能是负数,如果相邻K线价格相同,则U和D均等于零
YC := REF(C, 1); // 上根K线收盘价
U := MAX(C - YC, 0); // 计算收盘价与上根K线收盘价的差,在该差值与0之间取最大值
D := ABS(C - YC); // 计算收盘价与上根K线收盘价的差,取该差值绝对值的2周期移动平均值
第2步:计算相对强弱
RS := SMA(U, 2, 1) / SMA(D, 2, 1); // 分别计算U和D的2周期平均值,计算U和D的比值
第3步:计算相对强弱指标
RSI ^^ RS * 100; // 将比率乘以100,保证了其值范围在0~100之间
从上面的公式可以看出,RSI的计算过程非常简单,一句话可以概括为:在某个时间段价格上涨所产生的波动占整个波动的百分比。
五、完整策略
(*backtest
start: 2015-02-22 00:00:00
end: 2020-12-16 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
args: [["VALUE",90],["ContractType","a888",126961]]
*)
YC := REF(C, 1); // 上根K线收盘价
U := MAX(C - YC, 0); // 计算收盘价与上根K线收盘价的差,在该差值与0之间取最大值
D := ABS(C - YC); // 计算收盘价与上根K线收盘价的差,取该差值绝对值的2周期移动平均值
RS := SMA(U, 2, 1) / SMA(D, 2, 1); // 分别计算U和D的2周期平均值,计算U和D的比值
RSI ^^ RS * 100; // 将比率乘以100,保证了其值范围在0~100之间
AVERAGE ^^ MA(C, LEN);
C < AVERAGE AND RSI < 100 - VALUE, BK;
C > AVERAGE AND RSI < 100 - VALUE, BP;
C > AVERAGE AND RSI > VALUE, SK;
C < AVERAGE AND RSI > VALUE, SP;
AUTOFILTER;
完整策略代码已经发布到发明者量化(FMZ.COM)策略广场中,可以点击下方链接复制在线回测:
https://www.fmz.com/strategy/242488
六、策略回测
回测配置
品种:豆一主力连续合约
数据周期:2015-02-22至2020-12-16
K线周期:日线
滑点:开平仓各2跳
回测绩效
资金曲线
七、总结
世界上没有完美的预测工具,RSI也不例外,根据选择K线周期的不同,RSI给出的结果也不同,理论上短周期的RSI能及时给出交易信号,但可靠性较差。中长周期的RSI信号可靠,但反应滞后,常常错过交易机会。
总的来说,RSI指标主要用于辅助参考,并不意味着市场趋势一定会向它预示的方向发展,尤其在市场波动剧烈时,还应该参考其他指标进行综合分析。
注意:本文内容旨在对量化交易初学者进行基础教育,本文策略不可直接实盘使用。