【HMM研究实例】运用HMM模型的择时策略
查看之前文章请点击右上角,关注并且查看历史消息,还可以在文章最后评论留言。谢谢您的支持!
下面拿A股市场来做检验。
模型的设定如下:
隐藏状态数目:6
输入变量:当日对数收益率,五日对数收益率,当日对数高低价差(其他备选因素成交量、成交额等大家可以自行尝试)
混合高斯分布成分数目:1(为了简便,假定对数收益率服从单一高斯分布)
HMM模型的算法使用hmmlearn模块。简单介绍一下函数的各个参数意思。
以上。我们看到了六个状态的HMM模型输出的市场状态序列。需要注意的是:HMM模型只是能分离出不同的状态,具体对每个状态赋予现实的市场意义,是需要人为来辨别和观察的。
下面我们来用简单的timming策略来识别6种latent_state所带来的效果。
上图可以看出:
状态0——蓝色——牛市上涨
状态1——绿色——牛市下跌
状态2——红色——牛市下跌
状态3——紫色——小幅的上涨
状态4——黄色——震荡下跌
状态5——浅蓝色——震荡下跌
以上的意义归结是存在一定主观性的。因为HMM模型对输入的多维度观测变量进行处理后,只负责分出几个类别,而并不会定义出每种类别的实际含义。所以我们从图形中做出上述的判断。
四、择时策略
我们根据模拟出来的隐藏状态,来进行择时。
1. 理论版:股指期货可卖空。
策略是这样设计的:
当天处在状态0,3时,买入指数基金;
当天处在状态1,2,4,5时,卖空股指期货;
我们来看一下收益效果:
2. A股版
鉴于卖空指数对散户来说没什么可操作性,我们单看能做多的A股市场。选择嘉实沪深300基金来复制沪深300指数。
策略是这样设计的:
当天处在状态0,3时,买入指数基金;
当天处在状态1,2,4,5时,空仓;
鉴于研究模块自己搭伪回测算出来的收益曲线很难考虑到滑点、交易规则限制等各方面的要求,所以如下的策略回测只贴上最后的图。代码具体见策略。
我采取的方式是把研究模块得出的状态序列导出,导入到回测模块使用。
回测结果截图贴在这。回撤和收益都看起来很漂亮。虽然我也没太懂为什么跟可卖空的结果差不多= =,可能是单纯算收益率的伪回测不太准吧。第二是状态1(绿色)有涨有跌,卖空它也有亏钱的时候。
【过往文章】
0.【重!磅!干!货!】互联网金融之量化投资深度文本挖掘——附源码文档
8.朴素贝叶斯模型(NBM)详解与在Matlab和Python里的具体应用
14.【扎实资料干货分享】Python、研究报告、计量经济学、投资书籍、R语言等!(Book+Video)
16.量化投资修行之路
17.统计套利在股指期货跨期套利中的应用:基于协整方法的估计
18.股指期货跨品种套利交易
25.卷积神经网络反向传播推导
26.深度学习项目
量化投资与机器学习
知识、能力、深度、专业
勤奋、天赋、耐得住寂寞