20200918:【广发金融工程】2018年重磅专题系列之九:基于隐马尔科夫模型的选股策略研究

参考链接:https://www.sohu.com/a/252454782_465470

【广发金融工程】2018年重磅专题系列之九:基于隐马尔科夫模型的选股策略研究 

2018-09-07 11:26

报 告 摘 要

1

传奇的大奖章基金

从1988年成立到2010年1月1日西蒙斯正式退休,大奖章基金的净年均收益率超过35%,远超标普500指数的年化收益率。并且,在市场波动较大的时候,比如2000年科技股灾和2008年的全球金融危机,大奖章基金表现反而更好,当年都获得了90%以上的业绩回报。

文艺复兴科技公司的核心成员中,有多位HMM领域和语音识别领域的专家,因此人们相信隐马尔科夫模型是大奖章基金取得辉煌业绩的法宝。

2

基于HMM模型的选股策略

本报告将语音识别的技术引入到股票涨跌预测中。假设上涨和下跌的股票各自都存在一种明确的模式,都分别可由一个HMM模型来描述。我们选择换手率、股价1日涨跌幅等6个价量指标作为模型观测值,选择股票池内上涨的样本训练表征上涨模式的HMM模型。

预测时,一个股票在表征上涨模式的HMM模型上的观测概率越大,说明该股票实际上涨的概率也越大。我们将股票池内的股票按照HMM因子值均分成10档,每期超配最高一档的股票。

3

模型的选股收益远超基准

通过实证分析,基于隐马尔科夫模型的选股策略以中证500成份股为股票池,能够获得较高的超额收益。而且在行业中性优化之后,策略的效果进一步提升,在2007年2月1日——2018年8月15日的回测区间内,策略年化超额收益率为16.19%,最大回撤为-9.69%,信息比达到2.14。

一、研究背景

在量化投资领域,存在着一位传奇人物——詹姆斯·西蒙斯(James Simons),这位全球最赚钱的对冲基金基金经理,在2018年3月更新的福布斯全球富豪榜上,以200亿美元的身家排名第59位。

大奖章基金的历年回报率如图1所示,除了在成立的第二年有资产净值的减少之外,其余年份都获得了非常高的正回报。从1988年成立到2010年1月1日西蒙斯正式退休,大奖章基金的净年均收益率超过35%,远远超过标准普尔500指数的年化收益率。并且,在市场波动较大的时候,基金的表现反而越好。2000年科技股灾,标普500下跌10.1%,大奖章基金的净回报为98.5%,几乎翻了一番;2008年全球金融危机,各类资产价格全面下滑,大多数对冲基金都亏损,而大奖章基金的净回报率为98.2%。以上这些数据都是在扣除每年固定5%的管理费和22%~44%不等的绩效提成之后的投资净收益。这些几乎优异到神奇的收益表现,使得众多投资者对文艺复兴的投资方法感到非常好奇。

这么多年来,西蒙斯一直对大奖章基金的投资模型讳莫如深,除了团队核心成员,没有人知道他们是如何在市场中赚取这么多回报,也没有任何其他组织和个人能够复制他们的辉煌。人们尝试从复兴公司核心团队的背景来推测大奖章基金辉煌业绩背后的“神秘模型”。

在文艺复兴科技成立初期,著名的统计学家莱昂纳多·鲍姆(Leonard Baum)无疑起到了关键的作用,功不可没。鲍姆是率先提出隐马尔科夫模型(Hidden Markov Model,HMM)的专家之一,该方法用来描述一个含有未知参数的马尔可夫过程,在语音识别、生物信息学等领域取得了非常成功的应用。此外,统计学中著名的鲍姆-威尔士(Baum-Welch)公式也是以这位杰出科学家的名字命名,它是一种学习隐马尔科夫模型参数的有效方法。西蒙斯本人认为投资和语音识别很相似,因此曾经把IBM的整个语音实验室的精英挖到文艺复兴公司。基于这些背景,人们有理由相信隐马尔科夫模型是大奖章基金取得辉煌业绩的神秘法宝。

实际上,股价预测和语音识别的过程确实有很多相似之处。比如在单词识别过程中,单词的发音会被分割成一系列连续的“音素”(phone),最终整段发音被识别为一个什么词是由这段连续的音素序列所决定的。这个场景与股价涨跌预测类似,即股价上涨或者下跌也是由一系列价量因素的时间序列所推动,例如在单边上涨的市场行情中,股价未来一段时间上涨的概率相对来说就比较大。隐马尔科夫模型能够刻画这个动态变化的过程,从时间序列中挖掘出更多信息,这是相对于线性回归、SVM或随机森林等统计学习模型的优势。在此前发布的报告《探索西蒙斯投资之道:基于HMM模型的周择时策略研究》中,我们实证了隐马尔科夫模型被用在指数择时上,预测准确度和择时策略收益都取得了不错的效果。本报告将进一步探索,研究如何将隐马尔科夫模型应用到选股策略中,并实证其效果。

