金融工程专题 2024年05月24日 深度学习赋能交易行为因子 金融工程研究团队 ——市场微观结构(24) 魏建榕(首席分析师) 魏建榕(分析师)盛少成(分析师) 证书编号:S0790519120001 张翔(分析师) weijianrong@kysec.cn 证书编号:S0790519120001 遗传算法绩效回顾 shengshaocheng@kysec.cn 证书编号:S0790523060003 证书编号:S0790520110001 傅开波(分析师) 证书编号:S0790520090003 高鹏(分析师) 证书编号:S0790520090002 苏俊豪(分析师) 证书编号:S0790522020001 胡亮勇(分析师) 证书编号:S0790522030001 王志豪(分析师) 证书编号:S0790522070003 盛少成(分析师) 证书编号:S0790523060003 苏良(分析师) 证书编号:S0790523060004 何申昊(研究员) 证书编号:S0790122080094 陈威(研究员) 证书编号:S0790123070027 蒋韬(研究员) 证书编号:S0790123070037 相关研究报告 《遗传算法赋能交易行为因子—市场微观结构(20)》-2023.8.6 《A股反转之力的微观来源—市场微观结构(1)》-2019.12.23 我们在《遗传算法赋能交易行为因子》中,创新性地提出“切割算子”,并结合其他算子和变量,利用改进的遗传算法流程,经过1轮10代的挖掘,得到了开 源金工遗传算法因子:Alpha185。从2017年1月至2024年4月,合成后因子RankIC为12.14%,RankICIR为4.45,10分组多空年化收益为34.79%,信息比率为3.16,2022年6月份以来的样本外整体表现也较为优异。 深度学习挖掘因子 基于LSTM框架的因子挖掘,为本文主要讨论的部分,从输入层到输出层分为4部分:1、输入层。我们考虑了三大类变量:日频量价、分钟频量价、大小单资金流;2、中间主体模型。我们使用时序处理应用较多的LSTM模型;3、加入财务数据,弥补量价类因子多头端分层一般的劣势;4、输出层。我们对比了单输出和多输出的绩效差别。基于该框架,产生了三大月频因子:𝐿𝑆𝑇𝑀𝑖𝑛𝑖�、 𝐿𝑆𝑇𝑀𝑝𝑟�、𝐿𝑆𝑇𝑀𝑝𝑟𝑜_𝑚𝑢𝑙𝑡𝑖: 1、未考虑财务数据的𝐿𝑆𝑇𝑀𝑖𝑛𝑖�RankIC为8.08%,RankICIR为3.99,已经具备较为优异的选股效果,但10分组多头较为一般,为量价类因子普遍的劣势。进一步地,我们引入财务数据去改善。 2、对于财务数据而言,考虑到其时序变化较慢,我们并没有将其和日度变化的量价类指标一起作为初始输入层数据,而是将其转化为分位点后,放入输出层前一层,和量价类指标通过隐藏层后的神经元进行拼接,一起通过全连接层输出为最后的因子𝐿𝑆𝑇𝑀𝑝𝑟�。该因子RankIC为9.17%,RankICIR为4.49,相较于𝐿𝑆𝑇𝑀𝑖𝑛𝑖�整体的绩效有所提升,更为重要的是,多头端的分层效果更为优异。 3、通过在原始损失函数的基础上加上多因子间的相关性惩罚,我们构建了多输出𝐿𝑆𝑇𝑀𝑝𝑟𝑜_𝑚𝑢𝑙𝑖𝑡,但是该因子绩效相较于𝐿𝑆𝑇𝑀𝑝𝑟�并无显著提升,训练成本反而更高,所以𝐿𝑆𝑇𝑀𝑝𝑟�为本文最后推荐的因子。 深度学习改进因子 除了因子挖掘,LSTM框架还可以尝试因子改进,本文我们以理想反转为例进行小篇幅展开,尝试使用LSTM对其进行改进,具体的做法即在原损失函数的基础上考虑与待改进因子的相关系数。改进理想反转因子的RankIC为-9.03%,RankICIR为-4.13,明显优于原始理想反转。 人工因子、遗传算法因子、深度学习因子对比 对于人工因子而言,我们选取了8大因子:理想反转、APM、聪明钱、理想振幅、主动买卖、大单残差、小单残差、散户羊群效应,8大因子的等权合成综合因子RankICIR为4.59;遗传算法Alpha_185因子RankICIR为4.45;深度学习因子RankICIR为4.49。在多头超额上,深度学习因子表现最优,在中证1000指数增强上表现也最好。 风险提示:本报告模型基于历史数据测算,市场未来可能发生重大改变。 金融工程 研究 金融工程 专题 开源证券 证券研究报 告 目录 1、遗传算法因子Apha185绩效回顾3 2、基于LSTM框架应用一:因子挖掘4 2.1、输入层数据:3大类变量4 2.2、主体模型:LSTM5 2.3、输出层前一层:加入财务数据6 2.4、输出层:因子数量的讨论7 2.5、LSTM因子挖掘绩效汇总8 2.6、不同样本空间测试9 2.7、深度学习因子与人工因子、遗传算法因子的对比分析10 3、基于LSTM框架应用二:因子改进12 4、风险提示14 图表目录 图1:开源金工特色遗传算法整体流程3 图2:开源金工遗传算法Alpha185因子合成后10分组表现较为优异4 图3:开源金工特色LSTM因子挖掘整体流程4 图4:𝑳𝑺𝑻𝑴𝒊𝒏𝒊�因子10分组表现较为优异,但多头端分组效果一般6 图5:加入财务后构建的因子𝑳𝑺𝑻𝑴𝒑𝒓�的10分组表现:多头端改善明显7 图6:多输出𝑳𝑺𝑻𝑴𝒑𝒓𝒐_𝒎𝒖𝒍𝒕�的10分组对冲:相较于𝑳𝑺𝑻𝑴𝒑𝒓�而言,收益波动比提升8 图7:深度学习因子𝑳𝑺𝑻𝑴𝒑𝒓�的中证1000指增净值表现较为优异9 图8:人工因子、遗传算法因子、深度学习因子挖掘因子流程10 图9:人工因子RankIC统计:综合因子RankIC达到11.1%11 图10:人工因子、遗传算法因子和深度学习因子的中证1000指增超额净值对比11 图11:原始理想反转因子10分组多空对冲收益波动比为2.8413 图12:相较于原始理想反转,改进理想反转多空对冲净值显著更高13 表1:输入层3大类变量列示5 表2:财务指标:9大类汇总6 表3:多输出的三个因子绩效:RankICIR皆在3以上8 表4:𝑳𝑺𝑻𝑴𝒊𝒏𝒊�、𝑳𝑺𝑻𝑴𝒑𝒓�、𝑳𝑺𝑻𝑴𝒑𝒓𝒐_𝒎𝒖𝒍𝒕�绩效对比8 表5:𝑳𝑺𝑻𝑴𝒑𝒓�在沪深300、中证500、中证1000测试绩效:中证1000内表现最优异9 表6:深度学习因子𝑳𝑺𝑻𝑴𝒑𝒓�的中证1000指增超额绩效:所以年份都录得正超额10 表7:人工因子、遗传算法因子和深度学习因子绩效对比:深度学习在多头超额表现优异11 表8:深度学习因子的中证1000指增超额收益最高,达到了15.74%12 表9:原始理想反转构造步骤12 表10:相较于原始理想反转,改进理想反转RankIC明显更高,多空对冲和多头年化收益也更高13 近年来机器学习逐渐被市场所重视,目前主流模型即树模型和神经网络。对于树模型而言,我们在《遗传算法赋能交易行为因子》中,创新性地提出“切割算子”,并结合其他算子和变量,利用改进的遗传算法流程,经过1轮10代的挖掘,得到了一系列有效因子,这里将其命名为:Alpha185。在本篇报告中,我们将探索神经网络模型在因子投研的应用,以及对比人工因子、遗传算法因子和深度学习因子间的异同点。其中神经网络在因子上的应用为本文的主体,主要分为因子挖掘和因子改进: (1)因子挖掘。从输入层到输出层分为4部分:1、输入层。我们考虑了三大类变量:日频量价、分钟频量价、大小单资金流;2、中间主体模型。我们使用在时序处理上应用较多的LSTM模型;3、加入财务数据,弥补量价类因子多头端分层一般的劣势。考虑到财务数据变化较慢,我们并没有将其作为初始输入层数据,而是将其转化为分位点后,放入输出层前一层,和量价类指标通过隐藏层后的神经元进行拼接,一起通过最后的全连接层输出为最终因子;4、输出层。我们对比了单输出和多输出的绩效差别。 (2)因子改进。如果单纯从因子本身构造出发,不结合因子择时的范畴,常见的改进方法即:公式的变形和变量的替换。在公式的变形中,我们在《聪明钱因子模型的2.0版本》中发现:不同的S指标的构造方式,将产生不同的聪明钱划分结果,对因子最后的绩效有显著影响。在变量的替换中,我们在《APM因子模型的进阶版》中发现:相较于使用日内第1小时收益,使用隔夜收益的效果更好。本文我们以理想反转为例,尝试使用LSTM对其进行改进,具体的修改即:在原损失函数的基础上,考虑与待改进因子的相关性。 1、遗传算法因子Apha185绩效回顾 对于遗传算法挖掘因子而言,我们将其主要分为如下5大步骤:1、个体初始化;2、初始种群构建;3、选择;4、交叉;5、变异。为了提升遗传算法的有效挖掘概率,我们在每一步都做了对应的处理,具体流程如图1所示。 图1:开源金工特色遗传算法整体流程 资料来源:开源证券研究所 通过1轮10代的挖掘,我们得到了Alpha185,等权合成后的10分组回测如图 2所示。从2017年1月至2024年4月,合成因子RankIC为12.14%,RankICIR为 4.45,多空年化收益为34.79%,信息比率为3.16。从2022年6月份以来,样本外表现也较为优异。 图2:开源金工遗传算法Alpha185因子合成后10分组表现较为优异 数据来源:Wind、开源证券研究所 2、基于LSTM框架应用一:因子挖掘 基于LSTM框架的因子挖掘,为本文主要讨论的部分,具体流程可以表示为图3所示。该流程主要可以分为:1、输入层数据及其预处理;2、主体模型LSTM的搭建;3、财务数据的并入;4、输出层因子个数的修改。 图3:开源金工特色LSTM因子挖掘整体流程 资料来源:开源证券研究所 2.1、输入层数据:3大类变量 对于初始输入层数据而言,我们选取了3大类变量,第一大类为大小单资金流,包含全部和主动的超大单、大单、中单、小单;第二大类为日内分钟特征,基本统计指标如分钟收益波动等,除此之外我们也加入了一些衍生特色指标,比如分钟极端收益、分钟聪明度等;第三大类为日间特征,包含基本统计指标如高、开、低、收等。对于这三大类变量而言,我们都对其先后进行了:时序标准化、去极值、横截面标准化、缺失值填充。 大类例子说明 表1:输入层3大类变量列示 日频量价基本行情指标高、开、低、收等 基本统计指标分钟收益波动、分钟标准化成交量波动、分钟量价相关性等 分钟频量价 大小单资金流 资料来源:开源证券研究所 衍生统计指标分钟极端收益、分钟聪明度等 全部资金流含有超大单、大单、中单、小单 主动资金流含有超大单、大单、中单、小单 2.2、主体模型:LSTM 对于时序数据处理任务而言,LSTM为较为常用的模型,本篇报告也将基于此模型进行因子的挖掘。在训练LSTM模型时会涉及到一些参数的选择,以生成月频因子为例,参数设定如下: (1)每个样本回看天数:4个月; (2)滚动训练时间窗口:6年; (3)训练集和验证集比例为9:1; (4)模型更新时点:每年年底; (5)预测标签:未来20天收益率; (6)损失函数:IC的负数; (7)LSTM层数:2层; (8)自注意力机制Self-Attention:考虑; (9)早停机制Early-Stopping:考虑。 结合输入层数据,并利用如上模型,在设置输出层因子数量为1的情况下,我们可以得到因子𝐿𝑆𝑇𝑀𝑖𝑛𝑖�。进一步地,我们对其进行回测,在回测时剔除停牌、ST、上市不满60天的股票,月度等权构建组合,10分组表现如图4所示。该因子RankIC为8.08%,RankICIR为3.99,10分组多空年化收益30.16%,收益波动比为3.37,已经具备较为优异的选股效果,但多头端的分层效果较为一般,为量价类因子普遍的劣势。进一步地,我们引入财务数据去改善该因子。 图4:𝑳𝑺𝑻𝑴𝒊𝒏