您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[东方证券]:基于残差网络的端到端因子挖掘模型 - 发现报告
当前位置:首页/其他报告/报告详情/

基于残差网络的端到端因子挖掘模型

2023-08-24杨怡玲东方证券艳***
基于残差网络的端到端因子挖掘模型

基于残差网络的端到端因子挖掘模型 ——因子选股系列之九十六 研究结论 本文我们提出了一个基于残差网络的两阶段因子挖掘模型,通过构造数据图片并使用残差网络进行时间截面特征提取,之后再输入循环神经网络进行时序特征提取, 这样能有效的捕捉长周期信息且不会付出较大的计算代价。 本文将原始日内分钟线和周度内日k线构造的数据图片集分别称之为msnew和week 数据集,并将这两个数据集分别直接输入模型采用将原始数据直接作为输入来获取该数据集打分。这种做法完全实现端到端的模式可以有效的缓解信息丢失问题,并且也解决了人工筛选特征带来的过拟合问题。 数据集msnew与数据集ms生成的因子之间信息重叠度较高但仍然存在差异。主要 金融工程|专题报告 报告发布日期2023年08月24日 证券分析师杨怡玲 yangyiling@orientsec.com.cn 执业证书编号:S0860523040002 联系人陶文启 taowenqi@orientsec.com.cn 原因在于数据集msnew使用的是半小时k线数据作为输入,而数据集ms则是根据五分钟k线人工构建的日频特征,二者原始数据信息天然存在差异; 数据集msnew生成打分的选股能力整体略高于数据集ms。通过将数据集msnew生成的弱因子替代数据集ms参与非线性加权得到的打分在四个股票池上表现并没有发生较大改变,这说明数据集msnew对数据集ms有较好的替代性。 数据集week上生成因子选股能力显著好于数据集day,说明更长时序作为输入对未来收益率的预测能力更强。并且通过引入week数据集,非线性加权打分在各股票池上的各项选股指标均有显著的提升,说明数据集week能够对整体模型起到一个较大的增量作用。 我们提出的两种不同数据集组合Model3和Model4非线性加权打分在中证全指、沪深300、中证500、中证1000四个指数上十日RankIC均值分别为14.97%、9.57%、11.29%、14.63%和14.99%、9.36%、11.98%、14.57%,top组年化超额分别为41.48%、26.02%、21.28%、35.02%和41.76%、25.58%、21.67%、 34.56%,打分市值偏向性较低。 以上两个打分也可直接应用于指数增强策略,各宽基指数上均能获得显著的超额收益,在成分股不低于80%限制、周单边换手率约束为20%约束下,2018年以来,Model3打分在沪深300、中证500和中证1000增强策略上年化超额收益率分别为 14.49%、19.76%和29.41%,Model4打分在沪深300、中证500和中证1000增强策略上年化超额收益率分别为14.76%、20.15%和28.72%。 风险提示 量化模型失效 极端市场造成冲击,导致亏损 基于循环神经网络的多频率因子挖掘:— —因子选股系列之九十一 多模型学习量价时序特征:——因子选股系列之八十三 周频量价指增模型:——因子选股系列之八十一 2023-06-06 2022-06-12 2022-03-28 有关分析师的申明,见本报告最后部分。其他重要信息披露见分析师申明之后部分,或请与您的投资代表联系。并请阅读本证券研究报告最后一页的免责申明。 目录 引言4 一、因子提取单元网络结构5 1.1残差网络(ResidualNetworks&ResNet)概述5 1.2数据图片以及数据集的构造6 1.3本文使用特征提取的网络架构6 二、因子分析8 2.1各数据集选股效果分析8 2.2各数据集打分与常见量价因子相关性分析9 三、各数据集因子非线性加权结果分析10 四、合成因子指数增强组合表现12 4.1增强组合构建说明12 4.2沪深300指数增强13 4.3中证500指数增强14 4.4中证1000指数增强15 五、结论16 附录17 风险提示17 核心参考文献17 图表目录 图1:AI量价模型框架4 图2:ResNet层结构说明5 图3:数据图片6 图4:ResNet特征提取示意图7 图5:端到端因子挖掘网络结构7 图6:NNLayer结构7 图7:各数据集多元RNN因子年化超额收益(回测期20170101~20230630)8 图8:各数据集打分与常见量价因子相关性分析9 图9:非线性加权打分中证全指分组年化超额收益(回测期20180101~20230630)10 图10:非线性加权打分分组年化超额收益(回测期20180101~20230630)12 图11:沪深300指增净值走势(Model3)13 图12:沪深300指增净值走势(Model4)13 图13:中证500指增净值走势(Model3)14 图14:中证500指增净值走势(Model4)14 图15:中证1000指增净值走势(Model3)15 图16:中证1000指增净值走势(Model4)15 表1:各数据集多元RNN因子IC分析(回测期20170101~20230630)8 表2:各数据集生成因子间Pearson相关系数8 表3:中证全指选股汇总表现(回测期20180101~20230630)10 表4:中证全指各年度选股表现(回测期20180101~20230630)11 表5:沪深300选股表现(回测期20180101~20230630)11 表6:中证500选股表现(回测期20180101~20230630)11 表7:中证1000选股表现(回测期20180101~20230630)11 表8:沪深300指增组合分年度超额收益率13 表9:沪深300指增组合汇总表现13 表10:中证500指增组合分年度超额收益率14 表11:中证500指增组合汇总表现14 表12:中证1000指增组合分年度超额收益率15 表13:中证1000指增组合汇总表现15 表14:因子说明17 引言 近年来机器学习模型在量化投资领域得到了广泛的应用。基于机器学习模型良好的拟合和特征提取能力,前期报告《基于循环神经网络的多频率因子挖掘》利用RNN、决策树模型搭建了AI量价模型框架并将其应用于选股。回测结果显示该策略在样本外有着十分显著的选股效果。 这套AI量价模型框架主要是基于多个不同频率数据集搭建的。整个框架分三部分,数据预处理、提取因子单元、因子加权。数据预处理主要是将各数据集中的不同特征分别进行去极值、标准化和补充缺失值等操作使各特征之间量纲可比且减少异常值带来的影响。提取因子单元则是利用RNN将预处理后的时序数据作为输入,输出含整个序列信息的因子单元。因子加权通常对提取的因子单元进行加权形成个股的打分,最终根据这个打分进行选股。整个框架可表示为下图形式: 图1:AI量价模型框架 资料来源:东方证券研究所 注意到在我们之前的框架中存在着几个问题: 1.原数据集时序数据仅包括过去30个交易日的量价信息,但一些基于长周期量价构建的alpha因子也具有一定的选股效果。考虑到RNN模型的串联结构,如果我们仅依靠延长数据集day时序长度来捕捉长周期信息对硬件要求较高,计算成本较大。 2.人工构建的ms数据集不能完整的反映分钟k线数据的全部信息。通过将原始分钟k线的数据通过神经网络来进行降频和特征提取有助于对信息挖掘的充分性起到一定的帮助。 基于以上两个角度,我们提出了一个基于ResNet的端到端因子挖掘模型,该模型的优势在于: 1.第一阶段我们对于时序数据不同时刻的数据图片使用ResNet进行截面特征提取过程相互独立,因此这一部分可以并行计算,这将大大缩短计算时间。 2.相较于人工合成相应频率的特征,将原始数据直接作为模型的输入完全实现端到端的模式可以较好的缓解信息丢失等问题,并且也解决了人工筛选特征所带来的过拟合问题。 一、因子提取单元网络结构 1.1残差网络(ResidualNetworks&ResNet)概述 在训练深度神经网络时,通常都是通过梯度下降的方式对参数进行优化,即从神经网络的输出层(outputlayer)开始由后向输入层(inputlayer)递归计算每一层的梯度。当层数很多的时候,如果大部分层的梯度都是小于1,梯度就会变得越来越小,最终会出现梯度消失的问题。当梯度无限接近于0的时候,神经网络的参数就没有办法更新学习了。为了解决这个问题,于是就有了残差连接(skipconnection)的这个思路。残差连接的核心思想是在每一层输出上额外加上这一层的输入的连接路径,实际上这一层主路径在学习输入与输出之间的残差,而输入输出连接路径则缩短了反向传播距离,有效避免了梯度消失问题。 Skipconnection主要有两种方式分别是addition和concatenation,Concatenation方式则主要来源于DenseNet[1],其是将输入和主路径(称之为DenseBlock)的输出进行拼接得到最终的输出。Addition方式主要来源于ResNet[2],其简单的将输入和主路径(称之为ResidualBlock)的输出直接相加作为残差连接的输出。数学上Addition方式对应函数关系可以简单的表示为 𝒙𝑙+1=𝒙�+ℱ(𝒙𝑙) 其中𝒙�表示ResNet第�层输出,ℱ表示ResidualBlock对应的函数,其结构可表示为如下形式: 图2:ResNet层结构说明 资料来源:东方证券研究所 神经网络特征提取过程可以看作是一个动力系统的衍化过程,因此对∀�>0,如果引入时间分割 𝛥�=𝑇/𝐿,并且把第�层输出看成是一个关于时间的函数在时刻𝑇𝑙/�的值𝒙(𝑇𝑙/𝐿),那么一个� 层的ResNet特征提取器可以表示为以下常微分方程(ODE)具有时间步长𝛥�的向前欧拉离散[3]: 𝑑𝒙(𝑡)=𝑣(𝒙(𝑡),𝑡)𝑑𝑡,�∈[0,𝑇] 这里𝑣(𝒙(𝑡),𝑡)满足𝑣(𝒙(𝑡),𝑡)𝛥�=ℱ(𝒙(𝑡))。因此根据皮卡定理只要函数ℱ满足李普希兹条件,无论多深的ResNet均具有可解性(随着深度增加ResNet将收敛到上述ODE的解),所以 ResNet在各方面性能优于传统深度神经网络。基于ResNet与ODE的联系,Chen提出了参数量更少性能更优的NeuralODE[4]。总之,加上skipconnection将使得神经网络性能大幅提升。 1.2数据图片以及数据集的构造 本模型中我们将输入数据拼接成矩阵的形式形成一张数据图片,其结构示意图如下所示: 图3:数据图片 资料来源:东方证券研究所 与真实图片不同的地方,数据图片虽然横向是连续变化的且相邻两个元素之间存在相关关系,但纵向不满足这种关系,即我们希望纵向打乱行向量输出将不发生改变,因此在进行数据图片卷积操作时,我们把纵向作为图片的通道,采用一维卷积(conv1d)横向对数据图片进行卷积操作。 对于week数据集,我们把过去150个交易日按照每五个交易日高开低收、vwap、turnover字段作为一张数据图片(字段预处理方法采用高开低收、vwap字段按照时序都除以最后一天收盘价,turnover不做处理),最终得到时序长度为30的“图片”时序数据(此处含义是这个时序数据由三十张不同时间节点的数据图片构成)。即假设当前交易日为t,t-5k+1到t-5k+5交易日构成的数据图片对应时序数据中第k个时刻的特征(这里k=1,2…,30),此时数据图片大小为6 ×5。 对于msnew数据集,我们把日内八个“半小时k线”对应的高开低收、amt字段作为一张数据图片(字段预处理方法采用高开低收价格分别除以前一天收盘价,成交额除以流通市值),把过去三十个交易日每天的数据图片拼成一个长度为30的“图片”时序数据。此时数据图片大小为5×8。 1.3本文使用特征提取的网络架构 基于残差网络的思想,我们设计了一个端到端的因子挖掘的网络结构,首先将数据图片通过一个ResNet进行特征提取,接着将提取出来的特征对应的时间序列按照时间先后顺序依次输入到一系列RNNCell中,取最后一