二、隐马尔科夫模型简介

2.1

隐马尔科夫模型的定义

隐马尔科夫模型(HMM)是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成对应的一个观测而产生观测随机序列的过程。因此,隐马尔科夫模型包含了两个随机序列,一个是不可观测的状态序列(state sequence),每个状态生成一个观测,又组成了另一个观测的随机序列,称为观测序列(observation sequence)。序列的每一个位置,可以看成是一个时刻,序列上位置的前后表示时间上的先后顺序。

隐马尔科夫模型主要有3个要素,分别是初始概率分布、状态转移概率分布和观测概率分布,它的具体形式如下:

模型所有可能的状态的集合为Q={q_1,q_2,…,q_N },所有可能的观测的集合为V={v_1,v_2,…,v_M},其中,N表示可能的状态数,M表示可能的观测数。假设状态序列的长度为T,那么状态序列可以表示为I=(i_1,i_2,…,i_T),对应的观测序列可表示为O=(o_1,o_2,…,o_T)。

隐马尔科夫模型由初始状态概率分布π,状态转移概率矩阵A和观测概率矩阵B决定。其中,π和A决定状态序列,B决定观测序列,因此隐马尔科夫模型可以表示为λ=(A,B,π)。

2.2

HMM的三个基本问题

将隐马尔科夫模型应用到实际中,有3个基本的问题需要解决:

问题1: 概率计算问题。给定模型参数λ=(A,B,π)和观测序列O=(o_1,o_2,…,o_T),计算在模型下观测到O出现的概率P(O|λ)。

问题2: 学习问题。给定观测序列O=(o_1,o_2,…,o_T),估计模型参数λ=(A,B,π),使得在该模型下观测到O出现的概率P(O|λ)最大。即用极大似然估计的方法估计模型的参数。

问题3: 预测问题。已知模型参数λ=(A,B,π)和观测序列O=(o_1,o_2,…,o_T),求对给定观测序列条件概率P(O|λ)最大的状态序列I=(i_1,i_2,…,i_T)。即给定观测序列,求最有可能的对应的状态转移序列。

对于隐马尔科夫模型这三个基本问题的求解,产生了对应的算法,分别是求解概率计算问题的前向—后向算法,求解模型学习问题的Baum—Welch算法,以及求解模型预测问题维特比算法(Viterbi)算法。

2.3

HMM在语音识别领域的应用

从80年代开始,语音识别的研究逐渐从传统的技术思路转向统计模型,而隐马尔科夫模型的应用实现了语音识别领域的重大突破。著名投资人李开复博士在卡内基梅隆大学实现了第一个基于隐马尔科夫模型的大词汇量语音识别系统Sphinx。

詹姆斯·西蒙斯认为投资和语音识别有很多相似之处,本报告尝试将经典的语音识别模型引入股票涨跌预测问题中。经典的HMM语音识别训练过程如图2所示,语音识别时获取的观测(observation)是一段波形信号(waveform)。首先将波形切分成等长的小片段(frame),对每个frame提取特征(如MFCC),这样每个观测实例就可以用一段特征序列X=(x_1,x_2,…,x_T ), x_i∈R^D来表示,其中T表示序列的长度,x_i表示从每个frame中提取的特征向量,维度为D。在孤立词识别系统中,对每个词设计一个HMM模型,通过训练样本不断迭代,最终得到局部最优的参数估计。

训练完模型以后,在识别单词时,同样对语音提取特征,输入每个HMM模型中,采用前向-后向算法求出每个HMM模型生成该序列的概率。最后取最大概率对应的模型,而该模型所对应的单词就是识别的结果。

三、基于HMM的股票涨跌模型

3.1

HMM对股价涨跌的预测原理

启发于HMM模型在语音识别中的应用,我们尝试将其思想引入到股票涨跌预测中。本报告提出的策略基于以下两个核心假设:

1)按照之前一段时间(周或月)股价走势,涨和跌的股票各自都存在一种明确的模式与其对应,都分别可由一个HMM模型(UP模型和DOWN模型)来描述;

2)股票的外在数据表现(如涨跌幅、换手率等)可由有限个服从马尔可夫过程的隐状态所决定,且满足齐次马尔可夫假设和观测独立性假设。

