最近BigQuantAI社区上有几篇关于隐马尔可夫模型(HMM)的研究报告。在此基础上,本报告针对沪深300指数,采用滚动学习方式构建HMM模型,获得收益预测情况,从而生成交易信号。回测结果表明,该模型对于大盘系统性风险预判能力较强,年化收益为16.5%,夏普比0.75。
关于HMM的模型介绍,可以参考以下两篇帖子,这里不再重述。
本报告直接针对指数进行择时效果分析,回测参数:
- 回测时段:2013.04~2018.06;
- 投资标的:HS300指数;
- 交易费用:双边万三(参考ETF交易手续费);
- 持仓时间:10天。每10天进行一次择时;
- 滚动设置:从数据起始日到交易信号前1日,均作为样本数据。
具体模型构建过程:
1. 因子获取
获得5日收益率、10日收益率、10日内最高价比最低价、10日内平均成交量比5日内平均成交量。
为满足高斯分布,对10日内最高价比最低价因子进行了box-cox变换;
2.HMM模型训练
针对训练时段的数据,训练得到HMM模型,隐含状态数量设为6。各个因子间存在相关性,故协方差矩阵类型设为“full”。
由于HMM中用到的EM算法是梯度下降,可能会收敛到局部最优点,因此这里fit多次,并选取score最高的一个模型。(参考“Training HMM parameters and inferring the hidden states”)
3.收益预测
对当前交易日的隐含状态进行估计;
根据模型的状态转移矩阵,预测下一时段的状态的可能;
根据观测矩阵,计算下一时段的收益期望。
4.回测
根据下一时段的收益预测值,生成交易信号,若收益期望大于0.0006,则开仓或继续持仓;否则空仓。
回测结果:
- 总收益 119.4%
- 年化收益 16.5%
- 最大回撤 21.8%
- 夏普比率 0.75
- 交易次数 15
- 胜率 66.7%
附录
源码地址:《HMM滚动训练择时研究》
本文由BigQuant人工智能量化投资平台原创推出,版权归BigQuant所有,转载请注明出处。