【Elite量化策略实验室】RUMI策略 - 2
发布于VeighNa社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2023-3-30
R-Cubed指标
上篇文章展示了RUMI策略在rb99.SHFE上的初步回测绩效,跑通了策略回测下一步自然就是参数优化。
《海龟交易法则》这本书的参数优化章节中提到,传统上使用较多的总收益率(total_return)、收益回撤比(return_drawdown_ratio)、夏普比率(sharpe_ratio)等指标,由于其计算公式中过度依赖【起始】和【结束】两个点的数值,导致其用于策略绩效评估中的【稳健性略有不足】。
这里用图例来说明,下图中的紫色实线为某一策略的回测资金曲线:
绿色和红色两条虚线,分别为选取不同的起始和结束时间点后,体现出的策略整体收益情况。对于同样一条资金曲线,仅仅由于所选时间段的区别,就造成了虚线斜率(总收益率,同时影响收益回撤比和夏普比率计算中的分子)相当显著的偏差,在参数优化中也就更容易导致【过度拟合】的问题。
搞清楚了问题所在,解决方案也十分简单:就是让整条资金曲线上更多的数据点能够参与斜率的计算。经典方法之一就是统计学中的线性回归(Linear Regression),体现为上图中的这条蓝色虚线,相对更能够代表策略的长期收益情况。
围绕这一思路,《海龟交易法则》的作者柯蒂斯提出了【R-Cubed】稳健优化指标:
- 使用每日策略净值的回归斜率作为分子
- 使用5次历史极值回撤的均值作为分母
- 结合两者来计算R-Cubed指标的数值
VeighNa Elite版的CTA回测引擎中内置了R-Cubed统计指标,基于其对RUMI策略在rb99.SHFE的2010-2019时间段上进行优化后(结合使用广域遗传和分组穷举),得到的策略参数为:
- bar_window: 30
- bar_interval: "1m"
- bar_buffer: 200
- fast_window: 2
- slow_window: 55
- rumi_window: 13
- stop_percent: 0.044
- max_holding: 80
- risk_window: 20
- risk_capital: 100_000
以此在2010至2023年初的回测结果即为上一篇的封面图:
可靠性的评估
上一篇文章发布后,有同学反馈担心使用99这种进行了平滑处理的指数会导致结果失真,这里使用过去一年三个具体主力合约和99的回测结果做一个对比(策略参数均使用上一步优化结果):
可以看到rb2205和rb2209的绩效统计指标要好于同期的rb99,而rb2301上则差于同期的rb99,但整体还是保持了较为明显的一致性。
更多品种效果
除了螺纹钢rb以外,我们也在其他一些品种上尝试了RUMI策略。这里我们使用2017年至2023年2月(6年多)的数据来作为总数据集,选择从2017年1月到2020年6月作为样本内进行参数优化,然后使用2020年7月至2023年2月作为样本外进行检验。
为了节约文章长度,以下回测图表和统计指标均为总数据集上的结果:
al99.SHFE(铝)
回测参数:
- 交易成本
- 佣金:6元/手(体现在滑点中)
- 滑点:1跳
- 策略参数
- bar_window: 25
- bar_interval: "1m"
- bar_buffer: 204
- fast_window: 2
- slow_window: 10
- rumi_window: 40
- stop_percent: 0.04
- max_holding: 100
- risk_window: 20
- risk_capital: 100_000
hc99.SHFE(热卷板)
回测参数:
- 交易成本
- 佣金:0.02%
- 滑点:1跳
- 策略参数
- bar_window: 25
- bar_interval: "1m"
- bar_buffer: 200
- fast_window: 2
- slow_window: 60
- rumi_window: 12
- stop_percent: 0.04
- max_holding: 50
- risk_window: 20
- risk_capital: 100_000
j99.DCE(焦炭)
回测参数:
- 交易成本
- 佣金:0.03%
- 滑点:1跳
- 策略参数
- bar_window: 20
- bar_interval: "1m"
- bar_buffer: 200
- fast_window: 2
- slow_window: 70
- rumi_window: 32
- stop_percent: 0.04
- max_holding: 80
- risk_window: 20
- risk_capital: 100_000
策略评估总结
至此我们围绕RUMI策略的研究告一段落。作为一套流传甚广的CTA策略,RUMI策略的核心逻辑体现出了量化研究中典型的【渐进式优化】特征:站在前人肩膀上(均线金死叉)迈出新的一步(过滤均线缠绕),从而实现更好的风险收益比。
今年接下来的时间里【Elite量化策略实验室】系列会持续更新,努力为大家带来更多量化策略深入解析。