GRU-PFG:利用图神经网络从股票因子中提取股票间相关性

“MCI-GRU: Stock Prediction Model Based on Multi-Head Cross-Attention and Improved GRU”

论文地址:https://arxiv.org/pdf/2410.20679

摘要

金融市场因复杂性及大数据时代的来临,使得准确预测股票走势变得尤为重要。传统的时序分析模型,例如GRU,在应对市场非线性的动态变化以及筛选重要历史数据方面表现有限。它们难以识别和利用那些不可直接观测的潜在市场状况,比如市场情绪、预期、微观结构要素和投资者行为模式,这些都限制了对市场动态的理解深度,并降低了预测的精准度。

为了解决这些问题,本文介绍了一种新的库存预测模型——MCI-GRU,它结合了多头交叉注意力机制与改进版的GRU。通过引入注意力机制,此模型增强了GRU处理信息的灵活性;而多头交叉注意力机制的设计,则是为了更有效地学习那些难以察觉的潜在市场状态特征。该模型还通过时间特征和截面特征之间的交互作用,进一步加深了对这些特征的理解。实验结果显示,在中国和美国股市的数据集上,MCI-GRU模型在多个评估标准上的表现均超过了现有的最先进方法。

简介

随着大数据时代的推进,金融市场的复杂性和股票市场波动的不可预测性达到了新的高度,给投资者、金融机构以及政策制定者带来了前所未有的挑战。准确的股票预测对于构建投资策略和宏观经济调控至关重要,并为学术研究开辟了新路径,促进了金融市场理论与数据驱动方法的进步。尽管时间序列模型如GRU和LSTM在股票预测领域得到了广泛应用,但它们在处理长期依赖和非线性市场动态方面的能力有限。由于金融市场数据中噪声较多,特征识别成为了提高预测精度的关键。

Transformer架构通过其自注意力机制能够有效捕捉长时间跨度的依赖关系和复杂的非线性模式。相较于传统的RNN模型(例如GRU和LSTM),Transformer可以同时考虑序列中的每一个时间点,这使得它非常适合处理跨越长时间段的数据依赖。此外,Transformer的并行化特性允许它高效地处理大规模数据集,适应金融市场中多样化的股票信息。然而,Transformer拥有大量的参数,导致计算成本高昂,可能不适合资源有限的环境。面对高噪音的金融数据,Transformer的表现可能会受到影响,因此需要更加精细的预处理和特征选择技术来增强模型的准确性和效率。

人工智能技术,尤其是图神经网络(GNN)和强化学习(RL),正在股票预测中显示其潜力,能够解析金融市场的复杂行为。GNN通过将股票之间的关系表示成图形结构,揭示了传统模型难以捕捉到的深层次关联,反映了市场的非线性特点。RL则通过不断与市场环境互动,调整交易策略以应对变化,但面临着数据稀疏性、噪声干扰和计算复杂度高等问题。目前的模型往往无法充分捕捉那些隐含的、未被观察到的市场状态,这限制了预测的准确性和实际应用效果。

本文介绍的MCI-GRU模型融合了多头交叉注意力机制和优化后的GRU结构,提高了对历史时间序列信息的选择灵活性。该模型利用图注意力网络(GAT)提取股票数据的截面特征,并通过多头交叉注意力机制识别潜在的市场状态。实验结果显示,MCI-GRU在多个股票市场数据集上的表现优于现有的解决方案,并已在一家顶级基金管理公司中成功实施。

01相关工作

传统学习和机器学习方法

传统的预测方法,如自回归(AR)、ARIMA和指数平滑技术,主要用于处理线性趋势。随着计算能力的提升,机器学习方法——包括隐马尔可夫模型(HMM)、支持向量机(SVM)、K近邻算法(KNN)、决策树及神经网络——在股票预测领域获得了越来越多的关注,因为它们能够识别更为复杂的模式。研究发现,随机森林在短期预测任务中表现出色,而J48决策树结合Bagging集成方法在长期预测中展现出了优越性能。高级别的HMM通过整合状态转移概率和高斯混合模型,简化了参数估计与解码过程,并被应用于CSI 300和S&P 500等市场指数的分析。

特征加权的SVM和KNN算法则通过信息增益来评估特征的重要性,以此优化分类和距离度量的过程。尽管机器学习技术在捕捉非线性的相互作用方面具有优势,但它们也面临着一系列挑战,比如容易过拟合、处理低信噪比数据的困难、应对高频率交易量以及适应价格波动等问题。这些挑战限制了机器学习方法在实际应用中的效果,因此需要进一步的研究和改进。

深度学习和强化学习方法

