前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【HMM研究实例】运用HMM模型的择时策略

【HMM研究实例】运用HMM模型的择时策略

作者头像
量化投资与机器学习微信公众号
发布2018-01-29 11:42:54
2.4K1
发布2018-01-29 11:42:54
举报
文章被收录于专栏:量化投资与机器学习

下面拿A股市场来做检验。

模型的设定如下:

  1. 隐藏状态数目:6
  2. 输入变量:当日对数收益率,五日对数收益率,当日对数高低价差(其他备选因素成交量、成交额等大家可以自行尝试)
  3. 混合高斯分布成分数目:1(为了简便,假定对数收益率服从单一高斯分布)

HMM模型的算法使用hmmlearn模块。简单介绍一下函数的各个参数意思。

以上。我们看到了六个状态的HMM模型输出的市场状态序列。需要注意的是:HMM模型只是能分离出不同的状态,具体对每个状态赋予现实的市场意义,是需要人为来辨别和观察的。

下面我们来用简单的timming策略来识别6种latent_state所带来的效果。

上图可以看出:

  1. 状态0——蓝色——牛市上涨
  2. 状态1——绿色——牛市下跌
  3. 状态2——红色——牛市下跌
  4. 状态3——紫色——小幅的上涨
  5. 状态4——黄色——震荡下跌
  6. 状态5——浅蓝色——震荡下跌

以上的意义归结是存在一定主观性的。因为HMM模型对输入的多维度观测变量进行处理后,只负责分出几个类别,而并不会定义出每种类别的实际含义。所以我们从图形中做出上述的判断。

四、择时策略

我们根据模拟出来的隐藏状态,来进行择时。

1. 理论版:股指期货可卖空。

策略是这样设计的:

  1. 当天处在状态0,3时,买入指数基金;
  2. 当天处在状态1,2,4,5时,卖空股指期货;

我们来看一下收益效果:

2. A股版

鉴于卖空指数对散户来说没什么可操作性,我们单看能做多的A股市场。选择嘉实沪深300基金来复制沪深300指数。

策略是这样设计的:

  1. 当天处在状态0,3时,买入指数基金;
  2. 当天处在状态1,2,4,5时,空仓;

鉴于研究模块自己搭伪回测算出来的收益曲线很难考虑到滑点、交易规则限制等各方面的要求,所以如下的策略回测只贴上最后的图。代码具体见策略。

我采取的方式是把研究模块得出的状态序列导出,导入到回测模块使用。

回测结果截图贴在这。回撤和收益都看起来很漂亮。虽然我也没太懂为什么跟可卖空的结果差不多= =,可能是单纯算收益率的伪回测不太准吧。第二是状态1(绿色)有涨有跌,卖空它也有亏钱的时候。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 四、择时策略
  • 1. 理论版:股指期货可卖空。
  • 2. A股版
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档