2025年AI+HI系列专题报告:DecompGRNv1,基于线性RNN的端到端模型初探

  • 来源:华创证券
  • 发布时间:2025/09/08
  • 浏览次数:166
  • 举报
相关深度报告REPORTS

AI+HI系列专题报告:DecompGRNv1,基于线性RNN的端到端模型初探.pdf

AI+HI系列专题报告:DecompGRNv1,基于线性RNN的端到端模型初探。前言随着LLM模型对处理序列长度的要求日益严苛,RNN/SSM模型因其线性推理效率的优势而重返学术前沿。受此启发,我们重新审视了在端到端量价因子挖掘任务中经典GRU网络内部改造的可能性。我们首先从一个高度简化的线性RNN出发,发现在参数量锐减的前提下,其表现足以媲美GRU基线,在此基础上,我们延续并拓展了先前“时序-截面”交互的研究思路,设计了全新的DecompGRN模型。该模型的核心创新在于将股票间的截面信息直接整合进RNN的门控单元,不仅实现了模型逻辑与参数量的双重简化,在综合性能上也超...

一、动机

近年深度学习模型在量化投资领域的研究与应用日益广泛。我们过去的研究致力于改进 用于量价因子挖掘的端到端模型,通过在 GRU 或 LSTM 等时序编码器之上叠加股票截 面信息、市场信息等外部模块,以期获得信息增益。然而,这些工作并未深入探讨循环 神经网络(RNN)自身的内部结构。

在 Transformer 架构兴起之前,RNN 是序列建模任务的主流选择。凭借在现代硬件上更 高的训练效率以及对长距离依赖关系更强的捕捉能力,Transformer 迅速成为自然语言处 理领域的标准范式,并逐步拓展到其他类别序列的建模任务中。随着大语言模型在检索 增强生成(RAG)和人工智能体(AI Agent)等场景的应用,模型需处理的序列长度急剧 增加,Transformer 架构固有的计算复杂度平方问题导致了高昂的开销,这促使研究界重 新审视具有线性推理效率的 RNN,或状态空间模型(SSM),并催生了如 RetNet、Mamba 等一系列工作。我们所关注的量化因子挖掘任务,其输入序列长度远小于大语言模型, 因此研究动机与上述前沿工作不尽相同。尽管如此,我们仍有兴趣探索不同 RNN 变体在 因子挖掘场景下,能否带来性能上的增益。

回顾经典 RNN 层,对一个输入序列(?1, ?2, … , ?? ),RNN 通过递归计算一系列序列输出 (?1, ?2, … , ?? ):

ℎ? = ?(?ℎ?−1 + ??? )

?? = ?ℎ? + ???

其中 A,B,C,D 为可学习参数矩阵;初始隐状态通常设置为零向量;σ是非线性激活函数 (通常为 tanh 或 sigmoid),长期以来被认为是 RNN 的关键组件,赋予了单层 RNN 图灵 完备的理论性质。 最近的研究中,Orvieto 等(2023)对非线性激活函数σ的必要性提出疑问,研究发现移 除激活函数σ并不会损害模型性能,还带来了训练上的并行化优势,移除激活函数σ后 的 RNN 称为线性 RNN,他们基于线性 RNN 构建了 LRU 模型,在性能与效率上表现优 秀。

受此启发,本报告将从一个基础的线性 RNN 出发,探究其在端到端量价因子挖掘任务中的应用潜力。 实验结果显示,简单的线性 RNN 性能略逊于基准模型 GRU,但两者表现位于同一 水平。通过增加模型层数或与门控线性单元(GLU)结合,线性 RNN 的性能可以得 到有效提升;  考虑到在相同层数下,线性 RNN 的参数量仅为 GRU 的一半,这为构建更复杂的 RNN 结构提供拓展空间。因此,我们延续先前《DecompGRU:基于趋势分解的时序 +截面端到端模型》报告中的框架思路,将线性 RNN 与截面信息模块结合,构建了 一个新的时序-截面模型,我们将其命名为 DecompGRN(Gated Recurrent Network), 测试结果显示,该模型取得了极具竞争力的表现。

二、模型介绍

门控机制是 RNN 类变体的重要组件,在测试模型的门控上,输入门和遗忘门被合并,模 型仅有遗忘门和输出门,门控通过 sigmoid 作为激活函数,使门控值在(0,1)内;时序依赖 仅在计算 hidden state 时产生,隐状态迭代时不使用非线性激活函数:

ℎ? = ?? ⊗ ℎ?−1 + (1 − ?? ) ⊗ ??