深度学习技术在股市预测方面已经取得了显著的成就,其中递归神经网络(RNN)尤其擅长处理时间序列数据。StockNet模型以GRU为基础,并引入了注入模块和调查模块来增强预测的精度。通过结合卷积LSTM与注意力机制,这类模型不仅提高了预测的准确性,还增强了模型的稳定性。对抗训练被应用于注意力LSTM模型中,以提升其泛化性能,使得模型能够在不同市场条件下更好地工作。

然而,深度学习模型在面对极端市场波动时可能表现得不够稳定,这促使研究者将目光投向了具有更高适应性的强化学习方法。在投资策略上,强化学习可以分为基于价值和基于策略两种类型,而后者对于金融市场的动态特性来说更为合适。当深度注意力网络与强化学习相结合时,它们能够优化投资组合的夏普比率,即在风险调整的基础上提高回报。

多目标深度强化学习(MODRL)是一种旨在平衡收益与风险的方法,特别适用于股指期货的日内交易。尽管如此,强化学习模型仍然面临着一些挑战,如对大数据量的需求以及结果的可解释性问题,这些问题在一定程度上限制了它们在实际金融市场中的广泛应用。

图神经网络及其最新方法

图神经网络(GNN)在股票预测领域获得了越来越多的关注,这主要得益于其捕捉金融数据中复杂依赖关系的能力。将递归神经网络(RNN)与GNN结合的混合模型能够实现更为实时的预测。通过引入层次注意力机制,这种组合进一步增强了GNN分析多层次市场依赖性的能力。研究人员开发了高阶图注意力网络(H-GAT),该网络通过建模复杂的子图结构,综合考虑技术和基本面因素,从而更精确地反映股票的真实价值。

然而,许多现有的图模型往往忽略了股票价格变化的多样性和时间动态特性,因此需要创新的方法来改进。例如,有研究提出了市场导向的股票变换器,可以动态模拟股票之间瞬时和跨时间的相关性。这些方法整合了长期趋势、短期波动以及突发性事件的影响,超越了传统的预测手段,考虑到了市场动态的多尺度特征。尽管如此,GNN在股票预测中仍存在一定的局限性,如难以充分建模复杂的非线性关系和异常情况,对稀疏数据和噪声缺乏鲁棒性,并且容易过拟合。

大型语言模型(LLMs)在股票预测中的应用也逐渐成为学术界的研究热点,特别是在金融情感分析和预测建模方面。研究表明,由ChatGPT生成的新闻标题的情感分析结果与随后的股票市场回报之间存在着强烈的关联,展示了LLMs在捕捉市场情绪方面的潜力。LLMs与GNN的结合提高了股票预测的准确性,其中ChatGPT被用来从金融新闻中推断出动态网络结构,并与GNN结合使用以进行预测。这种混合模型显示出了优越的预测性能,证明了LLMs和GNN之间的协同作用可以有效应对金融市场中动态和相互关联的挑战。

02MCI-GRU

MCI-GRU模型由四个关键组件构成:

  • (a) 经过改进的GRU单元负责捕捉时间序列特征,其中注意力机制取代了传统的重置门来选择性地聚焦于重要信息。
  • (b) 图注意力网络(GAT)用于提取跨截面特征,通过注意力机制对不同股票之间的关系进行加权处理,以更好地反映市场结构。
  • (c) 多头交叉注意力模块旨在捕捉潜在的市场状态特征,能够学习到那些隐含的、影响市场的条件。
  • (d) 最后是预测和损失计算层,它整合所有学习到的特征,并通过优化过程提升模型的整体性能。

设定

设有一组股票 S = {s₁, s₂, ..., sN},其中 N 代表股票的总数。对于集合中的每只股票 sᵢ,在第 t 个交易日的信息由一个向量 xᵢₜ 描述,该向量包含了诸如开盘价、收盘价、最高价、最低价、成交量和成交金额等特征。每个交易日的特征维度用 dₓ 表示,表示每只股票每日的描述性特征数量。股票 sᵢ 在从第一天到第 t 天的时间序列数据可以表示为 xᵢ = {xᵢ₁, xᵢ₂, ..., xᵢₜ}。整个股票集合在所有考虑的交易日的数据则可以汇总为 X = {x₁, x₂, ..., xN}。

使用改进的GRU来捕捉时间特征

GRU模型在时间序列预测任务中被广泛采纳,能够有效地捕捉时序数据中的依赖关系。然而,传统的GRU在处理长时间跨度的依赖性时存在一定的局限性,不易提取到更深层次的特征。本研究中,我们采用了增强版的GRU模型,通过引入注意力机制来替代原有的重置门,以此提高模型对时序数据的表征能力和学习效率。

  • GRU的基本结构

