传统的多因子风险模型有一个根本性的假设:股票之间的相关性可以由一组共同因子来解释。Barra、Axioma、Northfield 这些主流商业风险模型,本质上都是在做同一件事——把 M × N 的股票协方差矩阵,降维变成 M × K 的因子暴露矩阵乘以 K × K 的因子协方差矩阵,其中 K 通常只有几十到一两百个。
这个假设在大多数时候是合理的,但在某些时刻会彻底崩塌。一个经典的例子:2020 年 3 月的流动性危机中,几乎所有资产——股票、债券、黄金、比特币——都在同时暴跌。以”分散化”为核心的多因子模型,在极端相关性事件面前几乎失效。
**图神经网络(Graph Neural Network, GNN)**正在改变这一局面。通过显式建模股票之间的关系网络,GNN 能够捕捉因子模型所遗漏的”非线性关联结构”。
为什么传统风险模型不够用了#
多因子模型的本质是线性降维。它假设任意两只股票之间的超额收益协方差,可以表示为它们在各因子上的暴露的线性组合。这在统计上是有效的——对于平稳市场的日常风险管理,Barra 模型仍然是最好的工具之一。
但它有三个致命盲区:
一是时变相关性。 因子模型通常用过去 252 个交易日的数据来估计协方差矩阵,隐含假设是”未来一段时间的相关结构和过去一年类似”。当市场结构突然变化时——比如一个重大政策出台——历史估计就会严重滞后。
二是非线性冲击传导。 假设 A 公司和 B 公司没有直接的业务关系,但 A 公司是 B 公司的第三大客户的核心供应商。这种间接关联在因子模型中几乎不可能被捕获,但在供应链断裂事件中,这种”暗关联”才是真正的风险来源。
三是网络级联效应。 风险不是均匀分布的。在金融危机中,少数几个节点的崩溃会通过债权关系、投资者重叠、市场情绪等渠道向整个网络扩散。这种级联效应是图结构问题,不是线性因子问题。
GNN 如何建模股票关系网络#
GNN 的核心优势在于:它能把股票之间的关系作为一阶建模对象,而不是被降维概括后的残差。
具体的建模流程分为三步:
第一步:构建股票关系图#
将每只股票视为图中的一个节点,节点之间的边代表某种关联关系。常用的边类型包括:
- 行业归属边:同行业的股票建立连接(可以按中信三级行业或 GICS 子行业)。
- 供应链边:基于公开披露的客户/供应商关系构建。
- 概念主题边:基于 NLP 从研报和公告中提取的概念关联(如”新能源汽车产业链”、“华为供应链”等)。
- 资金流动边:基于北向资金、龙虎榜、大宗交易等数据中的共同交易特征构建。
边可以是有权重的——用关联强度作为边的权重,而不是简单的 0/1 连接。也可以是有方向的——比如”A 是 B 的客户”与”B 是 A 的客户”是不同的边。
第二步:节点特征工程#
每个股票节点附着一组特征向量,包括基本面因子(PE、PB、ROE、负债率)、量价因子(动量、波动率、换手率)、以及从文本中提取的 NLP 特征(比如近期研报的情感极性)。
第三步:消息传递与聚合#
GNN 的核心机制是消息传递(Message Passing):每一层中,每个节点从它的邻居节点接收”消息”(邻居的当前状态向量),通过一个可学习的聚合函数(均值、最大池化、注意力加权)合并这些消息,然后更新自己的状态。
经过多层消息传递后,每个节点的最终表示不再仅仅是它自己的特征,而是融合了它在整个网络中的拓扑位置和邻居信息。这就是 GNN 能够捕获”暗关联”的原因。
在风险建模中的三类应用#
应用一:尾部风险预测#
训练一个 GNN,输入 t 时刻的图结构和节点特征,预测 t+1 到 t+N 区间内各股票的最大回撤幅度。GNN 版的尾部风险预测显著优于线性因子模型,尤其是在市场压力期。因为当风险在网络中蔓延时,GNN 能在消息传递过程中”感知”到风险源的扩散路径。
一篇 2025 年的实证研究显示,在 2018 年中美贸易摩擦和 2020 年疫情冲击两个压力场景中,GNN 模型的尾部 VaR 估计的 Kupiec 检验通过率比传统 GARCH-EVT 方法高出约 15 个百分点。
应用二:组合压力测试#
传统压力测试的流程是:设定某个冲击场景(比如”人民币贬值 10%”),然后基于因子模型计算组合中每只股票在这个场景下的期望损失。这个过程的问题在于,它忽略了个股之间的网络传导效应。
GNN 版的压力测试思路不同:你在图中对某些节点施加一个冲击(比如把出口导向型企业的节点特征中的”汇率风险暴露”加一个尖峰),然后让 GNN 进行一次完整的前向传播。因为消息传递机制的存在,冲击会自然地从被攻击的节点向其邻域扩散。最终输出的每个节点的预测风险值,已经隐含包含了网络传导效应。
应用三:系统性风险监测#
GNN 还可以用来构建实时的系统性风险仪表盘。具体做法是持续运行 GNN 的前向传播,监控两个关键指标:
- 图平均注意力权重:在消息传递中,不同节点之间的注意力权重反映了”市场认为谁和谁最相关”。当这个注意力矩阵突然发生结构性变化时——比如从”行业内高内聚”转变为”跨行业均匀分布”——通常预示着市场正在从”分化行情”切换到”系统性同涨同跌”模式。
- 高危节点度中心性:计算每个节点的入度和出度加权中心性。当某个节点(某只股票或某个行业)的中心性突然飙升时,意味着市场正在将大量”风险关联”往这个节点上集中——这是一个早期预警信号。
GNN 在量化中的落地挑战#
GNN 虽然在理论上很有吸引力,但在量化实盘中落地还有几个实际问题:
一是图结构的动态性。 股票之间的关系不是静态的。供应链会变化,概念主题会退潮,市场情绪会转移。如果图结构不能实时更新,GNN 的优势就大打折扣。目前主流的做法是:用滑动窗口的方式定期重建图结构(比如每周末更新一次),在周内不再修改。
二是计算开销。 全市场 5000 只股票的全连接图,消息传递的计算量不小。实际中通常采用采样子图或层次化图的方式来做近似。比如先在大图中找出与目标组合最相关的几百只股票构建子图,再在这个子图上跑 GNN。
三是过拟合风险。 GNN 的参数量远多于传统因子模型。在金融数据本身就稀疏的情况下,过拟合是一个非常真实的问题。需要搭配严格的 walk-forward 验证和组合级别的交叉验证。
结语#
多因子模型不会消失——它在日常风险管理中的高效性和可解释性无可替代。但 GNN 正在成为一个重要的补充工具,填补因子模型在极端风险和非线性关联方面的盲区。
量化投资的下一个突破口,不在因子挖掘的”内卷”中,而在建模方式的结构性升级上。图神经网络,正是这条路上的关键拼图。

