01学完这一课,你能做到什么
学完这一课,你应该能:
- 说清楚截面收益预测的输入、标签和预测目标;
- 画出时间注意力、股票注意力、市场门控和聚合的关系;
- 解释为什么同一个指标的历史路径和股票之间的联动有信息;
- 检查特征、标签、时间窗口和股票顺序,避免把未来信息送进模型;
- 判断复杂模型相对简单基线是否真的带来了可重复的增量。
这类模型的重点不是“网络越大越好”,而是让模型使用正确的信息。你最终仍然要用结果、成本和风险规则检验它。
- 1股票特征量价与多窗口统计
- 2市场特征指数与环境描述
- 3时空交互历史时点与股票关系
- 4预测分数未来相对表现
- 5样本外检查排名、稳定性与成本
一句话记住先守住信息边界,再讨论模型复杂度。
02截面预测:同一时点给股票排序
截面收益预测的意思是:在同一个交易日,把股票放在一起比较,预测未来一段时间谁相对更强。
例如,模型在今天收盘后看到一组股票的历史信息,输出每只股票的预测分数,再按分数排序。这里的目标通常是未来 5 个交易日的相对表现。大盘普跌时,预测分数最高的股票可能只是跌得少,不代表它一定上涨。
相对排名和绝对收益是两件事。排名靠前只说明它在这组股票里相对更好,不能直接等同于正收益,更不能直接等同于扣除手续费后的策略收益。
股票池也有时间属性。沪深 300 和中证 800 的成员、规模和会变化,不能把今天看到的成员名单倒推成多年前也一样。研究报告要记录评价日、股票池、成员处理和缺失规则。
跌得少也可能排第一
同日股票之间比较,回答谁相对更强。
价格是否上涨
需要单独看未来收益和交易成本。
一句话记住排名靠前,不等于绝对收益为正。
03先拆清特征、标签和时间窗口
一个容易犯的错误,是把所有列都当成模型输入。假设每只股票有 158 个量价特征,市场部分有 63 个特征,另外还有 1 个未来收益标签:总数是 222 列,但模型可见的特征只有前两类,共 221 列。标签必须单独取出,放在训练损失和评估的一侧。
总列数 = 158 + 63 + 1 = 222
代入数字:158 + 63 + 1 = 222。这只是列数示意,不代表你的实现一定使用完全相同的字段。
回看窗口如果是 8 个交易日,就要保留 8 个真实交易日。周末不是交易日,缺失日期也不能简单压缩后冒充连续窗口。一个窗口只能使用决策时已经完成的数据;未来 5 日收益要等未来走完后才能成为标签。
标签的处理也要说清楚。截面 Z-score 是减去同日均值再除以同日标准差;百分位排名只表示次序;标准化不会把任意分布自动变成正态分布。没有完整未来 5 日数据的样本不能补成 0。
- 1158 个股票特征价格、成交量与窗口统计
- 263 个市场特征指数、活跃度与窗口统计
- 3221 个输入特征模型可以看到的内容
- 41 个未来标签只用于训练和评估
zᵢ,t = (rᵢ,t − meanₜ) ÷ stdₜ
同一天内比较股票的相对表现;要记录具体处理口径。
一句话记住标签是答案,不能混进输入。
04时间注意力:同一只股票看哪些历史时点
当天 都是 65 的两只股票,可能完全不同:一只从 30 一路升到 65,另一只从 90 回落到 65。当前快照一样,历史路径却不同。
时间注意力就是让模型在回看窗口内,学习哪些历史时点更值得参考。注意力里的 Q、K、V 可以用白话理解:Q 是当前要寻找的信息,K 是每个历史时点的匹配线索,V 是真正要汇总的内容。它们不是人写的问题,而是由模型参数变换得到的向量。
假设一个 8 日窗口里,第四天出现放量上涨,模型给这一天 45% 的权重,其余日期分摊剩余权重。这是帮助理解机制的假设例子,不是某次训练的解释结果。
多头注意力会并行计算多组投影,再组合结果。不要把每个头强行命名成“价格头”或“头”,除非有独立分析证据。注意力只能使用输入窗口里的信息,不能越过窗口直接读取更早的事件。
- 1当前表示 Q现在要找什么
- 2历史线索 K哪些时点相似
- 3匹配得到权重重要性是连续的
- 4汇总历史 V形成新的表示
一句话记住当前数值相同,历史路径仍可能不同。
05股票注意力:同一天看股票之间的关系
时间注意力沿着“同一只股票的历史”看,股票注意力则沿着“同一天的股票截面”看。
以 300 只股票为例,模型可以形成股票与股票之间的关联权重。白酒公司之间、电池公司之间,可能存在产业链或共同风险;但这些只是可检验的假设,不代表它们一定同涨同跌。市场环境改变后,关系的方向和强度也可能改变。
输入股票顺序必须和标签顺序严格对应。如果中间删除了停牌股票、改变了股票池,特征、预测和标签都要同步处理。用沪深 300 训练后直接预测非成分股或其他市场,没有准确率保证;相关系数高也不能代替目标股票池的独立测试。
更丰富的关系会带来更高的计算量、样本需求和维护成本。注意力权重可以帮助诊断模型关注什么,但高权重不等于因果关系,更不等于“这只股票一定领先”。
利用截面联动
让模型看到同日股票之间的共同变化。
更高的复杂度
需要更多样本、严格对齐和独立验证。
一句话记住相关关系是线索,不是因果证明。
06聚合:把多日表示变成一个预测分数
时间和股票模块处理后,每只股票仍可能有多个时间步的表示,但选股时通常需要一个预测分数。常见做法有三种:取最后一步、对多个时间步平均,或学习一组权重后加权聚合。
取最后一步不等于前面的日期完全没用。如果最后一步已经通过注意力融合了历史,它可能仍然包含过去信息。平均也不必然较差,应该用消融实验比较,而不是凭直觉决定。
聚合后的表示进入输出层,生成预测分数,再与未来收益标签计算损失,更新模型参数。网络结构只提供表达能力,随机初始化的网络不是可用的股票预测器。真正要看的是训练是否稳定、样本外是否有可重复的增量。
最后一步
实现容易,但要确认最后一步是否已融合历史。
平均池化
每个时间步贡献相近,适合作为清晰基线。
学习式加权
由模型决定贡献,需防止过拟合并做消融。
一句话记住复杂聚合要靠消融实验证明价值。
07市场门控:环境变化时调整因子权重
市场门控可以理解为一个“环境适配器”:它先读取市场特征,再生成对股票的调节权重,让同一组因子在不同市场环境下不必永远使用固定比例。
假设市场输入有 63 维,股票因子有 158 维。门控网络可以把 63 维市场描述映射到 158 个调节值,再按特征逐项调整。softmax 常用于生成相对权重,总和通常为 1;如果公式另有按特征数缩放,就必须把缩放写清,不能同时把“总和为 1”和“某个权重为 1.6”当作无条件成立。
温度参数控制权重分布的集中程度。一般来说,温度较低时权重更集中,较高时更均匀,但它不保证恰好选出若干个因子,也不保证低温一定更可靠。不同股票池的参数不能直接照搬,β 这样的符号还要和金融里的市场 区分。
门控权重通常是连续调节,不是只能开或关。模型仍然通过预测损失学习,不需要人为给每天的 158 个因子写一份“正确权重”。“牛市偏、风险偏好下降时偏低波”可以作为解释假设,但必须用数据检验。
- 163 维市场环境指数、活跃度、波动等
- 2门控映射生成因子调节权重
- 3调节 158 个因子动态而非固定比例
- 4进入时空模型再生成预测分数
连续调节
某些因子相对重要性提高或降低。
自动选出真理
高权重不等于因果,也不代表未来一定有效。
一句话记住门控调节权重,不是给因子盖章。
08从论文结构到可复查的研究工具
复杂模型的可解释性较弱,不等于一定无效;但越复杂,越要把数据、损失、样本外预测、漂移和失败案例记录完整。预测模块和模块可以分开:模型负责排序,ATR 风险预算负责限制每笔仓位。 也不能保证跳空时的损失上限。
研究时先建立简单 baseline:例如只用单日股票特征的线性模型或树模型。再逐步加入市场特征、滞后统计、时间注意力和股票关系。每增加一个模块,都记录 、Rank IC、稳定性、训练时间、内存、和,才能知道增量是否值得。
不同市场不能只复用模型参数。换市场时要重新检查数据、标签、股票池、执行规则和训练结果。若要研究长期价值,加入财务、行业和公告时点可得的信息,并重新定义预测期限;不能把五日预测分数直接当成长期价值判断。
建议用五个框验收:股票特征、市场特征、门控、时间与股票交互、预测输出;再把标签单独画在损失一侧。最后用两只股票、三个日期的小表手算窗口和顺序,确认没有未来数据泄漏。
- 1单日基线先验证数据和标签
- 2加入市场特征检查环境信息增量
- 3加入时间结构比较历史路径价值
- 4加入股票关系比较截面联动价值
- 5样本外与交易检查确认增量能复现
一句话记住每加一层复杂度,都要证明它值得。
4 道小题
全部答对,这一课就算真正读懂了。答错了会告诉你为什么。
这一课,浓缩成一张卡
学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。
先检查特征、标签、时间窗口和股票顺序,再比较时空注意力与市场门控的增量。
- 标签不能进输入
- 注意力不等于因果
- 复杂度要有样本外增量
记住这 5 句话
- 01截面预测是在同一时点给股票排序,排名靠前不等于绝对收益为正。
- 02股票特征、市场特征和未来标签必须分开;时间窗口只能包含决策时已知的信息。
- 03时间注意力看同一只股票的历史路径,股票注意力看同日股票之间的关系。
- 04市场门控用环境信息动态调节因子权重,权重不是因果证明,也不是收益保证。
- 05先做简单 baseline,再逐层增加复杂结构,用统一样本外口径和交易成本验证增量。
完成这一课
读完讲义、答对小题,这一课就算学完了。
- 读完讲义
- 通过随堂自测
实验数据AI+金融投资训练营教学样本。固定教学样本
固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。