基于以上两个核心假设,本报告将通过隐马尔科夫模型来预测个股未来一段时间股价的涨跌。首先,假设持仓期为L天,我们的目标是,在交易日T,去预测(T+L)日个股股价相对于T日的涨跌。假设观测序列长度为Q,那么将每个股票的价量信息切分成日频的观测序列,每一日的价量信息向量(如1日涨跌幅、换手率)对应语音识别模型中的frame,取(T-Q+1)~T日的价量信息向量,获得长度为Q的观测序列,对应语音识别模型中的waveform。模型训练时,我们选择(T+L)日股价相对T日上涨的股票作为UP模型的训练样本,选择(T+L)日股价相对于T日下跌的股票作为DOWN模型的训练样本。实际预测时,在T日,我们分别将每个股票在(T-Q+1)~T日的价量信息向量作为特征输入训练好的UP模型和DOWN模型中,求得不同模型下观测到该观测序列的概率P_UP 和P_DOWN,如果P_UP>P_DOWN,则说明该观测序列由UP模型生成的概率更大,该股票在(T+L)日相对于T日上涨的概率大于下跌的概率;反之,则认为该股票下跌的概率大于上涨的概率。HMM股票涨跌预测模型的训练和预测过程分别如图4和图5所示。

3.2

模型输入特征的选择和标准化

本报告主要从个股的价量信息中选取特征,作为HMM模型的观测值。观测向量维度为6,可表示为

其中,close、open、high、low分别表示每日股票的收盘价、开盘价、最高价和最低价;turnover表示每日换手率;returnPast1d表示每日收盘价相对于前日收盘价的涨跌幅;cap表示每日收盘时的流通市值。这7个因子我们称之为原始股票因子,观测向量的每个分量我们称之为特征。

股票的原始因子数据中存在一些缺失值和异常值,且不同因子值之间取值范围相差巨大,因此我们需要对这些特征作标准化处理。本报告中对特征标准化的过程分为以下几个环节:

3.3

模型的训练方式和参数选择

在本报告中,我们选择的调仓周期L为5个交易日,HMM模型也选择以5个交易日为预测周期,即在T交易日收盘时,预测5个交易日之后,股价相对于T交易日收盘价的涨跌情况。股票池为中证500成份股,所有的训练样本和测试样本都从中证500成份股内选择。为使模型能够更好的跟踪市场风格的变化,本报告选择以完全滚动的方式训练模型,即每次调仓时都重新训练模型。同时在足够的训练样本和计算复杂度上取一个折中,往前推10个周期的样本作为训练集,模型观测序列的长度为Q,这是模型待确定的一个超参数。如图6所示,在T交易日,我们的目标是预测每个成份股在T+5交易日相对于当前股价的涨跌情况,假设观测序列长度取Q=10,测试集内每个个股的观测序列为(T-9)~T交易日共10天的观测值,每一天共有6个观测值。

我们以2007年2月1日,相对于5天前涨幅为正的中证500成份股为测试集,并根据以上描述的方式构造训练集来确定隐马尔科夫模型(UP 模型)的参数。我们首先在合理范围内筛选各个超参数的可能取值,然后用网格搜索的方法在训练集上训练模型,最后选择使测试集上样本平均观测概率最大的超参数组合,确定为:

1)隐藏状态数,N=3

2)观测序列长度,Q=10

3)高斯混合模型的分模型数,M=2

四、策略与实证分析

4.1

策略原理与参数设置

我们此前假设股票的涨和跌各自都存在一种明确的模式与其对应,通过上涨的股票数据训练得到的UP模型能够表征股票“涨”这一种模式。因此,本报告的选股策略基于这样一个主要逻辑,即在UP模型下,某个成份股的观测序列概率P(O|λ_UP)越大,说明该股票的观测序列由UP模型生成的概率越大,那么它未来上涨的概率也越大。在这种逻辑下,由UP模型计算得到的个股观测序列概率就类似传统的选股因子,如EP,ROE等。为方便描述,我们以下称这个观测序列概率为HMM因子。

本报告以中证500指数成份股为股票池进行选股策略的回测,回测参数设置如下:

调仓周期:5个交易日

股票池:中证500成份股,剔除ST股票,剔除交易日停牌的股票

超配组合:调仓时将股票池按照HMM因子大小均分成10档,等权买入最高一档的个股

对冲方案:多空对冲;中证500指数对冲

回测期:2007年2月1日——2018年8月15日

交易成本:多空对冲时不考虑交易成本;指数对冲时取千分之二的交易成本