GRU模型通过更新门z_t 和重置门 r_t 来更新隐藏状态h_t。更新门 z_t 和重置门 r_t 的计算依赖于当前输入 x_t 、前一个时间步的隐藏状态 h_{t-1} ,以及相关的权重矩阵和偏置项。重置门 r_t 决定了前一隐藏状态对当前候选隐藏状态h̃_t的贡献程度。最终的隐藏状态 h_t 由更新门z_t 控制,决定了新旧信息的融合比例;而重置门则在长短期依赖关系的捕捉中扮演着关键角色。

  • 改进的GRU

本文提出了一种改进模型,通过引入注意力机制来替代GRU中的传统重置门( r_t ),从而更精准地捕捉时间序列数据中的重要信息。注意力权重( \alpha_t )是根据前一时间步的隐藏状态( h_{t-1} ) 以及当前输入( x_t )计算出来的。

计算步骤包括:

  • 对查询、键和值进行线性变换。
  • 通过计算查询与键之间的点积来确定注意力权重。
  • 利用这些注意力权重对值进行加权平均,从而生成新的重置门值 rtrt。

该机制增强了模型捕捉长期依赖关系的能力。

  • 更新隐藏状态

GRU的隐藏状态更新公式中引入了改进的重置门 \( r'_t \) 和更新门 \( z_t \),这两个门现在结合了注意力机制,从而增强了模型动态选择信息的能力。这使得模型能够更有效地捕捉时间序列数据中的长期依赖关系和关键特征。

  • 最终输出

增强的GRU模型通过递归计算生成一系列隐藏状态 H = [h₁, h₂, ..., hₜ],其中每个隐藏状态 hₜ 不仅整合了之前时间步的信息,还通过注意力机制加强了对重要时间步的关注。最终得到的隐藏状态 hₜ 构成了整个序列的表示向量 A₁ ∈ ℝⁿ×dₕ,该向量用于后续的特征提取和模型训练过程。

使用GAT捕获特征

图注意力网络(GAT)是该模型架构中的一个核心组件,主要用于提取数据的截面特征。相较于传统的图卷积网络,GAT通过捕捉各股票之间的相互关系进行了扩展。它引入了注意力机制,允许模型根据股票(作为节点)之间的关联程度来分配不同的权重,从而更精准地反映它们之间的重要性差异。

  • 输入表示

输入矩阵的维度为 (N, dₓ),其中 N 表示股票的数量,dₓ 代表特征向量的维度。这些输入数据来源于原始的股票信息。GAT 层专注于分析股票之间的横向依赖关系。

  • 图结构

  • 图结构构建:
    • 节点:每个节点代表一只股票。
    • 边:边表示不同股票之间的关系。
    • 边权重:基于过去一年股票收益的历史相关性来设定。
  • 股票收益计算:
    使用对数收益公式,r_i(t')表示股票s_i在时间t'的收益。

  • 皮尔逊相关系数计算:
    ρ(s_i, s_j)衡量两只股票收益的线性相关性,r̄_i和r̄_j为过去一年股票的平均收益。

  • 边权重设置:
    边权重w_i,j通常设为ρ(s_i, s_j)。

  • 关系筛选:
    • 引入一个评判值(judge value)作为阈值过滤参数,用于筛选显著的关系。
    • 仅保留那些超过阈值的重要连接,以减少噪声并聚焦于具有实际意义的股票间联系。
    • 通过这种方式,可以突出展示那些存在稳定相关性的股票对,确保图结构的有效性和简洁性。

  • GAT中的注意机制

GAT层的关键在于其注意力机制,该机制动态地计算每个节点的邻居节点的重要性,即注意力系数。通过这种方式,模型能够灵活地评估并加权不同邻居对当前节点的影响。

对于每个节点i,执行以下操作:

  • 线性变换:特征向量 ( h_i = W_g x_{it} ),其中 ( W_g ) 是可学习的权重矩阵。


注意力系数计算:计算节点i与邻居j之间的注意力系数。

  • 归一化:通过softmax函数对注意力系数进行归一化,得到 ( \alpha_{ij} )。


特征聚合:节点的更新表示为邻居特征的加权和,权重为归一化的注意力系数。

  • GAT层的输出

GAT层输出矩阵A 2 ∈ RN ×d g,其中包含了更新后的股票特征向量。这些特征向量不仅融合了各自邻居的信息,还捕捉到了股票之间的交叉依赖关系,从而更全面地反映了市场的复杂动态。

使用多头交叉注意捕捉潜在状态特征

市场潜在状态学习层的目标是识别那些无法直接观测的市场潜在状态,从而辅助模型更深入地理解并预测股票的行为。

  • 市场潜在状态的初始化

初始化一组可学习的市场潜在状态向量,用以表示不同的市场条件或因素。潜在状态的数量( d_r) 作为超参数可以调整,以便捕捉更多的潜在影响因素。每个潜在状态向量的维度 ( d_i ) 需要与模型已学习到的股票特征维度相匹配。我们初始化了两个潜在状态向量矩阵 ( R_1 ) 和 ( R_2 ),分别用于处理时间序列信息(源自改进的 GRU 输出 ( A_1 )和横截面信息(源自 GAT 输出 ( A_2 )。这两个矩阵 ( R_1 ) 和 ( R_2 ) 的维度均为 (d_r, d_i) ,确保它们能够有效地整合不同类型的市场信息。

  • 多头交叉注意机制

该机制用于促进潜在状态向量与改进的GRU层和GAT层输出之间的交互,从而优化潜在状态的表示。通过这种方式,模型能够更有效地整合时间序列信息和横截面信息,提升对潜在市场状态的理解和捕捉。

A1与R1的交叉注意力:

  • 线性变换:
    计算A1(查询)与R1(键和值)之间的注意力分数,通过线性变换来调整特征维度,以便进行有效的交互。
     

  • 缩放点积注意力:
    通过点积计算注意力权重,并通过缩放因子确保数值稳定。然后应用 softmax 函数,使所有注意力权重的和为 1,从而得到归一化的注意力分布。

  • 注意力头的拼接:
    将多个注意力头的输出进行拼接,形成一个综合的表示。随后,通过一个可学习的矩阵WO将其投影到输出空间,最终生成输出B1。

R2与A2的交叉注意力:与A1和R1的过程类似,计算B2。

  • 市场潜在状态的整合

经过多头交叉注意力机制处理后,( B_1 ) 和 ( B_2 ) 成为了增强的潜在状态表示。这些向量融合了市场的时间序列特征和横截面特征,能够更全面地反映市场的动态情况。它们适用于后续的各种任务,例如预测股票价格走势或识别不同的市场状态。

模型预测和损失计算层

损失计算层是模型的最终阶段,负责整合前面各层的输出以生成预测结果。该层决定了模型的训练方式,通过量化预测值与真实值之间的差异来进行优化调整。

  • 整合输入

损失计算层的输入包含时间序列表示A₁、横截面表示A₂以及潜在市场状态表示B₁ 和 B₂。其中,A₁ 由改进的 GRU 层生成,用于捕捉股票数据中的时间序列依赖关系;A₂则来自 GAT 层,建模不同股票之间的相关性。而B₁和B₂是通过市场潜在状态学习层获得的,反映了从时间序列和横截面数据中提取的隐藏市场因素。在进行最终预测之前,模型会将这些输出拼接成一个综合特征向量Z,以整合所有信息。

  • 使用GAT层的最终预测

特征向量Z处理:

综合特征向量 Z 通过 GAT 层进行最终预测。GAT 层利用图结构建模股票之间的关系,整合时间序列信息、横截面信息以及潜在市场状态,以提高预测的准确性。

图构建:

在图中,每个节点代表一只股票,边则根据过去一年的历史相关性来定义。通过引入一个可调参数作为阈值,筛选出具有显著相关性的边,从而减少噪声并聚焦于重要的股票间关系。

注意力机制:

为了计算邻居股票的重要性,模型使用可学习的权重矩阵和注意力向量来得出注意力分数。这些分数通过 softmax 函数归一化,确保每个邻居的贡献比例合理。

特征聚合:

每个股票的最终输出是其邻居特征的加权和,其中加权系数由归一化的注意力权重决定,反映了邻居对当前股票的影响程度。

维度降低:

第一层 GAT 的输出Z' 被输入到第二层 GAT 中,继续按照相同的计算方法进行处理。经过两层 GAT 的处理后,最终输出为每个股票的预测结果,实现了从高维到低维的有效转换,同时保留了关键信息。

  • 损失函数

在通过 GAT 层获得最终预测后,模型计算损失以评估预测的股票回报与实际值之间的差异。选择合适的损失函数对于模型性能至关重要,本模型采用了均方误差(MSE)作为损失函数。MSE 的计算公式为:

训练过程中,优化模型参数以最小化损失函数,提高预测性能。使用Adam算法作为基于梯度的优化算法更新模型参数。

03实验

实验设置

数据集

使用四个股票市场数据集评估模型的稳健性和普适性。数据集包括:

  • 上海-深圳CSI 300(大盘股)
  • CSI 500(中盘股)
  • S&P 500(美国市场500强)
  • NASDAQ 100(非金融科技公司前100名)。

这些数据集涵盖了多种市场活动和地理区域,用于评估模型在不同金融环境中的预测性能。数据集根据时间序列被划分为三个阶段:训练集(2018-2021年)、验证集(2022年)和测试集(2023年)。通过使用过去60个交易日的特征来预测接下来21个交易日内的股票回报排序,以此模拟实际交易决策过程。基线研究聚焦于四个股市市场的六个主要财务指标:开盘价、收盘价、最高价、最低价、成交量以及成交额。

为了保证数据质量并降低异常值的干扰,我们执行了异常值检测和数据标准化。在训练过程中,以每日回报率为标签进行计算,该标签定义为连续两个交易日收盘价之间的百分比变动。

评估指标

这些数据集涵盖了多种市场活动和地理区域,用于评估模型在不同金融环境中的预测性能。数据集根据时间序列被划分为三个阶段:训练集(2018-2021年)、验证集(2022年)和测试集(2023年)。通过使用过去60个交易日的特征来预测接下来21个交易日内的股票回报排序,以此模拟实际交易决策过程。基线研究聚焦于四个股市市场的六个主要财务指标:开盘价、收盘价、最高价、最低价、成交量以及成交额。

为了保证数据质量并降低异常值的干扰,我们执行了异常值检测和数据标准化。在训练过程中,以每日回报率为标签进行计算,该标签定义为连续两个交易日收盘价之间的百分比变动。

评估策略性能的六个关键财务指标:

  • 年化收益率(ARR):反映投资策略有效性。
  • 年化波动率(AVoL):衡量策略风险。
  • 最大回撤(MDD):表示潜在损失风险。
  • 年化夏普比率(ASR):评估风险调整后的表现。
  • 卡尔玛比率(CR):评估收益与最大回撤的关系。
  • 信息比率(IR):测量超额收益与额外风险的比率。

更高的ARR、ASR、CR和IR,以及更低的AVoL和MDD,表示更优的策略表现。

基线模型

为了进行比较分析,我们考察了MCI-GRU模型与一系列基线模型在时间序列预测任务中的表现。这些模型包括传统的机器学习方法、深度学习架构以及强化学习算法。

  • BLSW:基于均值回归理念,特别适合周期性市场的交易。
  • CSM:利用动量效应,通过追踪持续的价格趋势来进行交易决策。
  • LSTM:是一种能够捕捉时间依赖性的递归神经网络。
  • ALSTM:改进版的LSTM,它引入了双重注意机制以提升预测的准确性。
  • GRU:作为LSTM的一种简化版本,保持了高效计算的优势。
  • Transformer:采用多头自注意力机制,擅长处理长时间跨度的依赖关系。
  • TRA:指的是Transformer中的一种动态路由机制,有助于适应性地学习时间模式。
  • CTTS:结合了卷积神经网络(CNN)和Transformer,旨在同时捕捉局部和全局特征。
  • A2C:是一种并行学习优化策略的深度强化学习算法。
  • DDPG:是专为连续动作空间设计的深度强化学习技术。
  • PPO:使用剪切代理目标来优化策略,提高了训练过程的稳定性。
  • TD3:是对DDPG的进一步改进,用以减少估计偏差。
  • SAC:是将熵正则化引入到强化学习中的一种方法。
  • FactorVAE:结合了动态因子模型和变分自编码器,用于预测股票收益。
  • AlphaStock:深度学习与强化学习结合,捕捉资产间关系。
  • DeepPocket:融合了深度学习和强化学习,目的是揭示资产之间的关系。
  • DeepTrader:结合图神经网络和强化学习,实现动态决策过程。
  • THGNN:即时间异构图神经网络,增强了对金融时间序列的预测能力。

结果

在CSI 300数据集上,传统和深度学习模型(例如BLSW、CSM和LSTM)未能达到预期效果,其ARR(年化回报率)为负值,并伴随着较高的风险。具体而言,Transformer模型的ARR低至-0.240,最大回撤(MDD)达到了-0.281。

对于CSI 500数据集,尽管Transformer模型的表现有所好转,实现了0.154的ARR和0.986的ASR(年化夏普比率),但依然落后于我们提出的模型。与此同时,强化学习模型(如PPO和DDPG)虽然表现略有进步,但在两个数据集上的ARR和IR(信息比率)均为负数,显示出回报潜力不足的问题。图模型(例如THGNN)在CSI 300和CSI 500数据集上的ARR分别为-0.015和0.048,虽有提升,但仍然不及我们的模型。

相比之下,MCI-GRU模型在这两个数据集上都表现出色,分别获得了0.352和0.330的ARR,以及1.559和1.626的ASR,证明了其卓越的风险调整后的回报能力。

在S&P 500和NASDAQ 100数据集中,传统模型(如BLSW和CSM)表现平平,其中CSM的ARR为0.099,ASR为0.396;而Transformer模型则取得了0.135的ARR和0.852的ASR。在S&P 500数据集上,强化学习模型(如SAC和FactorVAE)表现有所改善,分别实现了1.263和1.128的ASR;FactorVAE在NASDAQ 100数据集上更是达到了0.356的ARR和2.234的ASR。

值得注意的是,基于图的模型(DeepTrader和THGNN)在NASDAQ 100数据集上表现出众,DeepTrader的ARR为0.716,ASR为2.890;THGNN则录得0.644的ARR和3.147的ASR。

最终,MCI-GRU模型在S&P 500和NASDAQ 100数据集上均获得了最佳的ARR(分别为0.456和0.718)以及优异的风险调整回报(ASR分别为2.549和3.257)。

实验结果突显了在股票预测模型中融合关系数据与时间信息的关键作用,MCI-GRU模型在各个数据集上的表现均超越了传统方法、深度学习及强化学习的基准模型。

参数敏感性

超参数敏感性分析评估了 judge value、label t、his t、hidden size、gat heads 和 num hidden states 等因素对模型性能的影响,结果表明,即使在不同的参数配置下,模型的表现依然保持稳定。

Judge Value 敏感性分析:

当 judge value 设置为 0.8 时,模型表现出最佳性能,在 CSI 300 数据集上实现了 0.352 的 ARR 和 1.526 的 IR。超过这个值后,模型性能开始逐渐下降,这表明模型对 judge value 参数具有一定的敏感度。

Label Time 敏感性分析:

对于 label t,设置为 5 天时模型效果最优,特别是在 NASDAQ 100 数据集上,ARR 达到了 0.718,IR 为 2.609。这一结果展示了模型能够有效地捕捉短期市场趋势。

History Length 敏感性分析:

在历史长度(his t)方面,10 天的历史数据使模型表现最为出色。尽管在不同历史长度下模型的性能保持稳定,但 10 天被证明是利用历史信息的最佳选择。

Hidden Size 敏感性分析:

hidden size 设为 32 时,模型达到了最佳性能。无论维度如何变化,模型都能保持稳定的性能,这反映了它在复杂性和预测准确性之间的良好平衡。

GAT Heads 敏感性分析:

采用 4 个图注意力头(GAT heads)时,模型的表现最为优异,在 CSI 300 数据集上实现了 0.352 的 ARR 和 1.526 的 IR。这显示了模型在处理复杂数据依赖关系方面的稳健性。

隐藏状态数量(num hidden states)对于捕捉市场动态起着关键作用,模型在4或8个隐藏状态下表现最佳。具体来说,在CSI 300数据集中,当使用8个隐藏状态时,模型的年化收益率(ARR)达到0.356,信息比率(IR)为1.533。而在S&P 500和NASDAQ 100数据集中,4个隐藏状态分别实现了0.456的ARR(IR为2.197)和0.718的ARR(IR为2.609)。如果隐藏状态的数量过少(如2个)或过多(如16个),则会导致模型性能下降。

尽管如此,模型在各种参数配置下依然保持了稳定的性能,展示了其良好的正则化能力,能够适应不同的市场条件和数据分布。这表明模型不仅能够在最优参数设置下提供出色的预测结果,还具有较强的鲁棒性和泛化能力。

消融分析

进行详尽的消融分析,以评估模型各个组成部分的重要性。模型结构由四个关键模块构成:首先是改进的GRU单元,用于提取时间序列特征(模块I);其次是图注意力网络(GAT),负责捕捉横截面数据中的关系(模块II);第三是多头交叉注意力机制,旨在识别和利用潜在状态特征(模块III);最后是预测与损失计算层,完成最终的预测输出及性能评估(模块IV)。通过这种分模块的研究,可以深入了解每个组件对整体模型性能的贡献。

模块I和模块II的组合在所有数据集上带来了中等程度的性能提升,这表明改进的GRU单元与GAT层在捕捉时间序列特征和关系依赖性方面的重要性。

当加入模块III时,模型性能得到了进一步的显著提升,突显了整合市场广泛潜在状态对于理解市场动态的关键作用。

配置为(I+II+IV)和(I+III+IV)的模型在CSI 300和CSI 500数据集上展现了明显的性能改进,说明损失计算层对预测结果的优化起到了重要作用。

而配置(II+III+IV)在ARR(年化回报率)和ASR(年化夏普比率)指标上也表现出显著的性能增强,这证明了GAT层、市场隐藏状态以及优化后的损失计算机制三者结合的有效性。

消融研究的结果显示,各个模型组件之间相互补充,其整合能够显著提高预测性能,强调了同时利用时间信息、关系信息及潜在市场状态的重要性。

案例分析

模型在EMoney Inc.的算法交易平台上每月进行一次训练,以生成每日的交易预测,并在下一个交易日的前半小时执行相应的交易策略。该模型针对CSI 300、CSI 500和CSI 1000股票池进行了优化,旨在提高其在各种市场条件下的表现。

图2展示了模型策略的表现:红线代表模型的绝对收益,蓝线表示市场指数的表现,而黄线则反映了超额收益。从图中可以看出,模型的表现显著优于市场平均水平。进一步的超额收益回撤率分析表明,模型拥有出色的风崄管理能力,最大回撤幅度仅约为5%,有效平衡了收益与风险,能够适应市场的波动性。

通过这种方式,模型不仅能够在不同的市场环境中保持稳健的表现,还能够为投资者提供超越市场的回报,同时控制风险,确保投资组合的稳定性。

04总结

本文介绍了一种新型的股票预测模型——MCI-GRU,该模型融合了多头交叉注意力机制和改进的GRU架构。通过用注意力机制替代传统GRU中的重置门,模型增强了对历史时间序列数据的选择性处理能力。此外,模型引入了图注意力网络(GAT)来提取横截面特征,并利用多头交叉注意力机制捕捉影响股票行为的潜在市场状态。

实验结果显示,在中国和美国股市的数据集上,MCI-GRU在多个性能指标方面均超越了现有的先进方法。该模型不仅在学术研究中表现出色,还成功应用于实际基金管理公司,证明了其在现实世界中的可行性和有效性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/501550.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode 第426场周赛分析总结

3370. 仅含置位位的最小整数 AC代码 class Solution { public:int smallestNumber(int n) {int x 1;while (x - 1 < n) {x << 1;}return x - 1;} };分析总结 也可以先直接获取n的长度&#xff0c;然后计算得到&#xff0c;这样时间复杂度由O(logn)优化为O(1) 在C…

在 SQL 中,区分 聚合列 和 非聚合列(nonaggregated column)

文章目录 1. 什么是聚合列&#xff1f;2. 什么是非聚合列&#xff1f;3. 在 GROUP BY 查询中的非聚合列问题示例解决方案 4. 为什么 only_full_group_by 要求非聚合列出现在 GROUP BY 中&#xff1f;5. 如何判断一个列是聚合列还是非聚合列&#xff1f;6. 总结 在 SQL 中&#…

C++ —— 智能指针

内存泄漏 什么是内存泄漏&#xff0c;内存泄漏的危害 什么是内存泄漏&#xff1a;内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内 存泄漏并不是指内存在物理上的消失&#xff0c;而是应用程序分配某段内存后&#xff0c;因为设计错误&#xff0c;失去…

Ethernet 系列(12)-- 基础学习::SOME/IP

目录 1. SOME/IP简介&#xff1a; 1.1 什么是SOME/IP&#xff1a; 1.2 什么时候使用SOME/IP&#xff1a; 2. SOME/IP的特点&#xff1a; 2.1 序列化&#xff1a; 2.2 远程过程调用&#xff08;RPC&#xff09;: 2.3 服务发现&#xff1a; 2.4 发布/订阅&#xff1a; 2.5 UDP消息…

UE5.3 虚幻引擎 Windows插件开发打包(带源码插件打包、无源码插件打包)

0 引言 随着项目体量的增大&#xff0c;所有代码功能都放一起很难管理。所以有什么办法可以将大模块划分成一个个小模块吗。当然有&#xff0c;因为虚幻引擎本身就遇到过这个问题&#xff0c;他的解决办法就是使用插件的形式开发。 例如&#xff0c;一个团队开发了文件I/O模块插…

自学记录鸿蒙API 13:实现多目标识别Object Detection

起步&#xff1a;什么叫多目标识别&#xff1f; 无论是生活中的动物识别、智能相册中的场景分类&#xff0c;还是工业领域的检测任务&#xff0c;都能看到多目标识别的身影。这次&#xff0c;我决定通过学习HarmonyOS最新的Object Detection API&#xff08;API 13&#xff09…

光伏安装在屋顶:安全、环保还是潜在威胁?

随着环保意识的增强和科技的进步&#xff0c;光伏发电作为一种可再生能源技术&#xff0c;正逐渐走进千家万户。然而&#xff0c;随着光伏板的普及&#xff0c;关于其在屋顶安装是否对人体有害的疑问也随之而来。 一、光伏发电的基本原理 光伏发电是利用半导体界面的光生伏特效…

被催更了,2025元旦源码继续免费送

“时间从来不会停下&#xff0c;它只会匆匆流逝。抓住每一刻&#xff0c;我们才不会辜负自己。” 联系作者免费领&#x1f496;源&#x1f496;码。 三联支持&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 更多内容敬请期待。如有需要源码可以联系作者免…

MYsql--------ubantu中安装mysql

在Ubuntu平台上下载、启动和关闭MySQL的方法如下&#xff1a; 下载安装MySQL 更新软件包列表&#xff1a;打开终端&#xff0c;输入以下命令&#xff0c;确保软件包列表是最新的。sudo apt update安装MySQL服务器&#xff1a;执行以下命令安装MySQL服务器。在安装过程中&…

pygame飞机大战

飞机大战 1.main类2.配置类3.游戏主类4.游戏资源类5.资源下载6.游戏效果 1.main类 启动游戏。 from MainWindow import MainWindow if __name__ __main__:appMainWindow()app.run()2.配置类 该类主要存放游戏的各种设置参数。 #窗口尺寸 import random import pygame WIND…

Flutter中的网络请求图片存储为缓存,与定制删除本地缓存

Flutter中的网络请求图片存储为缓存&#xff0c;与定制删除本地缓存 1&#xff1a;封装请求图片函数 2&#xff1a;访问的图片都会转为本地缓存&#xff0c;当相同的请求url&#xff0c;会在本地调用图片 3&#xff1a;本地缓存管理【windows与andriod已经测试】【有页面】【有…

无线AP安装注意事项

现在的办公楼、酒店等项目中都设计含有网络无线覆盖这一项&#xff0c;在项目实施中&#xff0c;往往采用的是便捷并且后期便于网络无线设备管理的无线ap设备&#xff0c;作为前端无线信号的覆盖。在具体安装无线AP过程中&#xff0c;我们必须要注意以下几点才能保证项目实施完…

Golang的容器编排实践

Golang的容器编排实践 一、Golang中的容器编排概述 作为一种高效的编程语言&#xff0c;其在容器编排领域也有着广泛的运用。容器编排是指利用自动化工具对容器化的应用进行部署、管理和扩展的过程&#xff0c;典型的容器编排工具包括Docker Swarm、Kubernetes等。在Golang中&a…

计算机毕业设计Django+Tensorflow音乐推荐系统 音乐可视化 卷积神经网络CNN LSTM音乐情感分析 机器学习 深度学习 Flask

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

C# 在PDF中添加和删除水印注释 (Watermark Annotation)

目录 使用工具 C# 在PDF文档中添加水印注释 C# 在PDF文档中删除水印注释 PDF中的水印注释是一种独特的注释类型&#xff0c;它通常以透明的文本或图片形式叠加在页面内容之上&#xff0c;为文档添加标识或信息提示。与传统的静态水印不同&#xff0c;水印注释并不会永久嵌入…

分析服务器 systemctl 启动gozero项目报错的解决方案

### 分析 systemctl start beisen.service 报错 在 Linux 系统中&#xff0c;systemctl 是管理系统和服务的主要工具。当我们尝试重启某个服务时&#xff0c;如果服务启动失败&#xff0c;systemctl 会输出错误信息&#xff0c;帮助我们诊断和解决问题。 本文将通过一个实际的…

Dubbo扩展点加载机制

加载机制中已经存在的一些关键注解&#xff0c;如SPI、©Adaptive> ©Activateo然后介绍整个加载机制中最核心的ExtensionLoader的工作流程及实现原理。最后介绍扩展中使用的类动态编译的实 现原理。 Java SPI Java 5 中的服务提供商https://docs.oracle.com/jav…

如何利用Logo设计免费生成器创建专业级Logo

在当今的商业世界中&#xff0c;一个好的Logo是品牌身份的象征&#xff0c;它承载着公司的形象与理念。设计一个专业级的Logo不再需要花费大量的金钱和时间&#xff0c;尤其是当我们拥有Logo设计免费生成器这样的工具时。接下来&#xff0c;让我们深入探讨如何利用这些工具来创…

游戏如何检测iOS越狱

不同于安卓的开源生态&#xff0c;iOS一直秉承着安全性更高的闭源生态&#xff0c;系统中的硬件、软件和服务会经过严格审核和测试&#xff0c;来保障安全性与稳定性。 据FairGurd观察&#xff0c;虽然iOS系统具备一定的安全性&#xff0c;但并非没有漏洞&#xff0c;如市面上…

智联视频超融合平台:电力行业的智能守护者

文章目录 一、远程实时监控与设备状态监测二、提高应急响应能力三、实现无人值守与减员增效四、保障电力设施安全与防范外部破坏五、提升电网运行管理效率与决策科学性六、助力电力企业数字化转型与智能化发展七、智联视频超融合平台 在当今数字化浪潮下&#xff0c;视频联网平…