本文共 774 字,大约阅读时间需要 2 分钟。
介绍:传统动量策略只能用来选股,无法用来择时,尤其是对于单指数(比如整个市场就一个投资标的)如何使用动量择时?
定义:动量定义依然保持原样,MOM(5)=close(T)-close(T-5),在常规动量中,通过比对所有标的动量大小,取得20%,那么对于的单个标的呢?不妨使用自己的时序数据“当成”动量的比较范围。依次取得MOM(5)=close(T)-close(T-5),其中T=今日,今天-1,今日-2,,,今日-19,这样我们就可以得到一系列动量数据,那么今日动量在整个动量数据中“排名”or“分位”大于20%就可以认为突破了,买入。
原始策略(单指数00016.XSHG)
思路:标的000016.XSHG
取得20+5日价格信息,计算出20个5日动量(滑动计算)
计算昨日动量在20个动量中的分位数,如果分位数>1/3则买入,否则卖出
每日调仓
优化01,使用sell_bottom_rate和top_rate控制“买入”卖出阈值的动量分位
使用20+10的价格信息,计算出20个10日动量,如果动量位于前0.3分位则买入,位于后0.5分位则卖出,其他情况不操作
参数优化(回测标的上证50,201501-201812)
'run_freq': 多少日执行一次买卖操作,
'max_length': 获取的价格信息(多少个自动量), 'mom_length': 几日动量(5,日动量,10日动量), 'top_rate': 动量排序最大的top0.5,top0.3等, 'sell_freq_rate': 多少日卖出一次最优策略
TODO,回撤控制,整体回撤并不是太大,如果要止损,需要从个股角度进行操作,有兴趣的自己研究下
基础版代码见米框链接:优化版本暂时不公布了,自己有兴趣按照本文描述应该可以猜出个大概
基础班(中位数择时):
转载地址:http://nhyws.baihongyu.com/