调仓规则:为了控制策略的换手率,防止产生过高的交易成本,在每次调仓时,优先选入已持有的股票。具体规则是,将中证500成份股按照HMM因子值均分成十档,最高的一档得10分,第二档得9分,以此类推,最后一档得1分;调仓时,上期持有的股票在原始因子得分基础上上调15%,再根据最终得分选择股票池内股票数目十分之一的个股买入,得分相同时优先选择HMM因子值较大的。这么做的效果是保证上期持有的、本期得分在9分以上的股票得以优先保留(9*1.15 > 10),减少换仓的交易成本。

4.2

策略实证分析

4.2.1 HMM因子的历史IC和分档收益率实证分析

因子IC是指截面因子值与个股下期收益率之间的相关系数,能够反映因子提供超额收益的能力。2007年2月1日以来,将HMM因子与未来5个交易日的收益率求截面的秩相关系数,得到HMM因子的IC序列如图7所示,IC平均值为0.082,标准差为0.135。

以5个交易日为调仓周期,在每个调仓日,将中证500成份股按HMM因子大小分成10档,2007年2月以来的分档表现如图8所示,每档的累积收益率如图9所示。

由以上两个图可以看出,HMM因子值大的股票整体上表现要优于因子值小的股票,该因子的单调性较好。

4.2.2 多空对冲策略实证分析

假设可以卖空最低档(第十档)的股票,买入第一档的股票,多空组合自2007年2月以来的净值如图10所示,收益统计如表1所示。不考虑交易成本,多空组合年化收益率达到48.68%,最大回撤为-15.74%,调仓胜率为66.96%。多空对冲策略分年度表现如表2所示,除了市场风格变化较大的2017年之外,策略在其他年份都获得了不错的回报。

4.2.3 中证500指数对冲实证分析(非行业中性)

以中证500指数为对冲标的,基于HMM模型的选股策略的表现如图11所示,在中证500成股份内的年化超额收益率为14.82%,最大回撤为-19.94%,超额胜率为59.11%,信息比为1.78。策略分年度表现如表4所示,在2007年~2016年期间,策略每年都获得了正收益,但是2017年以后表现不佳。(注:2007年数据从2007年2月1日开始;2018年数据截止到2018年8月15日。)

4.2.4 中证500指数对冲实证分析(行业中性)

从4.2.3节的统计可以看出,非行业中性的选股策略回撤较大,且在2017年以后表现不佳,我们考虑通过行业中性的方式进行优化。具体策略如下:

基于HMM模型的行业中性的选股策略的表现如图12所示,在中证500成股份内的年化超额收益率为16.19%,最大回撤为-9.69%,超额胜率为63.39%,信息比为2.14。策略分年度表现如表6所示,除了2017年之外,策略每年都获得了正收益,整体表现相对非行业中性策略有明显提升。(注:2007年数据从2007年2月1日开始;2018年数据截止到2018年8月15日。)

整体来看,基于HMM模型的选股策略的综合表现如表7所示,策略在超过11年的回测期内,获得了显著的超额收益。特别的,行业中性的HMM选股策略在提高超额收益率的同时,能更好地对冲市场风险,降低最大回撤。

五、总结

隐马尔科夫模型是大奖章基金辉煌业绩背后的秘密武器之一,受此启发,本报告将隐马尔科夫模型引入到投资领域,运用语音识别的技术来预测股票涨跌。假设涨和跌的股票各自都存在一种明确的模式,都分别可由一个HMM模型来描述,那么如果一个股票在表征上涨模式的HMM模型上的观测概率越大,说明该股票实际上涨的概率也越大。

HMM因子具有良好的提供超额收益的能力,IC的平均值为0.082,大多数时候为正值。而且在回测期内,HMM因子值大的股票整体上表现要优于因子值小的股票,按因子值分档的累积收益率具有很好的单调性。基于HMM因子的多空组合年化收益率达到48.68%,最大回撤为-15.74%。

本报告通过实证表明,基于隐马尔科夫模型的选股策略以中证500成份股为股票池,能够获得较高的超额收益。而且在行业中性优化之后,策略的效果进一步提升,年化超额收益率为16.19%,最大回撤为-9.69%,信息比达到2.14。

本报告提出的基于隐马尔科夫模型的选股策略根据历史数据进行回测,策略模型并非百分百有效,市场结构及交易行为的改变以及类似交易参与者的增多有可能使得策略失效。

详细内容请参见广发金工专题报告

《再探西蒙斯投资之道:基于隐马尔科夫模型的选股策略研究》

《基于涨跌模式识别的指数和行业择时策略》

《多因子ALPHA系列报告之 (三十六)—— 机器学习多因子动态调仓策略》

《深度学习新进展:Alpha因子再挖掘》

《探寻西蒙斯投资之道:基于HMM模型的周择时策略研究》

猜你喜欢

转载自blog.csdn.net/weixin_38192254/article/details/111628318