RUMI 策略与 SQN 评估
RUMI 策略
最近经常看到 RUMI 策略,逻辑非常简单,就只是均线的金叉死叉来驱动交易的买卖点,但是许多回测上效果非常好。也手写了一下策略的代码。
逻辑
选择 2 条均线,一条长期,一条短期。在一定的时间周期内,用短期均线减去长期均线,获得每个时间点的差值。把这些差值简单求和再除以时间周期,就是 RUMI 指标。
- 快速均线 :: SMA 简单移动平均线
- 慢速均线 :: WMA 加权移动平均线
- DIFF :: 计算快慢均线的偏离度
- RUMI :: 对偏离度使用 SMA 进行平滑处理
买卖点:
- RUMI 上穿 0 轴,买入做多
- RUMI 下穿 0 轴,卖出做空
回测结果
使用最开始的模型,交易夏普率 0.287 ,回测十年,收益率 40.9% 。结果挺一般的,做一下优化。
- 使用 RUMI 2次的斜率代替默认的 RUMI 的值。
- 使用 SAR 指标做额外的退出指标。
夏普率提升到 0.626 , 回测十年的收益率为 62.9%,貌似还是挺一般的。
策略优化
使用更严格的开仓策略和更开放的平仓策略
对于 RUMI 策略,买入和持有过程中,不够灵活,可以通过增加对行情的判断,优化策略的长短策略。
- SMA22.SLOPE > 0
- RUMI.M > 0 OR CLOSE.SLOPE > 0
1/2 同时满足才开多仓。
- RUMI.M 小于 0
- SMA22.SLOPE 小于 0
- RUMI.R.SLOPE 小于 0
- CLOSE.SLOPE 小于 0
1-4 有一个成立就平多仓。
def signal(self):
self.signal_buy = (
self.rumi.m > 0 \
or self.slope_close > 0
) and self.slope_ma_22 > 0
self.signal_sell = (
self.rumi.m < 0 \
or self.slope_rumi < 0 \
or self.slope_ma_22 < 0 \
or self.slope_close < 0
)
优化后的策略,夏普率提升到 0.902 ,SQN 评分达到 2.598 ,十年回测的收益率为 105.39% 。
SQN 评估
SQN 是交易系统的评估方案,具体的评测如下:
- 1.6–1.9 Poor but tradable 不怎么样,可以凑合用
- 2.0–2.4 Average 普通
- 2.5–2.9 Good 好
- 3.0–5.0 Excellent 杰出
- 5.0–6.9 Superb 一流
- 7.0- Holy Grail 圣杯
策略从 SQN 从 0.7 提升到 1.91 变得勉强能用了。