您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[首创证券]:量化研究专题报告:基于隐马尔可夫模型的行业轮动策略-模式识别之状态匹配 - 发现报告
当前位置:首页/其他报告/报告详情/

量化研究专题报告:基于隐马尔可夫模型的行业轮动策略-模式识别之状态匹配

2024-09-12陈军华首创证券土***
量化研究专题报告:基于隐马尔可夫模型的行业轮动策略-模式识别之状态匹配

模式识别之状态匹配——基于隐马尔可夫模型的行业轮动策略 金融工程|量化研究专题报告|2024.09.12 核心观点 陈军华 金融工程首席分析师 SAC执证编号:S0110524010002 chenjunhua@sczq.com.cn 电话:0755-23609495 行业轮动模型累计超额收益及回撤 资料来源:Wind资讯、首创证券 本文以LeonardE.Baum等人提出的隐马尔可夫模型(HMM)为理论基础,基于历史会重演的理论假设,在识别当前行业所处状态的基础上,通过计算当前行业所处状态序列与历史中该行业未来出现显著上涨或下跌时所有状态序列的平均相似度,以此预测当前行业未来的上涨概率,进而构建行业轮动策略。 隐马尔可夫模型:隐马尔可夫模型由初始状态概率向量�、状态转移矩阵�和观测概率矩阵�决定。�和�决定状态序列,�决定观测序列。在隐马尔可夫模型中针对观测变量、隐藏状态以及两者之间的关系可以产生三个典型问题:概率计算问题、学习问题、预测问题。 样本内收益稳定:2022年费后超额收益超过7%、2023年费后超额收益超过9%,最大回撤分别为3.50%、3.40%。从胜率来看,2022年胜率为66.67%,而2023年胜率更是高达91.67%,全年12个月份,只有一个月跑输30个中信一级行业平均收益;2022年和2023年的超额收益年化波动均低于6%,表现不错。 样本外收益持续:从2024年前8个月的超额收益来看,费后累计超额收益为10.75%,年化超额收益为16.54%,显著高于样本内。样本外最大回撤仅为2.8%,比样本内低接近1%;同时样本外的月盈亏比为1.91,该数据也显著优于样本内。 样本外Top行业实际收益排名靠前:2024年前8个月中有5个月的平均名次在前15.5名以内,其中1月以及6月的平均名次更是位于前10名。此外前8个月中第1名出现4次,前3名共计出现8次,前5名共计出现13次,前10名共计出现20次,前15名则共计出现28次,相对于总样本数量占比58%,接近五分之三。 2024年9月份Top行业:基于隐马尔可夫算法行业轮动模型所选择的Top行业为石油石化、煤炭、家电、非银行金融、通信以及综合金融等六个行业。 风险提示:报告中所涉及测算均基于历史数据,未来市场可能发生变化,历史会惊人相似,但并不会简单重复;由于金融市场数据不一定完全服从正态分布,可能影响隐马尔可夫模型的准确性,进而对当前行业所处状态做出误判,不利于模型对行业未来上涨概率进行预测,最终影响行业轮动模型效果。 目录 1前言1 2时间序列建模方法概述1 2.1其他时间序列模型——GARCH模型1 2.2隐马尔可夫模型原理2 2.3隐马尔可夫模型示例3 3基于隐马尔可夫模型行业轮动策略回测框架5 3.1样本区间选择5 3.2模型回测逻辑及框架5 3.3模型回测逻辑的几点思考6 3.3.1形态特征代理变量的选择6 3.3.2特征的标准化7 3.3.3上行、下行形态的划分8 3.3.4状态序列相似度计算采样窗口长度8 3.3.5状态序列相似度计算逻辑8 4基于隐马尔可夫算法行业轮动模型回测表现9 4.1样本内回测9 4.1.1模型参数选择9 4.1.2优选参数下样本内表现13 4.2样本外检验15 5总结和展望19 5.1本文总结19 5.2未来展望19 6风险提示20 插图目录 图1收盘价概率分布图6 图2收益率概率分布图6 图3波动率概率分布图7 图4波动率差分概率分布图7 图5换手率概率分布图7 图6换手率差分概率分布图7 图7样本内最优参数下行业轮动模型累计超额收益12 图8样本内分组超额收益13 图9历史区间3.5%涨跌阈值下样本内显著上涨、下跌平均样本数14 图10行业轮动模型累计超额收益及最大回撤16 图11样本外月度IC统计16 图12样本外月度超额收益16 图13样本外Top行业下月收益位于全行业平均名次18 图14样本外Top行业下月收益位于全行业各名次出现次数18 图15样本外Top行业月度换手率18 表格目录 表1各个鱼缸两种颜色鱼的数量3 表2样本内不同涨跌阈值、不同观察窗口长度下模型累计超额收益9 表3样本内不同涨跌阈值、不同观察窗口长度下模型超额收益最大回撤10 表4样本内不同涨跌阈值、不同观察窗口长度下模型超额收益年化波动率10 表5样本内不同涨跌阈值、不同观察窗口长度下模型超额收益月度胜率11 表6样本内不同涨跌阈值、不同观察窗口长度下模型超额收益月盈亏比11 表7样本内不同涨跌阈值、不同观察窗口长度下模型超额收益信息比率12 表8样本内月度超额收益15 表9样本外超额收益统计15 表10样本外月度优选行业及其下月收益排名17 本文在中信一级行业指数量价数据的基础上,基于隐马尔可夫模型(HMM)识别当前行业所处的状态,进而通过对观察窗口与历史窗口状态匹配的方式预测行业未来的上涨概率,进而构建行业轮动策略。 1前言 序列数据是指在某一种维度下,按先后顺序采集,数据采样点之间不能前后交换的数据序列。时间序列数据是一种经典的序列数据,例如:语音数据、金融数据等都是时间序列数据。而时间序列建模是会对序列中的每个元素进行建模和预测,并构建一个从输入/观测序列到输出/标记序列的映射过程。在自然语言处理中,序列建模通常用于语言生成、机器翻译、语音识别等领域。 趋势跟踪作为技术分析方法的一种延伸,其核心理念为:市场历史价格在一定程度上反映了所有已知信息,而这些已知信息往往会驱动股票价格沿着特定的方向持续运动,即形成所谓的“趋势”或“状态”。 由此可以想到,使用时间序列建模方法对信噪比较低的金融数据进行抽丝剥茧,识别价格变化的趋势或者当前价格所处的状态,可能会更好地剥离原始数据噪声,提高数据的信噪比,进而提升模型的预测能力。 本文比较不同金融领域时间序列建模方法的优劣,最终通过LeonardE.Baum等人提出的隐马尔可夫模型(HMM),识别行业指数当前所处的状态,基于历史会重演的理论假设,预测当前行业未来的上涨概率,最终构建行业轮动策略。 2时间序列建模方法概述 股票价格时间序列和其他金融时间序列都具有相似的特点,例如:强波动性、非平稳性和潜在周期性等。统计学上有多种金融时间序列数据建模的方法。比较著名的有:随机游走理论(RW),差分自回归移动平均模型(ARIMA)和广义自回归条件异方差模型(GARCH)等。 本章简述常见的时间序列建模方法,并此类方法在应用上的不足之处。 2.1其他时间序列模型——GARCH模型 GARCH模型作为ARCH模型的重要扩展,由学者Bollerslev在1986年提出。GARCH模型的基本原理在于通过引入条件异方差来描述时间序列数据的波动性特征。它假设误差项的方差遵循自回归移动平均过程,从而能够预测未来的波动率。GARCH模型通常由两部分组成:均值方程和方差方程。均值方程用于描述时间序列数据的线性关系,而方差方程则是GARCH模型的核心,用于描述时间序列数据的波动性。 对于序列yt,令tytt,其中t是yt的平均值。如果t满足下述条件,则称 t服从GARCH(p,q)模型: ttzt pq 222 t0 i1 iti j1 jtj 其中zt为零均值单位方差的独立同分布白噪声序列。同时考虑到模型的稳定性以及使得t为正,模型假定: 00 i0 j0 0  p i1i q   1 j1j t0it 其中,2为t时刻的条件方差,为t时刻的残差项,是常数项,和j是模型的参数。q和p分别表示方差方程中自回归项和移动平均项的阶数。 GARCH模型的不足 尽管GARCH模型可以较好处理随时间变化的条件方差,但是该模型对参数估计要求较高,对数据质量亦要求较高,模型复杂度较大。此外该模型也无法解释市场在于利好上行、利空下行这两种状态下波动的非对称性。 2.2隐马尔可夫模型原理 20世纪60年代后半期,LeonardE.Baum和其他GARCH(p,q)学者在一系列的统计学论文中提出隐马尔可夫模型。后续在20世纪70年代中期,该模型最初应用于语音识别领域。 隐马尔可夫过程是由一个隐藏的马尔可夫链随机生成不可观测的状态序列,再由各个状态生成一个观测值,进而产生观测值随机序列的过程。序列每一个位置可以看作是一个时刻。该模型由初始概率分布、状态转移概率分布以及观测概率分布确定。模型定义如下: 设Q是所有可能状态的集合,V是所有可能观测的集合: �=[q1,q2,……,qN], �=[v1,v2,……,vM], 其中N是可能的状态数,M是可能的观测数。 设S是长度为T的状态序列,O是对应的观测序列: S[s1,s2,……,sT] O[o1,o2,……,oT] 状态转移概率矩阵A为: �=[ai,j]NN 其中ai,jP(st1qj|stqi),i1,2,…,N;j1,2,…,N,表示在时刻�处于状态qi的条件下,在时刻�+1转移到状态qj的概率。 观测概率矩阵B为: 其中bj,kP(otvk|stqi),k B[bj,k]NM 1,2,…,M;j 1,2,…,N,表示在时刻t处于 状态qi的条件下生成观测vk的概率。初始状态概率向量�为: [i] 其中,iP(s1qi),i1,2,…,N,表示时刻�=1处于状态qi的概率。 隐马尔可夫模型由初始状态概率向量�、状态转移矩阵�和观测概率矩阵�决定。�和�决定状态序列,�决定观测序列。因此隐马尔可夫模型�可以用三元符号表示即: �=(𝐴,𝐵,𝜋) 其中,�、�和�称为隐马尔可夫模型的三要素。在隐马尔可夫模型中针对观测变量、隐藏状态以及两者之间的关系可以产生三个典型问题: (1)概率计算问题。给定模型�=(𝐴,𝐵,𝜋)和观测序列O[o1,o2,……,oT],计算在模型�下观测序列�出现的概率𝑃(𝑂|𝜆)。 (2)学习问题。已知观测序列O[o1,o2,……,oT],估计�=(𝐴,𝐵,𝜋)参数,使得在该模型下的观测序列概率𝑃(𝑂|𝜆)最大。即用极大似然估计模型。 (3)预测问题,也称为解码问题。已知模型�=(𝐴,𝐵,𝜋)和观测序列O[o1,o2,……,oT],求对给定观测序列条件概率𝑃(S|𝜆)最大的状态序列S[s1,s2,……,sT],即给定观测序列,求最有可能对应的状态序列。 2.3隐马尔可夫模型示例 本节以一个形象的例子,详细描述如何将现实中的问题转换为标准的隐马尔可夫模型。 现有4个鱼缸(如表1所示),每个鱼缸里都装有红、黑两种颜色的鱼,各个鱼缸中两种颜色鱼的数量见表1。按照下述规则选择5次鱼缸,每次都从选择的鱼缸中随机抽出1条鱼,记录颜色后将其放回。 表1各个鱼缸两种颜色鱼的数量 鱼缸1 鱼缸2 鱼缸3 鱼缸4 红鱼数 2 5 3 8 黑鱼数 8 5 7 2 资料来源:首创证券 第1次:从4个鱼缸中随机选取1个鱼缸; 剩余4次的规则如下: 若上一次选择的是鱼缸1,那这次以50%的概率选择鱼缸2、以50%的概率选择鱼缸4; 若上一次选择的是鱼缸2,那这次以10%的概率选择鱼缸1、以90%的概率选择鱼缸3; 若上一次选择的是鱼缸3,那这次以30%的概率选择鱼缸2、以70%的概率选择鱼 缸4; 若上一次选择的是鱼缸4,那这次以50%的概率依然选择鱼缸4、以50%的概率选择鱼缸3; 经过上述5次操作,可以得到一个鱼的颜色序列:[红,红,黑,黑,红]。 在上述过程中,外部观察者只能观测到所抽取鱼的颜色序列,即为观测序列;无法得知鱼是从哪个鱼缸取出,观测不到鱼缸序列,即为状态序列。状态序列每个状态的取值仅取决于上一个时刻状态(见前文抽5次鱼规则的描述),与其他状态无关。 上述问题可以转换为如下隐马尔可夫模型: 选择的鱼缸对应隐藏状态,即状态集合为:Q=[鱼缸