1. 课程导入

欢迎进入《TFT多变量金融预测与可解释性实战》。在正式动手写模型之前,我们需要先建立一张“全局地图”:这门课到底解决什么问题、TFT(Temporal Fusion Transformer)在金融场景中扮演什么角色、可解释性为什么不是附加功能,以及我们将沿着怎样的路线从数据走到可解释的预测结果。本章不涉及复杂公式推导,而是帮助你在脑中搭建一个清晰、可复用的知识骨架。

一、学习目标:从“能预测”到“能解释、能落地”

金融预测与一般时间序列预测最大的区别在于:市场存在低信噪比、非平稳、多因子耦合和强监管约束。一个只追求误差指标的“黑箱”模型,很难通过风控、投研或合规评审。因此,本课程设定四个递进目标:

  • 理解TFT结构:掌握变量选择网络、门控残差网络、静态协变量编码器、时序融合解码器与分位数输出之间的协作关系。
  • 构建多变量预测管线:能够把价格、成交量、宏观指标、情绪因子等异构输入组织成TFT可消费的数据集。
  • 掌握可解释性工具:读懂注意力权重、变量重要性、时序显著性,并能把解释结果翻译成业务语言。
  • 完成端到端实战:从数据清洗、特征工程、训练调参到回测评估与解释报告,形成可复现的工程闭环。
学习建议:本课程强调“先跑通、再优化、后解释”。不要在第一遍就追求最优超参数,先让一条完整链路产生可解释的输出,再逐步迭代。

二、核心概念:TFT为什么适合金融多变量预测

TFT最初由Google在2019年提出,用于多步时间序列预测。它的核心价值在于同时处理三类输入:静态协变量(如行业、板块)、已知未来输入(如日历、财报日期)和仅历史可观测输入(如历史收益率、成交量)。金融预测恰好需要这种“混合信息”能力。

与LSTM、Transformer或XGBoost相比,TFT的差异化能力体现在三点:第一,变量选择网络为每个输入特征学习权重,自动抑制噪声因子;第二,门控机制让模型在不同市场状态下动态调节信息流;第三,分位数输出直接给出预测区间,而不是单点估计。这三点共同支撑了金融场景对鲁棒性和可解释性的要求。

TFT多变量金融预测与可解释性整体框架 数据层 价格 / 成交量 宏观 / 利率指标 情绪 / 新闻因子 静态协变量 已知未来输入 TFT模型层 变量选择网络 门控残差网络 静态协变量编码器 时序融合解码器 分位数输出头 可解释性层 注意力权重 变量重要性 输出与决策层 分位数预测区间 回测与解释报告 实战路线 ① 数据准备 ② 特征工程 ③ 模型训练 ④ 回测评估 ⑤ 可解释分析 ⑥ 报告输出

三、方法流程:一条可复现的实战主线

为了让课程内容可落地,我们把整个项目拆成六个阶段。每个阶段都有明确的输入、输出和验收标准,避免“训练完却不知道结果是否可信”。

阶段 核心任务 关键产出 常见风险
数据准备 对齐时间索引、处理缺失与停牌 统一频率的多变量面板 未来信息泄露
特征工程 构造滞后、滚动、日历与静态特征 训练/验证/测试数据集 窗口重叠导致过拟合
模型训练 配置TFT超参数与分位数损失 可复现的训练检查点 学习率与批量设置不当
回测评估 滚动预测、误差与区间覆盖率 样本外评估指标 只看MSE忽略方向性
可解释分析 提取注意力与变量重要性 因子贡献排序与热力图 把相关性当因果
报告输出 整合图表与业务结论 可评审的解释报告 解释与预测脱节

在工程实现上,我们推荐使用PyTorch Forecasting或直接基于PyTorch Lightning构建训练循环。下面是一个最小化的配置片段,用于说明TFT的关键参数如何组织:

tft_config = {
    "hidden_size": 64,
    "lstm_layers": 2,
    "dropout": 0.1,
    "attention_head_size": 4,
    "max_encoder_length": 60,
    "max_prediction_length": 5,
    "quantiles": [0.1, 0.5, 0.9],
    "learning_rate": 1e-3,
    "batch_size": 128,
    "max_epochs": 50
}
注意:max_encoder_length与max_prediction_length必须与你的数据频率和业务周期匹配。日频数据常用60/5,周频数据可调整为26/4,月频数据则建议12/3。

四、案例场景:用TFT预测多因子股票收益

假设我们要预测某只股票未来5个交易日的收益率区间。输入包括:过去60天的开高低收、成交量、换手率,同期的大盘指数收益率、行业指数收益率、利率与汇率,以及静态的行业分类和市值分组。模型输出0.1、0.5、0.9三个分位数。

训练完成后,我们不仅得到预测区间,还能回答三个业务问题:第一,过去60天中哪些交易日对当前预测影响最大;第二,在全部输入因子中,哪些因子的变量选择权重最高;第三,当市场波动率上升时,模型是否自动降低了对情绪因子的依赖。这些答案正是可解释性层要交付的内容。

五、误区与复盘:初学者最容易踩的五个坑

  1. 把TFT当成万能黑箱:不配置静态协变量和已知未来输入,模型退化为普通序列模型,解释性也大打折扣。
  2. 忽略数据泄露:在滚动窗口中使用未来信息构造标签,导致回测虚高。
  3. 只看点预测:金融决策更关心区间和尾部风险,分位数输出必须纳入评估。
  4. 过度解读注意力:注意力权重反映模型内部信息流,不等同于因果效应。
  5. 解释与预测分离:解释结果没有回写到特征迭代或风控规则中,导致课程结束后无法复用。
复盘原则:每完成一个阶段,都要问自己“这个输出能否被第三方复现”。如果答案是否定的,优先补齐数据版本、随机种子和配置文件,而不是继续调参。

本章建立了课程的整体认知框架:以多变量金融数据为输入,以TFT为核心模型,以可解释性为交付标准,以六阶段实战路线为推进节奏。接下来,你将逐步进入数据、模型与解释的具体环节,把这张地图变成可运行的代码与可评审的结论。