一、课程导论:GNN基础概念、股票关联分析的意义、课程整体框架与学习路径

1.1 为什么我们要聊图神经网络?

各位同学好,我是这门课的主讲。在正式开始之前,我想先问大家一个问题:股票市场,本质上是什么?

你可能会说,是资金的博弈,是信息的集合,是情绪的放大器。这些都对。但在我做了十几年量化之后,我越来越觉得——股票市场,其实是一张巨大的、动态的、相互关联的网。

你看,A公司涨了,可能带动B供应商的订单预期变好;C行业出了政策,D和E两家竞争对手的股价会反向波动;甚至某只基金爆仓,都能通过质押、融资、衍生品链条,把几十只股票拖下水。这些关系,传统的线性模型很难刻画。

我个人习惯把这种关系叫做「市场的暗线」。你想想看,如果能把所有股票之间的「暗线」都画出来,再让模型去学习这张图上的规律,会发生什么?

嗯,这就是我们这门课的核心——图神经网络(GNN)在股票关联分析中的应用

核心观点: 股票不是孤立的点,而是图中的节点。它们之间的关联(供应链、行业、资金流、情绪传导)就是图中的边。GNN 就是用来学习这种「节点+边」结构的最强工具之一。

1.2 GNN 基础概念:别怕,其实没那么玄

很多同学一听到「图神经网络」就觉得头大。说实话,我当年刚接触时也这样。但后来我发现,你只要搞懂三个东西就够了:节点、边、消息传递。

  • 节点(Node): 就是图中的每个实体。在股票场景里,节点就是一只股票,或者一个行业指数。
  • 边(Edge): 就是节点之间的关系。比如「同行业」、「上下游」、「大股东关联」、「高频相关性」等。
  • 消息传递(Message Passing): 这是 GNN 的灵魂。说白了,就是每个节点不断「问」它的邻居:你最近怎么样?有什么新信息?然后把这些信息聚合起来,更新自己的状态。

举个例子。假设我们要分析茅台(节点A)和五粮液(节点B)。它们之间有一条边叫「同行业——白酒」。当茅台发布超预期财报时,GNN 会通过这条边,把「利好」信息传递给五粮液,同时也会考虑五粮液自身的估值、库存等特征。最终,模型会输出一个更新后的「五粮液预期收益率」。

我在项目中遇到过一个问题:如果边太多了怎么办? 比如全市场4000多只股票,两两之间都算相关性,那图就变成了一张「全连接图」,计算量爆炸。后来我学乖了——一定要做图稀疏化,只保留最显著的、有业务含义的边。

避坑指南: 我曾经在第一个 GNN 项目里,把所有股票之间的 Pearson 相关系数大于0.7的都连上了边。结果模型训练了三天三夜没收敛。后来发现,很多高相关只是「伪相关」,比如两只股票都跟大盘涨跌有关,但它们之间并没有直接业务联系。所以,边的定义一定要有业务逻辑支撑,不能纯靠统计。

1.3 股票关联分析的意义:为什么非要用 GNN?

你可能会问:传统的因子模型、时间序列模型不也能做股票预测吗?为什么非要学 GNN?

好问题。我直接说结论:传统模型擅长捕捉「时间维度的规律」,但 GNN 擅长捕捉「空间维度的规律」。

具体来说,股票关联分析能帮我们解决三个核心问题:

  1. 风险传染识别: 一只股票暴雷,会通过担保链、股权质押链传染给谁?GNN 可以模拟这种「涟漪效应」。
  2. 联动交易机会: 龙头股异动后,跟风股、补涨股、替代股分别会怎么走?GNN 可以学习这种「联动模式」。
  3. 行业轮动预测: 资金从科技板块流向消费板块时,中间会经过哪些「桥梁股」?GNN 可以捕捉这种「资金流拓扑」。

我记得有一次做回测,用传统 LSTM 模型预测某只化工股的收益率,夏普比率只有0.8。后来我在模型里加入了「上下游产业链图」的 GNN 特征,夏普直接干到了1.6。为什么?因为 LSTM 只看到了这只股票自己的历史价格,而 GNN 看到了它上游的原油价格波动、下游的房地产开工数据——这些信息,早就通过图结构传过来了。

注意: GNN 不是万能药。如果股票之间根本没有强关联(比如随机选的一篮子股票),强行用 GNN 反而会引入噪声。我建议你在使用前,先做一次图连通性分析,看看你的图里是不是真的有「信息流」。

1.4 课程整体框架与学习路径

好,接下来我给大家画一下这门课的地图。我们一共30章,分成四个模块。

课程框架:GNN 在股票关联分析中的应用 模块一:基础篇 第1-5章 模块二:图构建 第6-12章 模块三:模型篇 第13-22章 模块四:实战篇 第23-30章 GNN原理、PyG入门 股票关系图构建、特征工程 GCN/GAT/GraphSAGE等 回测框架、实盘部署、风险管理 推荐学习路径:基础 → 图构建 → 模型 → 实战(循序渐进,别跳步)

具体来说:

  • 模块一(第1-5章):基础篇。 包括 GNN 核心概念、PyTorch Geometric 环境搭建、最简单的图分类任务。目标是让你能跑通第一个 GNN 模型。
  • 模块二(第6-12章):图构建。 这是最「脏」最累的活。我们会讲如何从股票数据中提取行业图、供应链图、资金流图、情绪传导图。我还会分享一个我自己踩过的坑:「图构建不当,后面模型再牛也白搭」
  • 模块三(第13-22章):模型篇。 GCN、GAT、GraphSAGE、GIN…… 我们会逐个拆解,并用股票数据做对比实验。你会发现,不同的图结构,适合不同的模型
  • 模块四(第23-30章):实战篇。 从因子合成、回测框架搭建,到模拟实盘、风险管理。最后我们会做一个完整的「GNN 多因子选股系统」。

我的建议: 如果你时间有限,至少把模块一和模块二吃透。因为「图构建」才是 GNN 在金融领域落地的最大难点。模型反而是相对成熟的。

1.5 你需要准备什么?

嗯,这里我列一个清单,不复杂:

工具/知识 要求 备注
Python 基础 熟悉 numpy、pandas 如果不会,建议先补一下
PyTorch 基础 了解张量、自动求导 我会在第2章快速回顾
金融常识 知道股票、因子、回测 不需要很深,我会解释
硬件 有 GPU 最好,没有也行 小数据集 CPU 也能跑

一个小技巧: 我建议你准备一个 Jupyter Notebook,边看边跑代码。别光听我讲,动手才是王道。我当年学 GNN 时,就是靠一行一行敲代码,才真正理解了「消息传递」是怎么实现的。

1.6 写在开头的话

这门课不会让你成为「量化大神」,但我会尽力让你成为「能用 GNN 解决实际股票分析问题」的人。

课程里会有很多代码,很多案例,也有一些我踩过的坑。我希望你能带着问题来学:「我手里的股票数据,能不能构建成图?如果能,GNN 能帮我发现什么?」

好,第一章就到这里。记住:图是骨架,数据是血肉,模型是灵魂。 我们下一章见。


公众号:蓝海资料掘金营,微信deep3321