?? = ?? ⊗ ℎ?

?? = ???????(????)

?? = ???????(???? )

?? = ????(???? )

我们将以上模型记为 RNN-LIN,在参数量上, RNN-LIN 相比 GRU 模型减少约 50%。 Orvieto 等(2023)工作的主要发现之一是,当线性 RNN 与非线性 MLP 或 GLU(Shazeer 等,2020)耦合时,模型可以具有更好表达能力。在后文测试部分,我们也参考上述做 法,在 RNN 层后叠加 FFN 模块组成一个 block,我们使用 GLU FFN:

?????????(?, ?, ?, ?2 ) = (????ℎ(??) ⊗ ??)?2

三、测试结果

(一)实验设置

数据集: 日频的高、开、低、收、均价、成交量 6 个特征的 150 日时序; 每个 batch 输入同时期多只股票时序; 训练方式: 采用滚动训练,每年年底进行模型重新训练,每次训练取 3 个不同随机种子,结果按均 值合并。

模型预测标签: 预测标签:市值行业中性化未来 10 日收益(t+1 日~ t+11 日,以均价计算)。 损失函数: IC 为训练损失函数,RankIC 为验证集评价指标。

回测区间: 2018 年 1 月 1 日 ~ 2025 年 7 月 28 日。 模型参数: 基线 GRU 模型与 RNN 共同的超参数设定如下: 1D 卷积,卷积核大小等于步长大小,设置为 3;RNN、GLU 中间映射维度均为 64; 标准化层为 LayerNorm;

(二)因子测试结果

我们首先观察模型在风格上的倾向,以及不同模型因子间的相关性。

GRU 与 RNN-LIN 模型在风格上的倾向相近,在波动流动风格在有明显负向暴露;两个 模型的因子数值相关性高,约为 90%;加入或剔除 GLU 对风格倾向并无显著影响。

1、IC 测试结果

从 IC 测试结果看,在不同股票池上,两个模型在 IC 指标的表现非常接近;加入 GLU 对 两个模型的 RankICIR 指标有微弱的提高作用。

2、分组测试结果

本部分我们对因子进行分组测试,我们主要关注多头部分表现,分组测试方法如下:

每周最后一个交易日根据当天因子值分组,以次周第一个交易日收盘价进行调仓操 作,剔除涨跌停、停牌股票,不计交易成本;

股票池为中证全指时,分组数为 20;中证 1000、中证 500 分组数设置为 10;沪深 300 分组数设置为 5。

在模型层数为 1 时,我们从以上图表可以得出以下结论: 在所有宽基股票池内,GRU 模型的 TOP 组大多情况下优于 RNN-LIN,但两个模型 仍处于同一水平,GRU 相比线性 RNN 在多头年化收益指标的提高水平在 1%~2% 间; 加入 GLU 对 RNN-LIN 提升效果好于 GRU。RNN-LIN-GLU 相比 RNN-LIN,在不 同宽基域内的年化收益指标均有 1%以上提升,在中证全指域内达到 6.13%; 我们进一步将两个模型的层数提高至为 2,两个模型默认加入 GLU。当层数提高后,GRU 相比 RNN-LIN 的优势有所扩大,在中证 1000、中证全指域内差距更为明显,GRU 在多 头年化收益提高的分别为 4.07%、4.26%。

3、模型效率

线性 RNN 可以使用扫描算法并行以加速训练,但根据 Martin 等(2017)研究表明,对长 度较短的序列,扫描算法不比串行更快,我们用采用串行方式实现线性 RNN,GRU 模型 则采用 pytorch 库 nn.GRU 实现。 我们进行随机数测试以了解 GRU 与 RNN-LIN 的效率差异(测试平台为 4090 显卡, pytorch 版本为 2.7+cu126): 模型结构为 RNN/GRU+linear,取最后一个时间步通过 linear 映射维度至 1 作为预测 结果; 每个 batch 输入为随机数,形状为[B,T,D],其中 B 固定为 5000,D 固定为 64,T 分 别测试 50,100,200,预测目标形状为[B,1],损失函数为 MSE,进行正向反向传播, warm up 后运行 500 个 batch,用 batch 总数量除以总耗时来衡量模型效率。

单层情况下,RNN-LIN 相比 GRU 的速度提高在 2 倍以上。实际运用中,线性 RNN 大多 情况不会只设置 1 层,与其他模块耦合后在速度方面的优势会减弱。

四、拓展模型

