您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[东方证券]:因子选股系列之九十一:基于循环神经网络的多频率因子挖掘 - 发现报告
当前位置:首页/其他报告/报告详情/

因子选股系列之九十一:基于循环神经网络的多频率因子挖掘

2023-06-06杨怡玲东方证券比***
因子选股系列之九十一:基于循环神经网络的多频率因子挖掘

基于循环神经网络的多频率因子挖掘 ——因子选股系列之九十一 研究结论 前期报告《周频量价指增策略》利用RNN为主体模型搭建了AI量价模型框架,并将其应用于选股策略。本报告主要对该报告中数据预处理和RNN模型提取因子这两部分进行了复现和一些细节方面改进,包括最后一层增加Batch-Norm层、使用的标签经过中性化和截面标准化等预处理。 通过讨论模型中一些参数的设置,我们认为:1)适当降低模型的学习率有助于梯度下降时寻找到验证集上表现更优的模型参数,但会大大增加模型训练时间;2)增加RNN中丢弃率大小有助于增强模型的泛化能力,但会降低模型在验证集上的表现;3)验证集上模型性能随正交惩罚参数增大呈现先上升后下降的趋势;4)适当增加因子单元个数有利于控制生成各单因子间的低相关性,但会增加过拟合风险。 金融工程|专题报告 报告发布日期2023年06月06日 证券分析师杨怡玲 yangyiling@orientsec.com.cn 执业证书编号:S0860523040002 联系人陶文启 taowenqi@orientsec.com.cn 2017年以来,一元和多元RNN等权合成因子在中证全指、沪深300、中证500、中证1000四个指数成分股上双周频RankIC均值分别为14.47%、10.05%、11.03%、14.45%和14.63%、10.24%、11.15%、14.91%,数值均超过了10%。这说明RNN生成因子市值偏向性较低 RNN在各数据集生成因子等权合成之后打分可直接应用于指数增强策略,成分股不低于80%限制、周单边换手率约束为20%约束下,一元模型打分在沪深300、中证500和中证1000增强策略上年化对冲收益率分别为12.22%、13.79%和23.63%,多元模型打分在沪深300、中证500和中证1000增强策略上年化对冲收益率分别为12.52%、14.85%和22.15%。 根据各数据集上生成因子回测结果,我们认为1)多元RNN生成因子单元中各单因子仍然有较好的选股能力且各单因子之间相关性较低,说明多元RNN挖掘因子能力较高;2)我们分钟特征数据集并没有完全表示分钟k线数据包含信息,分钟线特征有待进一步挖掘;3)我们level2特征数据集所包含的信息与日频及分钟特征数据集重叠度更低,进一步研究level2特征将会给整个模型带来更多增量。 风险提示 量化模型基于历史数据分析,未来存在失效风险,建议投资者紧密跟踪模型表现。 极端市场环境可能对模型效果造成剧烈冲击,导致收益亏损。 多模型学习量价时序特征:——因子选股 系列之八十三 周频量价指增模型:——因子选股系列之八十一 2022-06-12 2022-03-28 有关分析师的申明,见本报告最后部分。其他重要信息披露见分析师申明之后部分,或请与您的投资代表联系。并请阅读本证券研究报告最后一页的免责申明。 目录 引言5 一、基于机器学习的AI量价模型介绍5 1.1一元以及多元RNN模型概述6 1.2模型训练与数据说明8 二、模型的参数设定10 2.1不同学习率(learningrate)的影响10 2.2不同丢弃率(dropoutrate)的影响11 2.3不同正交惩罚参数的影响11 2.4多元RNN生成因子个数的影响12 三、模型的因子分析结果13 3.1多元RNN生成因子单元中单因子的表现13 3.2RNN在各数据集上生成因子的表现14 3.3RNN等权合成因子的表现16 3.4等权合成因子与量价因子的相关性分析18 四、合成因子指数增强组合表现19 4.1增强组合构建说明19 4.2沪深300组合增强19 4.3中证500组合增强21 4.4中证1000组合增强22 五、结论23 风险提示24 图表目录 图1:AI量价模型框架6 图2:RNN模型结构7 图3:一元RNN的NN层结构示意图7 图4:多元RNN的NN层结构示意图7 图5:模型训练示意图9 图6:不同学习率训练集上损失函数变化情况10 图7:不同学习率验证集上RankIC变化情况10 图8:不同丢弃率训练集上损失函数变化情况11 图9:不同丢弃率验证集上RankIC变化情况11 图10:生成不同因子数验证集上RankIC变化情况12 图11:生成不同因子数验证集上因子平均相关系数变化情况12 图12:数据集day上因子单元RankIC分布13 图13:数据集day上因子单元RankIC_IR分布13 图14:数据集ms上因子单元RankIC分布13 图15:数据集ms上因子单元RankIC_IR分布13 图16:数据集l2上因子单元RankIC分布14 图17:数据集l2上因子单元RankIC_IR分布14 图18:沪深300指增对冲净值曲线(成分股不限制)20 图19:沪深300指增对冲净值曲线(成分股不低于80%)20 图20:中证500指增对冲净值曲线(成分股不限制)22 图21:中证500指增对冲净值曲线(成分股不低于80%)22 图22:中证1000指增对冲净值曲线(成分股不限制)23 图23:中证1000指增对冲净值曲线(成分股不低于80%)23 表1:模型训练设置9 表2:不同学习率训练RNN表现结果10 表3:不同丢弃率训练RNN表现结果11 表4:不同λ训练多元RNN结果汇总12 表5:生成不同因子数训练多元RNN表现结果12 表6:各数据集上单因子表现汇总14 表7:多元RNN各数据集上因子单元之间相关系数(Pearson)14 表8:各数据集因子表现(回测期20170103~20230428)15 表9:一元RNN各数据集生成因子间相关系数(左下Spearman右上Pearson)15 表10:多元RNN各数据集生成因子间相关系数(左下Spearman右上Pearson)15 表11:一元RNN各数据集生成因子衰减速度(回测期20200101~20230428)16 表12:多元RNN各数据集生成因子衰减速度(回测期20200101~20230428)16 表13:等权合成因子RankIC分析(回测期20170103~20230428)17 表14:等权合成因子分层测试的结果(回测期20170103~20230428)17 表15:等权合成因子与日频量价因子相关系数18 表16:等权合成因子与日内合成量价因子相关系数18 表17:各常见量价特征含义18 表18:沪深300指增组合分年度表现(成分股不限制)19 表19:沪深300指增组合汇总表现(成分股不限制)20 表20:沪深300指增组合分年度表现(成分股不低于80%)20 表21:沪深300指增组合汇总表现(成分股不低于80%)20 表22:中证500指增组合分年度表现(成分股不限制)21 表23:中证500指增组合汇总表现(成分股不限制)21 表24:中证500指增组合分年度表现(成分股不低于80%)21 表25:中证500指增组合汇总表现(成分股不低于80%)21 表26:中证1000指增组合分年度表现(成分股不限制)22 表27:中证1000指增组合汇总表现(成分股不限制)22 表28:中证1000指增组合分年度表现(成分股不低于80%)23 表29:中证1000指增组合汇总表现(成分股不低于80%)23 引言 多因子策略是股票量化投资中比较经典的策略。多因子策略的核心出发点是,股票的下一期收益和本期的某些历史数据高度相关。通常这些历史数据取值越高,股票未来的收益越高的概率就越大,就越推荐持有数据取值高的这部分股票,并卖空取值低的另一部分股票。这种具有预测性的数据我们称之为因子。我们在做多因子策略时,希望通过底层量价或者基本面等数据挖掘出更多与股票未来收益有强相关性的因子,并通过特定的方式组合因子形成一个打分,从而得到一个对股票未来收益更准确的判断。因此如何从底层数据中挖掘有效的因子成为多因子策略研究的一个重要的议题。 传统的因子挖掘过程更多的是依赖于人工进行的,一些常见的挖掘思路已经被各家机构付诸实现,再试图通过人工发现一些能够带来增量的有效因子已经变得十分困难,传统人工挖掘因子的方法已经无法满足日益扩大的量化投资需求。 此外,挖掘因子问题大部分情况都是非线性的,面对这类问题时,线性回归、自回归移动平均等传统线性拟合性挖掘因子的方法往往会显得力不从心。 遗传规划(geneticprogramming&gp)挖掘因子的方法应运而生,gp的核心思想是把一些已有因子通过加减乘除等算子组合成新的因子,理论上这种方法可以无限迭代且确实能够生成许多新的与原始因子低相关和未来收益率相关性较高的因子。但是这种方法褒贬不一,首先它能够生成大量因子,其中只有部分因子在样本外确实表现十分优异,但人们很难有一个较好的准则去从中筛选出有效因子。其次这种方法生成的许多因子是通过各种算子复合作用以后得到的,这些生成因子通常表达式复杂,且无法对这些因子给出一个直观合理的解释,且这些因子失效速度也较快。 近年来随着神经网络、决策树等非线性机器学习模型研究的不断发展,相关机器学习模型因其强大的拟合能力和能有效的处理各种复杂问题在量化交易领域受到广泛的关注。并且常见的神经网络的输出本身就可以作为因子直接应用到选股策略中,因而神经网络等模型非常适合挖掘因子、因子合成等任务。与其他应用问题不同,金融数据存在噪声大、有效数据量不足等诸多挑战。面对这些挑战,机器学习相关算法都能很好的解决,比如使用小样本学习算法(FewShotLearning)能很好解决数据量不足等问题,dropout、earlystopping、weightdecay等机制能够帮助机器学习模型很好的解决过拟合问题,对抗训练(Adversarialtraining)能够帮助机器学习模型提升模型鲁棒性。总而言之,机器学习相关模型在多因子策略研究领域的应用潜力巨大。 一、基于机器学习的AI量价模型介绍 循环神经网络(RNN)作为神经网络中的一类因其强大的时序特征提取能力,在许多时间序列分析及预测问题上得到应用。对于量价选股问题,我们通常是给出股票池中个股历史量价时序信息,希望利用这些信息对未来个股的情况进行判断,而这正是一个典型的时序预测问题。因此前期报告《神经网络日频alpha模型初步实践》、《周频量价指增策略》、《多模型学习量价时序特征》利用RNN作为主体模型搭建了AI量价alpha模型框架,并将其应用于选股策略。这套AI量价alpha模型框架主要分成三个部分,输入特征预处理、提取因子单元、因子加权,其具体流程如图1所示。 图1:AI量价模型框架 资料来源:东方证券研究所绘制 日度k线、分钟k线合成的日度数据集、l2数据合成的日度数据集,我们分别称之为day、ms、l2数据集,其中day数据集包含6个特征,ms包含22个特征,l2包含20个特征。 输入特征预处理主要包括去极值、数据标准化以及缺失值补充三个步骤。这里预处理后的特征输入RNN得到的一维和多维因子的输出,我们称之为因子单元。每个数据集上将生成一组因子单元。因子加权主要有决策树非线性加权以及等权方法,本文主要考虑等权这种加权方式。相关回测结果显示该策略在样本外有着显著的选股效果。 1.1一元以及多元RNN模型概述 在整个AI量价alpha模型框架中,提取因子单元具体过程是将预处理好的量价时序信息输入到一个RNN模型中,RNN的输出则称之为因子单元(这里RNN是由一系列RNNcell和一个NN层构成的,其结构如图1所示)。 图2:RNN模型结构 数据来源:东方证券研究所绘制 上图中(⃑�𝟏,⃑�𝟐,⃑�𝟑,⋯,⃑�𝑻)代表一个时间序列数据,⃑��则代表时序数据在时间j对应的特征向量,其维数为M。我们通常将最后一个时间步的输出(称为RNN-output)通过一个NN层得到整个RNN最终的输出。 根据RNN输出的因子单元维数,我们又可将RNN划分为一元模型和多元模型。对于一元模型,每个时序数据的RNN-output是一维的。若每