Skip to content

Transformer 技术文档

Transformer 是基于自注意力机制(Self-Attention)的深度学习架构,在金融时序预测、情感分析与跨资产因子建模等领域取得突破性进展,是前沿量化策略的重要组成部分。


模型简介

Transformer 由 Vaswani 等人于 2017 年提出,其核心是多头自注意力机制(Multi-Head Self-Attention)

$$\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$

通过注意力权重捕捉序列中任意位置间的依赖关系,无需像 LSTM 那样逐步传递隐状态,在长时序金融数据上优势显著。

原始论文:Attention Is All You Need — Vaswani et al., NeurIPS 2017


金融专用变体

模型特点官方链接
FinBERT金融文本情感分析,基于 BERT 在金融语料微调ProsusAI/finbert
Temporal Fusion Transformer (TFT)专为多步时序预测设计,支持静态/动态特征TFT 论文
Informer针对长序列预测优化,O(L log L) 复杂度Informer 论文
PatchTST将时序切片为 patch,高效捕捉局部模式PatchTST 论文

在 A 股量化策略中的应用

1. 金融新闻情感分析(FinBERT)

FinBERT 在大量金融文本(年报、研报、新闻)上预训练,可直接对 A 股公告、问询函、财经新闻进行情感分类(正面/中性/负面),输出情感分数作为 Alpha 因子:

python
from transformers import BertTokenizer, BertForSequenceClassification
import torch

tokenizer = BertTokenizer.from_pretrained('ProsusAI/finbert')
model = BertForSequenceClassification.from_pretrained('ProsusAI/finbert')

inputs  = tokenizer("公司营收超预期,净利润同比增长30%", return_tensors='pt')
outputs = model(**inputs)
probs   = torch.softmax(outputs.logits, dim=-1)  # [negative, neutral, positive]

2. 多步时序预测(TFT)

TFT(Temporal Fusion Transformer)支持多变量输入(K 线 OHLCV + 因子 + 宏观变量),同时处理静态编码特征(行业、板块)和动态时序特征,输出带分位数区间的预测,适合 A 股风险控制。

3. 跨股票注意力(Cross-Asset Attention)

使用 Transformer 编码器对同一时刻多只股票的特征做 Cross-Attention,捕捉行业内部联动效应(龙头股带动其他股票),构建图注意力选股模型。

4. Alpha 因子序列建模

将个股近 60 日的多因子截面数据作为序列输入 Transformer,利用自注意力发现因子在时序维度的强化/衰减规律,生成动态因子权重。


核心概念

概念说明
位置编码Transformer 无序列顺序感知,需加入正弦/余弦位置编码
多头注意力多组 Q/K/V 并行,捕捉不同子空间依赖
Dropoutp=0.1–0.3,防止金融数据过拟合
Layer Norm每层归一化,稳定金融数据量纲差异
d_model隐藏层维度,金融序列推荐 64–256

性能特点

优势:

  • 自注意力天然捕捉长距离价格/因子依赖,优于 LSTM/GRU
  • FinBERT 等预训练模型无需从头训练,迁移学习成本低
  • 支持并行训练,比 RNN 系列训练快

劣势:

  • 参数量大,A 股历史数据有限时过拟合风险高
  • 训练需要 GPU,推理延迟相比树模型高
  • 可解释性弱,因子重要性不如 XGBoost/LightGBM 直观

官方参考资料

⚡ Real-time Data · 📊 Smart Analysis · 🎯 Backtesting