3. TFT模型概述

在金融时间序列预测中,我们面对的从来不是一条干净、平稳、单变量的曲线。真实市场里同时存在价格、成交量、宏观指标、情绪因子、日历事件等多源信息,它们的时间尺度不同、缺失模式不同、对未来的影响路径也不同。传统ARIMA、GARCH擅长刻画单序列的线性自相关,但在多变量、长跨度、强噪声的金融场景中往往力不从心;LSTM、GRU虽然能建模非线性,却难以显式区分“哪些变量重要”“哪些历史时刻关键”。Temporal Fusion Transformer(TFT)正是在这一矛盾下被提出的。

一、提出背景:从“能预测”到“可解释地预测”

TFT由Google Research于2019—2021年间提出,最初面向多水平、多时间尺度的概率预测任务。它的出现并非单纯追求精度,而是回应了工业界三个现实诉求:

  • 多源异构输入:金融数据既有静态属性(行业、市值分层),也有已知未来输入(财报日历、节假日),还有仅历史可观测的时变变量(收益率、换手率)。
  • 长短期依赖并存:短期动量与长期均值回归往往同时起作用,单一循环结构难以兼顾。
  • 决策需要归因:风控与投研不能接受“黑箱给出一个数”,必须知道是哪些变量、哪段历史在驱动预测。

Transformer的自注意力机制天然适合捕捉任意距离的依赖,但原始Transformer计算量大、缺乏变量选择与可解释输出。TFT在此基础上做了针对性改造,把“预测精度”和“归因能力”放进同一个架构。

二、核心思想:以“变量选择+门控+注意力”组织多源时序

TFT的核心可以概括为一句话:用可学习的变量选择网络筛掉噪声变量,用门控残差网络控制信息流,用可解释的多头注意力定位关键时间步,再以分位数输出刻画不确定性。

其关键组件包括:

  • 变量选择网络(VSN):对每个输入变量学习权重,抑制无关因子,输出稀疏化的变量重要性。
  • 门控残差网络(GRN):在非线性变换中加入门控与残差,缓解梯度问题并允许网络跳过无用层。
  • 静态协变量编码器:把不随时间变化的属性注入到各层,实现“按主体定制”的预测。
  • 时序融合解码器:结合局部循环层与可解释多头注意力,同时捕捉短期与长期模式。
  • 分位数损失输出:直接给出P10、P50、P90等分位预测,而非单点估计。
TFT不是“更强的LSTM”,而是一个把变量选择、静态上下文、长短期依赖和概率输出统一到同一计算图中的融合架构。理解这一点,才能正确使用它。
TFT 多源时序信息流 静态协变量 行业/市值分层 已知未来输入 日历/财报日 历史观测变量 收益率/换手率 变量选择网络 VSN 稀疏权重 抑制噪声因子 门控残差网络 GRN + 静态上下文 控制信息流 时序融合解码器 局部循环层 可解释多头注意力 长短期依赖融合 分位数输出 P10/P50/P90

三、方法流程:一次前向传播发生了什么

把TFT用于金融预测时,典型流程如下:

  1. 数据分层:把特征划分为静态、已知未来、历史观测三类,并统一到相同时间索引。
  2. 嵌入与选择:连续变量做标准化与投影,类别变量做嵌入,VSN为每个变量打分。
  3. 编码融合:静态编码注入GRN,历史与未来输入分别经过局部处理。
  4. 注意力解码:解码器在预测步上对历史关键时间步分配注意力权重。
  5. 分位数输出:按目标分位点输出预测区间,供风控与仓位管理使用。
# 以PyTorch Forecasting为例的关键配置
training:
  max_epochs: 50
  batch_size: 128
model:
  hidden_size: 64
  lstm_layers: 2
  attention_head_size: 4
  dropout: 0.1
  hidden_continuous_size: 32
  output_size: 7          # 预测步长
  loss: QuantileLoss      # 分位数损失
  quantiles: [0.1, 0.5, 0.9]

四、适用场景与对比优势

TFT特别适合以下金融任务:多因子收益预测、波动率区间预测、组合风险敞口预测、信用违约概率的多期预测,以及需要向投研或风控解释“为什么这样预测”的场景。

维度 ARIMA/GARCH LSTM/GRU TFT
多变量建模 弱,需人工扩展 可,但变量权重不透明 强,VSN显式选择变量
长短期依赖 仅短期线性 受梯度与序列长度限制 注意力+循环兼顾
静态属性注入 不支持 需手工拼接 原生支持
概率输出 部分支持 需额外改造 分位数损失直接输出
可解释性 系数可读 弱 变量重要性与注意力权重可读
在因子数量多、噪声大、且需要向业务方解释归因的金融场景中,TFT的“变量选择+注意力”组合往往比单纯堆叠LSTM更有实用价值。

五、常见误区与复盘

  • 误区一:把TFT当万能模型。数据量过小或特征高度共线时,VSN可能学到不稳定权重,此时简单模型反而更稳。
  • 误区二:忽略数据分层。把未来才可知的信息误放进历史观测变量,会造成严重信息泄露。
  • 误区三:只看精度不看归因。TFT的价值一半在预测,一半在解释;不做注意力与变量权重复盘,等于浪费了架构优势。
  • 复盘建议:先跑通基线(如线性+GBDT),再上TFT;对比分位数覆盖率、变量重要性排序与业务逻辑是否一致。
金融时序非平稳且 regime 切换频繁,TFT的注意力权重会随训练窗口变化。上线前必须做滚动回测与跨市场验证,不能仅凭单段样本的漂亮指标下结论。

总体来看,TFT把多源输入、变量选择、长短期依赖与概率预测整合进一个可解释框架,为金融多变量预测提供了一条兼顾精度与归因的工程路径。理解其提出背景与核心思想,是后续动手实现与调参的前提。