在上一章节,我们初步了解了简单的线性 RNN 模型在时序任务中的性能: 同层数情况下,训练效率好于 GRU,性能弱于 GRU;  叠加 GLU 模块可以提高线性 RNN 性能,且增量效果好于 GRU; 对我们的任务场景而言,线性 RNN 在训练效率方面的优势属于锦上添花,我们更关心模 型在性能上的优劣;在上文测试中,线性 RNN 在各项指标表现弱于 GRU,但考虑到 GRU 在模型参数量上多于线性 RNN,两个模型的差距尚可接受;我们认为线性 RNN 最具吸 引力之处在于其内部的逻辑的简洁,在本章我们对线性 RNN 内部进行拓展,一方面可以 增加模型可学习参数量,另一方面使其考虑输入股价数据的特点。

在线性 RNN 版本下,我们同样使用两层 RNN:第一层线性 RNN 输出每个时间步的个股 表征,我们使用市值作为分组特征,对股票进行 20 分组,在每个时间步上计算股票分组 去均值结果,得到每个时点上包含截面信息的个股表征;第二层我们构建线性 RNN 变 体,将截面信息和时序融合共同输入遗忘门、输出门中,它表示我们希望模型在决定每 个时间步记住 / 遗忘多少信息时,同时考虑当前时点股票自身的特征,以及当前时点股 票在截面的相对信息。

(一)IC 及分组测试结果

回测区间:2018 年 1 月 1 日 ~ 2025 年 8 月 22 日; DecompGRN 在中证全指 / 沪深 300 / 中证 500 / 中证 1000 域内,10 日 RankIC 为 0.141 / 0.099 / 0.098 / 0.127,RankICIR 分别为 1.26 / 0.65 / 0.77 / 1.08,均高于基线 GRU 模型; 在多头 TOP 组表现上,中证全指 / 沪深 300 / 中证 500 / 中证 1000 域内,年化收 益分别相比基线+5.28% / -0.64% / +0.73% / +1.88%。

经过我们简单改造的 DecompGRN 模型,性能较基线 GRU 取得了提高,而在参数量上仅 为 GRU 基线模型的 43%,训练效率同样优于 GRU。DecompGRN 仍有拓展空间,例如 加叠加 GLU 或增加不同机制门控等,我们在后续将继续探索。

(二)指增测试

最后我们在沪深 300、中证 500 以及中证 1000 上进行指增测试: 测试区间为 2019-01-01~2025-08-27; 约束条件为(1)指数成分股占比大于 80%(2)单只股票权重相对偏离上限为 0.8% (3)Barra 风格暴露约束 0.3,行业暴露约束 0.02(5)换手约束双边 30%;  调仓频率为周频,以每周最后一个交易日计算的因子值在次周首个交易日进行调仓, 成本按千 3 计算。 DecompGRN 在沪深 300 / 中证 500 / 中证 1000 指增组合的年化超额收益分别为 10.24%、 10.05%、19.58%,跟踪误差分别为 5.07、6.1、6.75。2025 年,截至 8 月 27 日,沪深 300 / 中证 500 / 中证 1000 增强组合累计超额为 3.93% / 6.72% / 18.26%。

五、总结

本篇报告我们提出了 DecompGRN 模型,在先前报告的模型框架的基础上进行拓展; 我们继续使用时序趋势分解模块将初始输入拆分为趋势与残差分量,再基于线性 RNN 改进截面信息建模方式,使时序和截面信息在和 RNN 模型内部融合;

在 150D 数据集,GRU 模型作为对比基线进行测试;在中证全指 / 沪深 300 / 中证 500 / 中证 1000 域内,DecompGRN 模型的 10 日 RankIC 为 0.141 / 0.099 / 0.098 / 0.127,RankICIR 分别为 1.26 / 0.65 / 0.77 / 1.08,均高于基线 GRU 模型;

周度分组测试中,不计交易成本,TOP 组在全指域内年化收益达 57.68%;中证全指 / 沪深 300 / 中证 500 / 中证 1000 域内,年化收益分别相比基线+5.28% / -0.64% / +0.73% / +1.88%。

基于 DecompGRN 构建指增组合,在双边换手 30%、千三交易成本下,沪深 300 / 中 证 500 / 中证 1000 指增组合年化超额收益分别为 10.24%、10.05%、19.58%,2025 年 截至 8 月 27 日,沪深 300 / 中证 500 / 中证 1000 增强组合累计超额分别为 3.93% / 6.72% / 18.26%。

编辑:火腿肠
  • 相关标签
  • 相关专题
  • 热门文档
  • 热门文章
  • 本年热门
  • 本季热门
  • 本月热门
  • 本年热门
  • 本季热门
  • 本月热门
分享至