您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[首创证券]:金融工程2024年度策略-基于动态时间弯曲算法的行业轮动策略研究:模式识别之形态匹配 - 发现报告
当前位置:首页/其他报告/报告详情/

金融工程2024年度策略-基于动态时间弯曲算法的行业轮动策略研究:模式识别之形态匹配

2023-11-24首创证券J***
金融工程2024年度策略-基于动态时间弯曲算法的行业轮动策略研究:模式识别之形态匹配

王仕进 首席分析师 SAC执证编号:S0110522100001 wangshijin@sczq.com.cn 行业轮动模型累计超额收益及最大回撤 资料来源:Wind资讯、首创证券 DTW算法优势示例:时间长度不同的序列 资料来源:首创证券 金融工程2024年度策略:模式识别之形态匹配——基于动态时间弯曲算法的行业轮动策略研究 金融工程|量化研究专题报告|2023.11.23 核心观点 日本学者Itakura(板仓)为解决衡量不同长度时间序列相似度的问题提出动态时间弯曲算法。本文以该方法为理论基础,基于历史会重演的理论假设,通过计算当前行业所属形态与历史中该行业未来出现显著上涨或下跌时所有形态的距离中位数,预测行业未来上涨概率,进而构建基于形态匹配的行业轮动策略。 不同时间序列相似度计算方法优劣: 相关系数法:日收益率或累计收益率高度相关的两个统计量,其累计收益序列形态可能迥异。 欧氏距离法:各时间序列长度需相同;无法进行异步相似度计算。 动态时间弯曲算法:可以巧妙地拉伸(弯曲)某一序列的时间轴,更好地对不同时间序列进行异步形态相似度计算。 动态时间弯曲算法显著优于欧式距离:不同参数下DTW算法样本内超额收益显著高于欧氏距离。前者较后者而言:累计超额收益高6%至15%;最大回撤低2%至6%;月度胜率高4%至8%。 样本内收益稳定:2021年、2022年的年度费后收益均超过10%,最大回撤分别为4.69%、3.47%。从胜率来看,2021年胜率为75%;虽然2022年胜率只有58%左右,但其月度盈亏比较高,位于3左右,使得累计超额收益较为可观。 样本外收益持续:2023年前10个月费后累计超额收益为8.01%,年化收益率9.68%。最大回撤仅为3.5%左右,此外超额收益的年化波动率只有6.12%,比样本内低1%以上。前10个月中有色金属、非银行金融等行业分别入选5次、4次,且其入选时下月实际收益位于全行业前15名的概率为100%。 样本外Top行业实际收益排名靠前:2023年前十个月中有7个月的平均名次在前15名以内,占比达70%;其中1月、5月以及8月的平均名次更是位于前10名。此外前十个月第1名出现3次,前3名共计出现7次,前5名共计出现14次,前10名共计出现24次,而前15名则共计出现39次,相对于总样本数量(60次)占比接近2/3。 2023年11月份Top行业:基于动态时间弯曲算法行业轮动模型11月份Top行业为石油石化、电力及公共事业、钢铁、建筑、电力设备及新能源以及非银行金融等行业。 风险提示:报告中所构建的行业轮动模型基于历史会重演的理论前提假设。但在实际资本市场中,受政策、制度、市场风格或流动性的影响,投资者的交易习惯未来可能发生变化,或导致相同及相近的量价形态下观察窗口与待比较窗口的交易规律迥异,进而使得行业轮动模型有失效的风险。 目录 1前言1 2时间序列相似度计算方法概述1 2.1相关系数法1 2.2欧氏距离法3 2.3动态时间弯曲算法3 2.3.1算法相关原理3 2.3.2算法可视化示例5 2.3.3算法优势示例7 2.4本文拟采用的模型9 3基于动态时间弯曲算法行业轮动模型回测框架10 3.1样本区间选择10 3.2模型回测逻辑及框架10 3.3模型回测逻辑的几点思考11 3.3.1形态特征代理变量的选择11 3.3.2特征的标准化11 3.3.3上行、下行形态的划分11 4基于动态时间弯曲算法行业轮动模型回测表现12 4.1样本内回测12 4.1.1模型参数选择12 4.1.2优选参数下样本内表现13 4.2样本外检验15 5总结和展望20 5.1本文总结20 5.2未来展望21 6风险提示21 插图目录 图1日收益高度相关的时间序列其累计收益2 图2日收益高度相关的时间序列其日收益散点图2 图3累计收益高度相关的时间序列其累计收益2 图4累计收益高度相关的时间序列其累计收益散点图2 图5动态时间弯曲算法流程图5 图6DTW算法优势示例:时间长度相同、但周期长度不同的序列8 图7DTW算法优势示例:时间长度不同的序列9 图8样本内不同涨跌阈值下行业轮动模型累计超额收益13 图9样本内分组超额收益14 图10历史区间9%涨跌阈值下样本内显著上涨、下跌平均样本数14 图11行业轮动模型累计超额收益及最大回撤16 图12样本外月度IC统计16 图13样本外月度超额收益16 图14样本外Top行业下月收益位于全行业平均名次18 图15样本外Top行业下月收益位于全行业各名次出现次数18 图16样本外Top行业月度换手率19 表格目录 表1序列X与序列Y各点两两之间距离6 表2序列X与序列Y之间的DTW最短路径7 表3样本内不同涨跌阈值下行业轮动模型超额收益12 表4样本内月度超额收益15 表5样本外超额收益统计15 表6样本外月度优选行业及其下月收益排名17 1前言 广义上模式识别是利用数学技术,借助计算机高效的运算性能,对数字、语音、文字以及逻辑关系等信息进行处理和分析,并根据特征属性对上述事物或现象进识别和分类的过程。 形态匹配属于技术分析的范畴,而技术分析的一个重要前提假设为:历史会重演。本质上该假设是对市场参与者心理的描述,认为在相同的心理状态下,市场参与者将趋向于相近的交易模式,进而导致历史重演。正是这种现象,使得通过统计与某行业近期形态(多元特征)相同或相近的历史形态其未来市场表现规律,对该行业未来市场表现做出预测成为一种可能。 那么如何用形态匹配的方法构建行业轮动模型呢?本文比较多种不同时间序列相似性计算方法的优劣,基于早期日本学者Itakura(板仓)提出的为解决衡量不同长度时间序列相似度问题的动态时间弯曲算法(DynamicTimeWarping,简称DTW),基于历史会重演的理论假设,预测当前行业未来的上涨概率,进而构建行业轮动策略。 2时间序列相似度计算方法概述 时间序列相似度,是研究时间序列特征的重要细分方向,也是时间序列挖掘的研究热点之一。本章简述几种常见的衡量时间序列相似度的方法,并在分析其不足的基础上,提出动态时间弯曲算法,该方法能更好地对不同时间长度、不同波动周期的时间序列其相似度进行计算。 2.1相关系数法 提及时间序列相似度计算,常见的是相关系数法。相关系数衡量的是不同序列之间线性相关程度,其计算公式如下: X,Y E(XY)E(X)E(Y) E(X2)(E(X))2E(Y2)(E(Y))2 其中: X,Y即为统计量X和Y之间的相关系数; E表示期望。 正是由于相关系数衡量的是不同统计量之间线性相关程度,其无法度量两个统计量之间非线性关系,该方法会出现下述问题: 1、日收益率高度相关的两个统计量,其累计收益序列形态亦可能迥异; 假设X为某只股票的收益率序列,令其服从正态分布X~N(0.01,0.05) 为0.01,标准层为0.05的正态分布。 ,即均值 假设Y为另一只股票的收益率序列,令YXN(0.01,0.005),即Y为X叠加一个均值为-0.01,标准差为0.005的正态分布噪声。股票X与Y的累计收益曲线及日收益散点图如下(图1、图2): 图1日收益高度相关的时间序列其累计收益图2日收益高度相关的时间序列其日收益散点图 资料来源:首创证券资料来源:首创证券 由图2可以看出两者日收益率线性回归方程的R2为99%,两者相关系数为99.5%,表明高度线性相关,但其累计收益迥异(见图1)。100个交易日,序列X累计收益为91.5%,而序列Y的累计收益仅为-29%。由此可以看出日收益率高度相关的两个统计量,其累计收益序列形态可能迥异。 2、累计收益率高度相关的两个统计量,其累计收益序列形态亦可能迥异; 假设X为某只股票的收益率序列,令其服从正态分布X~N(0.003,0.05),即均值为-0.003,标准层为0.05的正态分布; 假设Y为另一只股票的收益率序列,令YX/3N(0.001,0.005),即Y为X/3叠加一个均值为-0.001,标准差为0.005正态分布的噪声。股票X与Y的累计收益曲线及日收益散点图如下(图3、图4): 图3累计收益高度相关的时间序列其累计收益图4累计收益高度相关的时间序列其累计收益散点图 资料来源:首创证券资料来源:首创证券 由图4可以看出两者累计收益率线性回归方程的R2为97.3%,两者相关系数为98.6%,亦表明高度线性相关,但其累计收益迥异(见图3)。100个交易日,序列X累计收益为-67.9%,而序列Y的累计收益为-34.3%。由此可以看出累计收益率高度相关的两个统计量,其累计收益序列形态亦可能迥异。 2.2欧氏距离法 欧氏距离为常见的计算时间序列相似度的方法,该方法可以直接衡量两个时间序列之间的距离,其计算公式为:  i1 N (XY) 2 ii D 其中N为序列X和序列Y的长度。 由上述公式可以看出,若要计算两个序列之间的欧氏距离,有两个局限性: 1、两个序列的长度需要相同,但在实际研究工作中,找到满足上述条件的序列并非易事。 2、该方法也无法进行异步相似度计算,因此会对实际上较为相似的两个时间序列其相似性做出误判。 2.3动态时间弯曲算法 在实际研究工作中,我们通常面临需要解决计算不同长度时间序列相似度的问题,而此时通常的做法则是利用特征抽取、或者数据降维等技术,分别对原序列提取相同长度的特征或样本,再对所提取的样本计算其相似度。但该方法会损失原始数据的部分信息,不是一种切实有效的方法。 动态时间弯曲算法(DynamicTimeWarping,简称DTW)最早由日本学者Itakura (板仓)提出,以解决上述衡量不同长度时间序列相似度的问题。该算法提出初期主要应用于语音识别、文字识别、视频动作识别等领域中。 以语音识别为例,由于不同个体的习惯差异,同一段话由不同人讲耗时会有明显差异。即便是由同一个人讲,由于语境差异,同一段话由不同的语气表达,耗时也会有较大不同。此时在计算两段语音数据相似度时,需要将两者在时间维度上“拉伸对齐”,否则将会对其相似度做出误判。 2.3.1算法相关原理 动态时间弯曲算法,顾名思义该算法可以巧妙地通过拉伸(弯曲)某一序列时间轴的方式,以实现更好地对不同时间序列进行异步形态匹配,进而达到计算其相似度的目的。动态时间弯曲算法的详细计算逻辑如下: 现有两个长度不同的时间序列X和Y,其长度分别为m和n,如下: X[x1,x2,...,xm1,xm] Y[y1,y2,...,yn1,yn] 其中每一个样本xi、yj可以是一维,也可以是多维,但其维数必须相等。此处为了能够将序列X和序列Y在时间维度上对齐,需引入维度为m*n的矩阵D: D[d(xi,yj)] 其中1<=i<=m,1<=j<=n。矩阵D中每一个样本d(xi,yj)表示样本xi与yj之间的距离,该距离可以选择欧氏距离、马氏距离或切比雪夫距离等不同计算方式。此处文本选择常见的欧式距离。 至此序列X和序列Y在时间维度上的对齐问题,可以转换为寻找一条从矩阵D左下角(x1,y1)到右上角(xm,yn)的距离最短路径问题,需要注意的是此路径需满足下述三个条件: 1、首尾对齐:该路径的起点为(x1,y1),终点为(xm,yn),即最短路径必须从矩阵的左下角开始,并于右上角结束; 2、连续性:若最短路径上当前点zk(xi,yj),上一个点为zk1(xi',yj'),则ii'1,jj'1,即中间不能有跳跃的点,以此保证不损失原序列任何信息; 3、单调性:若最短路径上当前点zk(xi,yj),上一个点为zk1(xi',yj'),则 ii'0,jj'0,即最短路径上的点在时间维度上不走回头路。 由上述三个约束条件可知,假设最短路径经过的当前点为(xi,yj),那么该路径的上一个点只能是(xi1,yj1)、(xi,yj1)或(xi1,yj)这三个点