专栏首页量化投资与机器学习【HMM研究实例】运用HMM模型的择时策略

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

下面拿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(绿色)有涨有跌,卖空它也有亏钱的时候。

本文分享自微信公众号 - 量化投资与机器学习(ZXL_LHTZ_JQXX),作者:西西

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-05-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 量价特征因子:基于HMM的多空策略(附代码)

    我们通常使用股市的一手数据来创建一个策略模型,预测下一时刻价格的多少、走势的判断或其他。 今天,我们想结合多样的市场条件(波动性,交易量,价格变化等等)和结合隐...

    量化投资与机器学习微信公众号
  • 【机器学习研究】隐马尔可夫模型 (HMM) 最认真研究

    隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然...

    量化投资与机器学习微信公众号
  • 国内首家外资公募诞生!资管巨头贝莱德全资持有,注册资本3个亿

    根据最新证监会披露公告显示,贝莱德基金管理有限公司(以下简称贝莱德基金)核准成立。注册资本为3亿元人民币,张弛任法定代表人兼总经理。据媒体报道,这是证监会批复的...

    量化投资与机器学习微信公众号
  • 设计模式~状态模式

    状态模式(State Pattern),又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。

    Vincent-yuan
  • 23种设计模式之状态模式

    通俗的说, 就是一个事物有不同的状态,在不同状态下执行各个方法时有不同的表现, 将每个状态都封装成一个类, 然后通过上下文对象统一管理

    烟草的香味
  • 【每日算法Day 61】LeetCode 672. 灯泡开关 Ⅱ

    现有一个房间,墙上挂有 只已经打开的灯泡和 个按钮。在进行了 次未知操作后,你需要返回这 只灯泡可能有多少种不同的状态。

    godweiyang
  • 代码中if/else太多怎么办?状态机stateless来帮你

     很多业务系统开发中,不可避免的会出现状态变化,通常采用的情形可能是使用工作流去完成,但是对于简单场景下,用工作流有点大财小用感觉,比如订单业务中,订单状态的变...

    Edison.Ma
  • java设计模式之状态模式,策略模式的孪生兄弟

    状态模式(State Pattern)中,类的行为是基于它的状态改变的,状态之间的切换,在状态A执行完毕后自己控制状态指向状态B,状态模式是不停的切换状态执行,...

    用户4361942
  • 研究全脑神经网络时间动态的工具:脑电微状态介绍

    瑞士研究者Christoph M.Michel 和ThomasKoenig在NeuroImage发文,介绍了一种用多通道EEG表征人脑静息态活动的办法。...

    用户1279583
  • 关于动态规划

    AI那点小事

扫码关注云+社区

领取腾讯云代金券