感谢楼主分享。我一直没想好在rsrs择时的基础上怎么轮动更好,谢谢楼主提供的思路。
================================
我看很多人说不理解这个策略,简单说下我的分析:
这个策略原理就是市值风格轮动。基金池是代表大中小盘风格的ETF。另外楼主在程序注释中说使用纳指加入轮动,我虽然没测试,但是个人认为从原理上说不是太好,因为这个策略的原理是市值轮动,而纳指市值跟国内没有可比性。同理消费、红利这些指数加入也是违背这个轮动原理的。我倒是觉得可能可以尝试用价值和成长ETF轮动试试。
策略分为两部分:选基和择时。
选基部分比较简单,每只基金拟合29日收盘价的斜率,同时计算拟合的可信度R2,用斜率乘以R2得到动量因子,选择动量因子最大的基金。
择时:
择时包括两部分,一是RSRS算法,二是均线(当前20日均线大于3日前20日均线)
关于RSRS的原理,我刚好看过研报。简单来说就是假设N日每日最高价有一根趋势线H(可以理解为阻力线),每日最低价有一个趋势线L(可以理解为支撑线),H相对于L的斜率代表动量强度(研报有图更直观,这里只有勉强解释一下)。
总结一下:
动量=29日最高价曲线比29日最低价曲线的斜率(使用多元回归)
历史动量=600日动量
标准分=(当前动量-历史动量均值)/历史动量标准差
R方=最近一期动量计算的R方
动量因子(最终比较依据)=标准分*R方
根据研报研究,择时标准是:动量因子< -0.7时卖出,动量因子因子>0.7时买入(这个0.7怎么来的我也不懂),中间保持原状态。
================================
# 以下是改进建议:
我在隔壁优矿也写了同样原理的一个策略,标的相同,对比一下结果:
用楼主的策略从2015年1月1日到2021年8月17日,年化收益30.18%,最大回撤28.11%,夏普比率0.993.
我写的策略,同期年化收益只有19%,但是回撤只有22%,夏普比率0.78.
虽然我的策略不如楼主的,但是有几个改进方向我试了一下,供大家参考:
1、我的择时仅使用RSRS,原理跟楼主相同,没使用均线。所以我试试将楼主策略中均线部分去掉,年化收益率达到**31.3%**,而最大回撤降低到27%,夏普比率上升到1.01。也就是说感觉加入均线择时没什么用。(不过我在优矿中用同样的择时有很多空仓期,完美躲过15年和18年的大跌,用楼主的策略没发现,有时间要详细对比一下)。
2、我的策略使用的动量因子是**1年**收益,于是我把楼主的动量因子时间从29日改为252日(一年交易日),然后,收益率上升到35%,总收益率从448%上升到611%,最大回撤还是28.88%,夏普比率上升到1.25%!感觉楼主的动量因子算法比我的好太多,要好好研究。
放上我的回测供大家参考:
2021-09-16