(来源:信达金工与产品研究)
▶本文是深度学习揭秘系列报告第二篇。本文先以量价因子Alpha158与基本面因子为特征,全连接神经网络为测试对象,从模型的输入端入手,讨论了量价因子与基本面因子对原始收益的预测效果,以及在预测中性化收益率的场景下,不同输入形式与输出处理方式的特点。其次,本文研究通过参数遍历的方式,对比了时序神经网络相对全连接神经网络的优劣,研究了时序神经网络的参数设置规律,以及时序神经网络对量价因子和原始行情数据的拟合及预测效果。
▶以量价因子原始值建模预测中性化收益,在因子IC与组合收益上有损,但模型能学习到市值与行业的波动。在预测中性化收益的场景下,本文对比了不同的输入三种方式。(1)以原始值为特征,原始收益率为标签,中性化模型预测值。(2)以中性化值为特征,中性化收益率为标签,直接输出预测值。(3)以中性化值为特征,中性化收益率为标签,再中性化模型预测值。综合对比发现,第一种方法的预测值RankIC与多头组合超额收益略低于第二种方式;但第一种方式的超额收益波动率与最大回撤每年均值优于第二种方式;第二种方式的RankIC与第三种方式相差不大。
▶基本面因子存在中性化预处理的必要。直接将基本面因子原始值输入神经网络模型,我们发现预测原始收益的RankIC相对较低,预测中性化收益的RankIC也显著低于输入端经过中性化预处理的基本面因子。因为不同行业的基本面因子存在中枢的差距,因此我们认为基本面因子在输入神经网络前需要进行中性化处理。
▶基本面因子的中性化收益预测能力能补充量价因子的原始收益预测能力。在预测原始收益的场景下,本文对比了量价因子原始值与基本面因子原始值非线性结合,和量价因子原始值与基本面因子中性化值非线性结合,两种方式的预测效果。对比发现,因为基本面因子原始值预测原始收益率效果相对较弱,因此相对纯量价因子组合的增强效果不明显,而中性化后的基本面因子能增强原始量价因子的绝对收益预测效果。
▶将时序神经网络用于单日量价因子,而全连接神经网络用于窗口期量价因子,是预测效果,算力消耗与显存占用间较均衡的选择。本文通过参数遍历的方式,将量价因子Alpha158全部输入MLP的预测效果,同将量价因子全部输入RNN或者GRU模型的预测效果进行了对比,发现这种时序神经网络应用方式无法稳定战胜MLP,且对参数较敏感。因此本文采用将Alpha158中的单日因子用时序神经网络拟合后,与窗口期因子拼接,再一起经过MLP模型训练,发现这种应用方式稳定优于纯MLP模型,且能够总结一些隐藏单元参数和特征步长参数的经验设置方式。
▶时序神经网络也可拟合原始行情数据。本文也将时序神经网络用于拟合原始高开低收均价成交额成交量等原始行情数据,行情合成因子2014年以来RankIC均值在9%左右,与Alpha158单日因子合成值的相关性为0.6。在隐藏单元数设置上,相较于人为加工过的单日选股因子,拟合原始行情数据的时序神经网络隐藏单元设置的更多一些,方能取得较理想的预测效果。
▶低频量价+高频量价+基本面因子+行情的多模型组合。基于以上研究结论,打造了输入端覆盖低频价量、高频价量、基本面因子与行情数据,包含全连接与GRU神经网络的多模型组合。通过研究该网络的预测区间与调仓频率的关系,发现网络预测效果主要集中在调仓后的初期阶段,因此我们合成了5日因子与20日因子得到了混频因子。通过该因子构建的行业轮动组合年化多头超额11.36%,中证1000指增组合年化超额16.21%。
风险因素:结论基于历史数据,在市场环境转变时模型存在失效的风险。
在之前的报告《深度学习揭秘系列之一:基于量价与基本面结合的深度学习选股策略》中,我们对比了线性模型Lasso和基础非线性模型MLP,在输入量价因子和基本面因子的不同场景下,预测未来5个交易日或20个交易日市值行业中性化收益率的效果。
在初步研究过程中,我们发现了一些值得注意与可以进一步深入探讨的问题,例如:
1.训练集与验证集之间,验证集与测试集之间,需要留心的未来数据泄露问题。
2.在预测中性化收益率的场景下,“以原始(未经过市值行业中性化)量价与基本面因子为特征,以原始收益率排序百分位为标签,最后中性化处理模型输出的原始收益率预测值”和“以市值行业中性化的量价与基本面因子为特征,以中性化后的收益率排序百分位为标签,模型直接输出中性化收益率”有何区别,哪种方法更优?
3.在预测原始收益率的场景下,量价因子是否需要进行中性化处理,基本面因子是否也需要中性化?量价因子与基本面因子应如何有效结合?
4.更加先进的时序神经网络,如RNN和GRU,相较于MLP是否具有优势?这种优势在不同参数配置下是否稳定?对于不同的输入特征,是否有可借鉴的神经网络参数设置经验?时序神经网络能否学习股票的高开低收均价成交量成交额等原始行情数据以预测未来?
5.将已有的低频量价、高频量价、基本面因子与行情信息结合起来,预测效果如何?最终模型的预测区间与调仓频率又有着怎样的关系?
本篇报告在之前研究的基础上,针对以上问题,逐一进行解答。
01
因子集、预处理与组合构建方式
通常在股票收益预测的场景下,我们通过构建具有一定逻辑的选股因子,可以有效地提取出原始数据中的关键特征,进行降维处理,从而减少模型训练的复杂度和计算成本。选股因子是基于金融理论和实证研究构建的,量价因子能够对股票的价格走势和成交变化进行描绘,让模型能够学习不同量价情况下股票的收益分布特征,而基本面因子,例如EP、BP等则反映了公司估值水平,提供了量价维度外的另一个重要的视角。
1. 量价因子数据集
我们采用Github上的开源项目Qlib所集成的Alpha158量价因子进行模型层面的基础研究,它包含了基于价格和成交量的多种因子,不算窗口期则有42个因子,部分因子考虑了5/10/20/30/60的交易日的窗口期,因此若算窗口期则共有158个因子。我们将Alpha158因子分为以下5类:
单日因子:这些因子仅使用当天的开盘价、收盘价、最高价、最低价以及均价数据,共包含13个因子。这些因子捕捉了市场在单个交易日内的波动和变化特征。
波动因子:波动因子主要衡量股票价格的波动性,共包含5个因子。波动性因子可以帮助我们理解股票价格的变动幅度和频率,从而更好地评估风险和收益。
价因子:价因子是基于股票的价格信息计算得出的,共包含100个因子。这些因子涉及多种价格计算方法和统计指标,能够反映出股票价格的长期和短期趋势。
量因子:量因子基于成交量数据,共包含30个因子。成交量是市场交易活动的直接反映,量因子能够提供关于市场流动性和投资者行为的重要信息。
量价相关性因子:这些因子同时考虑了成交量和价格的关系,共包含10个因子。通过分析量价关系,可以更深入地了解市场的供需动态和价格变动的内在。
2. 基本面因子数据集
除了Alpha158量价因子外,我们还加入了常规的基本面因子,包含了估值、质量、成长和分析师一致预期等维度,共计38个因子,详细列表如下:
3. 数据预处理与网络参数设置
特征与标签:
▶特征X:158个Alpha158因子与38个基本面因子,去极值、截面ZSCORE标准化、维持原始值或进行市值行业中性化,分开测试。
▶标签Y:个股从下一个交易日的VWAP算起,未来5个交易日或20个交易日的VWAP收益率,维持原始值或进行市值行业中性化后,计算截面排序百分位。若当天股票停牌,则剔除该数据。
▶数据采样:日频采样,以2014年1月2日为第一次预测点,回看过去5个自然年数据作为样本,数据集按顺序划分,前90%的交易日作为训练集,后10%的交易日作为验证集,用于拟合模型,接下来1年用该模型预测每个股票的收益率,每个自然年重训练一次模型。
神经网络参数:
▶Batch:按交易日做Batch拆分,每个Batch大小为当前截面股票数量。
▶损失函数:预测值与真实值Pearson相关性的相反数。
▶优化器:Adam;学习速率:0.001。
▶输出层激活函数:Sigmoid。将输出值非线性映射到0至1范围内,与排序百分位的标签保持一致。
▶最大Epoch:100;早停Epoch:10(验证集Loss连续10轮没有创新低则停止训练)。
▶随机种子:42。(固定随机种子数保证模型对比实验路径的一致)
训练集、验证集与测试集的数据处理:
我们将数据拆分为样本内训练集、样本内验证集与样本外测试集,之后我们仍需要根据预测周期长短,进行数据集之间的进一步隔离处理。
(1)若预测未来N个交易日的均价收益率,则剔除样本内数据集的最后N+1个交易日的数据,避免样本内的标签用到样本外的数据进行计算。
(2)若预测未来N个交易日的均价收益率,则进一步剔除最后(N-1)/2个交易日的训练集数据与最早(N-1)/2个交易日的验证集数据,避免训练集未来收益率与验证集未来收益率的计算有用到重复的交易日数据。(若N为偶数,则训练集比验证集多剔除一个交易日的数据)
全A选股组合回测参数与方式:
▶回测区间:2013年12月31日至2024年8月30日。
▶剔除:剔除上市不满365个自然日的新股,剔除ST股。
▶组合构建:取因子值前10%为多头组合,后10%为空头组合,全A等权为基准组合。
▶交易方式:每5日 / 20日调仓,以下一个交易日的VWAP价格成交,交易费率为单边千分之一。
▶交易限制:一字涨停不能买入,一字跌停不能卖出,停牌不可交易,多头 / 空头组合中的多余权重分给其余股票。
路径依赖与路径合并:
日频因子,每一天皆可预测未来5日(20日)的收益率,这意味着我们可以利用这些因子在每个交易日对未来一段时间内的股票收益率进行预测。然而,如果我们选定某一个特定的起点并每隔5日(20日)进行一次调仓操作,那么由于起点选择的不同,可能会导致我们得到不同的净值曲线,这种现象被称为路径依赖问题,若任取一条净值曲线计算收益与风险都会有失公允。
为规避此问题,我们在2014年1月30日将不同调仓起点的净值曲线做截断,并将所有净值曲线归一化处理,使得它们的初始值相同,然后计算所有净值曲线在每一天的收益率的均值。通过这种方法,我们可以得到一条综合的净值曲线,代表了在不同起点下调仓策略的平均表现。这样一来,我们能够更准确地评估投资策略的收益与风险,避免了单一调仓起点带来的路径依赖问题。
02
3种中性化收益率建模方式对比
在收益预测问题中,预测原始收益率与预测市值行业中性化收益率皆有意义。前者可以帮助我们构建追求绝对高收益的全A选股组合,或者行业轮动策略,后者在市值行业被约束的指增组合中更加适用。
若是用神经网络预测原始收益率,使用方式上比较直观,以去极值标准化后的原始因子值为特征,以转排序后的原始收益率为标签即可。
但若是用神经网络预测中性化收益率,我们认为则有多种处理方式,例如:
1)以去极值标准化后的原始因子值为特征,以转排序后的原始收益率为标签,拟合神经网络模型,中性化模型输出的预测值,作为最终结果。
2)以去极值标准化后的中性化因子值为特征,以转排序后的中性化收益率为标签,拟合神经网络模型,直接以模型输出的预测值为最终结果。
3)以去极值标准化后的中性化因子值为特征,以转排序后的中性化收益率为标签,拟合神经网络模型,中性化模型输出的预测值,作为最终结果。
这几种建模方式之间有无差别,量价因子与基本面因子是否有不同的适用场景,接下来我们基于MLP模型,分开讨论量价因子和基本面因子在以下4种方式下,对样本外未来5个交易日收益的预测效果。为了便于描述,后文用A、B、C、D编号指代4种不同的方法。
1. 量价因子:以原始值建模IC与收益有损,但组合风险端更佳
对于158个量价因子,我们采用2层的全连接神经网络(MLP)。隐藏层神经元数量分别为128和64,每层皆采用RELU激活函数,并在激活函数后衔接参数为0.2的Dropout层,输出层激活函数采用Sigmoid。网络结构如下图所示,图中的input-tensor(5000, 158)代表5000个示例股票和158个因子。
同时为了避免固定的输入特征对结论产生影响,我们对Alpha158因子集进行无放回的随机抽样,随机从158个因子中抽取79个因子,构造10个随机因子集。
统计显示,预测原始收益率的A方式与预测中性化收益率的BCD方式,RankIC均值差距不大,说明量价因子对于原始收益率与中性化收益率皆有较好的预测效果。不过因为大部分量价因子的原始值在市值上有偏,所以A方式的多头组合年化超额收益最高,但波动与回撤也最大,且ICIR弱于BCD方式。
B方式与C方式相比,两者的目标都是预测中性化后收益率排序,我们发现不论是在Alpha158因子集下,还是在随机抽样因子值下,后者的RankIC均值与ICIR总是比前者更高。我们推测这可能是因为前者的建模预测目标是原始收益率排序,而非真正校验所采用的中性化收益率。
进一步比较B与C方式的多头组合超额收益与风险,发现B组合的收益弱于C组合,但B组合的年化波动与每年平均最大回撤更优。说明如果将带有市值行业信息的因子值输入模型,神经网络模型也许可以学习到由市值行业带来的风险,从而在后续的中性化过程中将其更好地剔除。而如果输入的是市值行业中性化后的因子值,则一开始就失去了市值行业的波动学习能力,导致最后组合的波动与回撤更大。
最后比较C与D两种方式,发现不论是IC还是收益风险,皆没有显著差别,说明若是输入端已经中性化,输出端则没有太大的二次中性化必要。
因为我们主要将中性化因子用于指增组合构建,在组合构建过程中,我们可以通过优化器来控制风险,所以后文中对量价因子,统一采用“中性化输入,原始值输出”的C方式预测中性化收益率。
2. 基本面因子:中性化处理的必要性
对于基本面因子,我们同样采用非线性的2层MLP模型进行拟合,由于基本面因子的数量为38个,因此我们将隐藏层神经元数量缩减为32和16。为了避免固定的输入特征对结论产生影响,同样对基本面因子集进行无放回的随机抽样,随机从38个因子中抽取19个因子,构造10个随机因子集。
对于基本面因子,我们发现在预测中性化收益的场景下,B方式的各项指标显著弱于C与D。我们推测这是因为基本面因子通常在行业上有偏,不同的行业基本面因子值可能有中枢上的差距(例如银行业的大部分股票PB都小于1,而计算机行业的股票大部分PB都大于1), 因此若将基本面因子的原始值输入模型,因子值的中枢差距可能会干扰模型的拟合效果。
另外,相较于量价因子,基本面因子预测原始收益的能力也显著弱于预测中性化收益率的能力,我们认为也是上述原因引起的。
综上,对于基本面因子,后文也统一采用“中性化输入,原始值输出”的C方式预测中性化收益率。
3. 再谈量价与基本面结合
在2.1小节与2.2小节中,通过测算我们得出几个结论:
(1)原始量价因子具备较好的原始收益率预测能力。
(2)原始基本面因子预测原始收益率的能力相对较弱。
(3)输入中性化处理后的量价或基本面因子,在RankIC与收益上,优于输入原始因子之后再中性化。
因此,若是想做量价与基本面因子结合的中性化收益预测,根据结论(3),将两者中性化之后再输入模型进行合成即可。
但如果想基于量价和基本面因子做原始收益预测,在使用原始量价因子的同时,该采用原始基本面因子还是中性化后的基本面因子呢?我们认为两种做法皆有一定的道理:
1)采用原始基本面因子与原始量价因子结合更符合直觉,即便基本面因子值存在不同行业中枢不一致的问题,但拟合出来样本外也有6.24%的RankIC,或可作为原始量价因子的补足。
2)采用中性化基本面因子与原始量价因子结合,则目的在于尝试用中性化基本面因子对于市值行业内相对收益的预测能力,与原始量价因子的绝对收益预测能力进行非线性拟合,从而实现加强。
所以,我们以原始Alpha158因子集为基准组合,使其分别与原始基本面因子和中性化基本面因子,以《深度学习揭秘系列之一:基于量价与基本面结合的深度学习选股策略》报告中提出的分支网络形式相结合,从而观察两者分别对纯量价基准组合的增强效果,网络结构如下。
经过3个模型的横向对比,发现加入原始或中性化基本面因子之后的组合相较于纯量价组合,在RankIC上皆有提升,而叠加中性化基本面因子的组合在IC与多头超额收益上最佳,RankIC提升0.45pct。且叠加中性化基本面因子的组合相较于纯量价组合的RankIC提升在时序上较为稳定,在2014年至2017年及2024年的收益上有显著增强,2018年至2023年虽然没有显著增强,但也没有较大的波动与回撤,相对净值基本走平,全区间年化超额收益提升2.39pct。
因此,在后文预测原始收益的场景中,我们将量价因子保持原始值,与中性化之后的基本面因子进行结合。
03
时序神经网络的应用与参数探秘
在此之前的报告中,我们主要对全连接神经网络MLP进行了较深入的研究,但全连接神经网络通常只考虑截面数据,而无法捕捉时序间的关系与变化。循环神经网络RNN相较于MLP,通过引入隐藏状态这一概念,让时序信息在其中传递,从而学习时序特征。而门控循环单元网络GRU相较于RNN进一步引入了更新门与重置门,解决了梯度消失与梯度爆炸的传统问题。
然而,在量化选股领域,时序神经网络是否全方位优于全连接神经网络?升级迭代过的GRU是否又真的优于RNN?什么样的因子更适合输入时序神经网络?时序神经网络的隐藏层、隐藏单元数量和特征步长三个参数之间又有着什么关系,怎么设置比较通用?
本章通过Grid Search的方式,在预测未来5个交易日中性化收益率的场景下,进行MLP、RNN、GRU三个模型之间的横向对比。
1. MLP Vs RNN Vs GRU —— 量价因子
首先,以中性化后的Alpha158因子集为特征,中性化后收益率为标签,对2层的全连接神经网络MLP模型的隐藏单元数进行遍历,统计在不同参数设置下,MLP模型的样本外预测效果。
经过参数遍历回测发现,若有158个输入特征,则将第一层的隐藏单元数量设置在64至256之间,第二层的隐藏单元数量设置在16至64之间,基本可以取得较理想的样本外预测效果,同时也较为符合传统的经验设置方式,即设为2的次方数,然后根据降维的思路,每一层神经元数量比上一层少。在该参数遍历范围内,RankIC均值最小值为11.57%,最大值为12.22%,两者相差0.65pct,可见MLP对于参数的敏感性也在可接受范围内。
然后,我们尝试将中性化后的Alpha158因子集输入时序神经网络,以中性化后收益率为标签,遍历以下参数,共计48种组合:
▶网络结构:RNN与GRU
▶模型层数:1层与2
▶隐藏单元数:16、32、64、128
▶特征步长:5、10、20
根据量价因子在RNN与GRU上的测试,发现以下几点:
1)其他参数保持一致的情况下,2层的RNN大部分预测效果优于1层的RNN,但是模型层数增加带来的提升反而在GRU上不是很明显。
2)在上述参数遍历范围内,大多数2层RNN的RankIC均值相较于MLP的最大值12.22%有提升,但GRU仅将隐藏单元数设置为16时有提升,其他隐藏单元数设置仅和MLP的最大值接近甚至略低于。
3)1层与2层的GRU对于隐藏单元设置较为敏感,当隐藏单元数设置为128时,RankIC均值可能衰减至9%左右。
4)更为进阶的GRU相较于RNN并没有优势相反更差。
5)特征步长如何设置没有观察到明显的规律,不利于总结经验上的设置方式从而套用到其他因子集上。
因此我们反思是否是因子或者模型使用不当导致的上述问题。回顾输入的特征因子集不难发现,Alpha158由13个单日因子与145个窗口期因子构成,其中的窗口期因子分别有5、10、20、30、60的窗口期计算方式,若将窗口期因子输入时序神经网络,可能会造成信息的交叉重叠(例如通过最近56个交易日的5日窗口期因子可以近似推导出最新的60日窗口期因子),所以我们推测若将158个Alpha158因子直接输入时序神经网络,起到增量贡献的可能主要是13个单日因子,因此我们尝试对13个单日因子进行参数遍历,观察在不同参数下的预测效果。
如果将单日量价因子输入时序神经网络模型,可以发现参数和样本外预测效果之间的关系,相较于Alpha158所有因子全部输入,更符合经验直觉:
1)在同样的层数、隐藏单元和步长设置下,GRU优于RNN。
2)在预测未来5个交易日的问题中,特征步长从5到20,预测效果呈现递增关系。
3)输入13个单日因子的情况下,将RNN或者GRU的隐藏单元数设置为8和16效果较好。
最后,我们将单日因子与窗口期因子结合起来,测试如果将13个单日因子通过时序神经网络拟合,而145个窗口期因子仍然沿用MLP拟合,这样的网络结构是否能稳定战胜原始MLP模型架构。研究过程中,MLP网络参数不变,使用2层,隐藏单元数为128、64,仅遍历时序神经网络的参数部分。网络结构见下图(结构图中假设使用2层GRU,隐藏单元数为16,特征步长为20)。
前文中,我们测得单纯使用MLP网络的量价合成因子,在[128, 64]参数设置下的RankIC均值为12.09%,最大5日RankIC为12.22%。而我们上述构建的RNN/GRU+MLP合成网络,当RNN/GRU部分有2层时,几乎在所有遍历的隐藏单元数与特征步长参数下,RankIC均值皆大于12.22%,整体结果也优于将Alpha158所有因子输入时序神经网络中。
综上,我们认为:
1)对于单日量价因子(包括日频化的高频因子),采用时序神经网络学习时序上的关系与变化,对预测效果的提升确实存在帮助。
2)如果是涉及到窗口期计算的因子,采用MLP神经网络拟合,或许是能够均衡预测效果与算力消耗及显存占用的较好方式。
3)对于时序神经网络隐藏单元数的参数设置,如果输入的特征已经证明在统计上有一定的选股能力,那么将隐藏单元数设置为和因子数较为接近或许是较好的方式。
4)对于时序神经网络特征步长的参数设置,可以参考线性选股方式下根据预测周期长短来挑选窗口期的方式,来设置特征步长。
2. RNN与GRU —— 行情数据
在上一小节中,我们通过遍历各个参数下的时序神经网络模型,论证了时序神经网络对于单日维度的选股因子有着较好地拟合与预测效果。那么除了选股因子,我们若直接输入股票时序的价格与成交相关数据,让模型从原始数据中进行时序关系的挖掘,能否取得较好的表现?网络参数的设置上又有什么规律?输入特征与处理方式如下:
▶原始特征:开盘价、收盘价、最低价、最高价、VWAP均价、成交量、成交额。
▶时序标准化:对于每个原始特征,将所有历史值除以当前值。
▶截面标准化:对时序标准化后的特征进行截面ZSCORE标准化。
在预测绝对收益率的场景下,直接将行情数据经过标准化处理之后输入网络即可。但如果我们希望做中性化收益率预测,因为对时序行情数据做中性化回归计算量较大,因此在本节的网络中,采用先输入标准化后的原始特征拟合时序神经网络,再中性化回归网络的输出值,从而实现中性化收益的目的,网络结构图如下,图中(5000, 20, 7)的input-tensor为假定的5000个股票,步长为20个交易日,7个特征数据;(5000, 1)的input-tensor为标准化后的对数市值;(5000, 30)的input-tensor为30个中信一级行业哑变量。
将7个维度的原始行情数据带入上述网络结构中,预测未来5个交易日的中性化收益率,经过参数遍历,可见和拟合单日量价因子时类似,在学习行情数据时,GRU模型的预测效果均稳定优于对应参数下的RNN模型,且在5至20的步长范围内,RankIC均值呈递增规律。
进一步观察基于行情数据的预测结果后,我们发现较优的隐藏单元数设置范围是16和32。尽管我们的输入特征总共有7个,但其中高开低收均价等5个特征的时序变化相关性较高,而成交量和成交额的相关性也较高。因此,严格来说,我们只有两个区分性维度。然而,较优的隐藏单元设置数量为16或32,远远超过了输入特征数,这与前述单日量价选股因子最优隐藏单元数近似于输入特征数的结论不同。
我们推测这是因为单日选股因子已经是在统计上有一定预测能力的特征,所以采用一个相对简单的时序神经网络即可。而原始行情数据中噪音较多,因此需要一个相对较复杂的时序神经网络挖掘行情数据更深处的信息。
我们以GRU_[2, 32, 20]模型(2层,32个隐藏单元,20的步长)为例,展示原始行情GRU中性化因子的收益预测效果。在2014年1月至2024年8月30日的区间内,5日RankIC均值为10.26%,ICIR为1.18,5日调仓组合的费后年化多头超额收益为9.32%,多头组合单边年化换手率为33.93倍。GRU_[2, 32, 20]模型拟合原始行情因子与前文同样参数下拟合的13个单日量价因子的相关性均值为0.6,说明GRU拟合的原始行情相对单日量价因子能提供一定的增量信息。
04
时序神经网络的应用与参数探秘
1. 四分支多模型神经网络
在前面的章节中,我们研究了不同因子集以及各自较为适用的神经网络模型:
▶窗口期低频量价因子:MLP全连接神经网络。
▶单日低频量价因子:GRU神经网络。
▶高频因子:日频化的高频因子类似于单日低频量价因子,因此也可以采用GRU神经网络。
▶行情数据:GRU神经网络,若预测原始收益率则直接输出,若预测中性化收益率,则需要在网络中添加回归取残差模块。
▶基本面因子:MLP全连接神经网络,在预测原始收益与中性化收益的场景下,皆需要将基本面因子预先做中性化再输入。
在以上研究结论的基础上,我们构建四分支多模型的神经网络,集中学习各个维度的信息,得出最终的预测收益率。若预测未来5个交易日收益率,特征步长设为20;若预测未来20个交易日收益率,特征步长设为60。网络结构如图所示。
预测未来5个交易日的中性化收益率,通过上述模型生成5日合成因子,RankIC均值为13.55%,构建的多头组合费后多头超额年化收益为27.14%,单边年化换手率为32.38倍。
20日合成因子RankIC均值为15.65%,费后多头超额年化收益为17.18%,单边年化换手率为9.07倍。
2. 预测区间与调仓频率的关系
在之前的收益预测与组合构建过程中,我们的做法都是保持预测区间与调仓频率一致,例如预测未来5个交易日的收益率,则每5个交易日调仓一次。预测未来20个交易日的收益率,则每20个交易日调仓一次。
但如果预测区间较短,则模型标签中可能含有较多的短期噪音,将预测区间拉长能够降低噪音占比,但我们也担心与短期调仓的目标不符。
本节主要对比在不同建模方式下预测“未来5 / 10 / 20个交易日”的中性化收益率(时序神经网络特征步长分别为[20, 40, 60]),并计算每组生成因子值在不同调仓频率下的表现,即“1 / 5 / 10 / 15 / 20 / 25 / 30个交易日”。具体分析指标包括:“日均RankIC”、“日均多头超额收益”、“费后多头超额年化收益”以及“多头单边年化换手率”。
根据表26至表29的结果显示,在各个预测区间下,深度学习合成因子的持续预测效果距调仓时点越远,日均RankIC与日均多头超额收益越小,呈逐渐衰减状态,说明深度学习合成因子的收益主要集中在刚调仓完毕的前期时间段。且在同一调仓频率下,预测区间越长,多头组合换手率越低。
且在较高的调仓频率下,短区间预测的效果与长区间预测的效果差距相对较大,以5日调仓为例,预测5日的日均RankIC为7.26%,预测20日的日均RankIC为6.53%,相差0.63pct。
而在较低的调仓频率下,短区间预测的效果与长区间预测的效果差距相对较小,以20日调仓为例,预测20日的日均RankIC为4.44%,预测5日的日均RankIC为4.32%,相差0.12pct。
测算各个预测区间下合成因子的相关性,可以看到因子之间相关性适中。以5日因子与20日因子为例,两者相关性为0.69。
两者或许可以相结合作为互补,因此我们将5日中性化因子与20日中性化因子ZSCORE等权结合,构造混频因子。
混频因子5日RankIC均值为13.81%,相较于原5日因子提升0.26pct,费后多头超额年化收益为29.02%,提升1.88pct,单边年化换手率为27.92倍。
混频因子20日RankIC均值为16.49%,相较于原20日因子提升0.84pct,费后多头超额年化收益为19.07%,提升1.89pct,单边年化换手率为9.23倍。
3. 深度学习行业轮动组合
基于以上研究结论,对于行业轮动组合,首先ZSCORE等权合成5日原始收益率预测与20日原始收益率预测值,得到对于每个股票的因子得分。在每周的最后一个交易日,以每个股票的打分为X,行业内权重为W,做加权平均,计算28个中信一级行业得分(剔除综合、综合金融)。选择得分最高的6个行业作为多头组合,得分最低的6个行业作为空头组合,28个中信一级行业等权作为基准组合。在下周的第一个交易日以开盘价调仓。
2014年初至2024年10月18日,中信一级行业轮动组合多头年化多头超额收益11.36%,收益波动比1.37,多空年化超额收益22.71%,收益波动比1.37,多头组合单边年化换手率21.35倍。
4. 中证1000指增组合
行业轮动组合依赖深度学习模型对于股票的原始收益率预测,在指增组合构建上,我们采用深度学习模型对于股票的中性化收益率预测,指增组合约束条件与交易方式如下:
约束条件:
▶100%指数成分股内选股。
▶个股权重最大偏离0.5%。
▶中信一级行业最大偏离3%。
▶市值风格最大偏离0.01。
▶每次调仓单边换手率40%以下。
交易方式:
▶月度调仓,以每月初第一个交易日的VWAP价格成交。
▶一字涨停不能买入,一字跌停不能卖出,停牌不能交易。
▶手续费:单边千分之一。
中证1000指增组合2015年至2024年10月18日年化收益为15.73%,年化信息比为3.64,单边年化换手率4.98倍。相对基准指数的年化超额收益为16.21%,收益波动比为3.91,收益回撤比为3.66。今年超额收益为7.11%。
风险因素:结论基于历史数据,在市场环境转变时模型存在失效的风险
本文源自报告《深度学习揭秘系列之二:涵盖价量与基本面因子的多模型结合神经网络》
报告时间:2024年10月30日
发布报告机构:研究开发中心
报告作者:于明明 S1500521070001 周金铭 S1500523050003
★
免责声明
★
信达证券股份有限公司(以下简称“信达证券”)具有中国证监会批复的证券投资咨询业务资格。本报告由信达证券制作并发布。
本报告是针对与信达证券签署服务协议的签约客户的专属研究产品,为该类客户进行投资决策时提供辅助和参考,双方对权利与义务均有严格约定。本报告仅提供给上述特定客户,并不面向公众发布。信达证券不会因接收人收到本报告而视其为本公司的当然客户。客户应当认识到有关本报告的电话、短信、邮件提示仅为研究观点的简要沟通,对本报告的参考使用须以本报告的完整版本为准。
本报告是基于信达证券认为可靠的已公开信息编制,但信达证券不保证所载信息的准确性和完整性。本报告所载的意见、评估及预测仅为本报告最初出具日的观点和判断,本报告所指的证券或投资标的的价格、价值及投资收入可能会出现不同程度的波动,涉及证券或投资标的的历史表现不应作为日后表现的保证。在不同时期,或因使用不同假设和标准,采用不同观点和分析方法,致使信达证券发出与本报告所载意见、评估及预测不一致的研究报告,对此信达证券可不发出特别通知。
在任何情况下,本报告中的信息或所表述的意见并不构成对任何人的投资建议,也没有考虑到客户特殊的投资目标、财务状况或需求。客户应考虑本报告中的任何意见或建议是否符合其特定状况,若有必要应寻求专家意见。本报告所载的资料、工具、意见及推测仅供参考,并非作为或被视为出售或购买证券或其他投资标的的邀请或向人做出邀请。
在法律允许的情况下,信达证券或其关联机构可能会持有报告中涉及的公司所发行的证券并进行交易,并可能会为这些公司正在提供或争取提供投资银行业务服务。
本报告版权仅为信达证券所有。未经信达证券书面同意,任何机构和个人不得以任何形式翻版、复制、发布、转发或引用本报告的任何部分。若信达证券以外的机构向其客户发放本报告,则由该机构独自为此发送行为负责,信达证券对此等行为不承担任何责任。本报告同时不构成信达证券向发送本报告的机构之客户提供的投资建议。
如未经信达证券授权,私自转载或者转发本报告,所引起的一切后果及法律责任由私自转载或转发者承担。信达证券将保留随时追究其法律责任的权利。
★
分析师声明
★
负责本报告全部或部分内容的每一位分析师在此申明,本人具有证券投资咨询执业资格,并在中国证券业协会注册登记为证券分析师,以勤勉的职业态度,独立、客观地出具本报告;本报告所表述的所有观点准确反映了分析师本人的研究观点;本人薪酬的任何组成部分不曾与,不与,也将不会与本报告中的具体分析意见或观点直接或间接相关。
★
★
本报告中所述证券不一定能在所有的国家和地区向所有类型的投资者销售,投资者应当对本报告中的信息和意见进行独立评估,并应同时考量各自的投资目的、财务状况和特定需求,必要时就法律、商业、财务、税收等方面咨询专业顾问的意见。在任何情况下,信达证券不对任何人因使用本报告中的任何内容所引致的任何损失负任何责任,投资者需自行承担风险。