`

Transformer for Times Series: an Application to the S&P500

创建于 更新于

摘要

本报告探讨了Transformer模型在金融时间序列预测中的应用,针对均值回复的Ornstein-Uhlenbeck合成过程和真实的S&P500数据构建数据集,设计了基于Transformer Encoder架构的分类模型。通过多头注意力机制和位置编码,模型可预测下一步的回报区间及其平方的波动区间,实现对分类桶概率的较为准确估计。在合成数据上模型表现优异,且对S&P500的平方回报(波动率指标)预测取得超越随机基线的结果,显示该方法在金融时间序列预测中的潜力,但对位置编码的有效性和模型参数仍需进一步调优[page::0][page::5][page::16][page::17].

速读内容

  • 研究对象与方法概述 [page::0][page::1]:

- 应用Transformer编码器部分对单维金融时间序列进行分类预测,分别对下一时刻收益和收益平方区间(波动率相关)进行预测。
- 输入序列为长度32,嵌入维度为16(序列长度的一半)且采用基于幂级数的数值嵌入函数。
- 使用7个桶划分目标变量分布(按分位数),模型输出各桶概率预测。
  • 数据集构建与仿真模型 [page::1][page::3]:

- 使用均值回复的Ornstein-Uhlenbeck过程模拟合成时间序列,隐含状态和观察值同时模拟,形成训练样本。
- 通过重叠序列采样的第二种方法构建训练和测试数据集。
- 引入位置编码矩阵P,使用标准正弦余弦生成方式,编码时间信息但后续实验中发现位置编码对金融数据无显著帮助。




  • Transformer模型架构细节及训练 [page::5][page::7][page::8][page::10]:

- 编码器由6层Transformer块组成,包括多头注意力(头数未明示,头维度64)、前馈卷积层、归一化层、残差连接。
- 使用交叉熵作为损失函数,Adam优化器和分类准确率指标。
- 定义批次大小64,训练集占80%,训练30至50个周期进行训练。


  • 模型性能及评价(合成数据) [page::13][page::14]:

- 合成数据上模型预测精度显著优于随机猜测,训练后准确率约30%,接近理论最优32%。
- 预测概率分布与真实概率高度一致,预测结果连续分布匹配良好。




  • S&P500实际数据表现 [page::14][page::15][page::16][page::17]:

- 用1927-2024年S&P500价格数据,计算每日对数收益率作为目标变量。
- 对下一日收益率预测表现不佳,概率分布退化为均匀分布,模型未能捕捉有效信息。





- 转向预测收益率平方(即波动率指标),训练50个周期获得优于随机基准的分类效果,准确率超14.28%(随机分布概率),胜过"naive"分类器(19.27%的准确率)。




  • 结论及展望 [page::16]:

- Transformer Encoder成功应用于合成金融时间序列预测,表现令人鼓舞。
- 位置编码在本应用中未表现出预期优势,可能因数值时间序列与NLP序列不同。
- S&P500平方回报(波动率)预测具有初步实际价值,收益回报预测尚需改进。
- 未来工作应聚焦于嵌入函数优化、模型结构微调及多维数据扩充,提升对真实市场数据的适应性。

深度阅读

金融研究报告详尽分析报告


报告标题与元数据

  • 标题: Transformer for Times Series: an Application to the S&P500

- 作者: Pierre Brugièr 和 Gabriel Turinic
  • 发行机构: CEREMADE Université Paris Dauphine - PSL

- 发布日期: 2024年3月6日
  • 研究主题: 本报告聚焦将Transformer模型——一种在自然语言处理(NLP)和图像生成领域取得广泛成功的模型,应用于金融时间序列预测,特别是对S&P500指数的应用。研究内容涵盖从合成数据(均值回复Ornstein-Uhlenbeck过程)到实证市场数据的模型设计和性能评价。


报告核心论点与目标


本研究提出基于Transformer编码器的时间序列预测模型,将传统的单维数值时间序列数据通过特定嵌入函数映射到高维空间,利用Transformer强大的特征提取与关系捕捉能力,对未来金融变量(尤其是S&P500指数日对数收益率及其平方的预测)进行概率分类预测。对合成数据,模型表现较优;对真实市场数据显示对波动率(即日对数收益率平方)的预测具备一定潜力,但直接预测日收益率的表现有限。作者主张该框架为金融时间序列预测提供一个有前景的起点,虽然需进一步架构及超参数调优以提升性能。[page::0][page::16]

---

逐章深度解读



1. 引言及研究背景

  • 介绍了Transformer模型自2017年诞生以来在机器学习尤其是大语言模型和生成模型上的广泛应用,尽管尚未完全成熟。

- 明确研究目标:探索Transformer编码器在金融时间序列领域的适用性。
  • 章节结构安排清晰,涵盖数据集构建、模型架构细节及实证结果分析。[page::0]


2. 方法论


2.1 时间序列嵌入与建模原理

  • 采用Transformer模型的Encoder部分进行概率分类预测。

- 时间序列为一维的数值序列$(y1, y2, \cdots, ym)$,通过映射函数$\phi$嵌入到$d$维空间,具体为$\phi(yi) = (yi, \frac{yi^2}{2}, \cdots, \frac{yi^d}{d!})$,显著区别于自然语言中离散Token的预建Embedding。
  • 该嵌入扩展不仅保留了一维数值信息,也通过多阶幂次扩展捕捉非线性特征,有助于Transformer去学习更复杂的动态关系。

- 该部分也提及了加入位置编码(positional encoding)作为序列信息补充,后文详细阐述。
  • 理论上,随着时间推移,条件概率分布应当稳定收敛,这在合成数据中由均值回复的Ornstein-Uhlenbeck过程保证。通过模拟的隐含状态$hi$为测试模型提供了基准。

- 对实证数据,使用S&P500的对数收益率和收益率平方进行预测。[page::1]

2.2 单条时间序列的数据集构建方案

  • 介绍了4类序列构造方法:

1. 非重叠序列组建
2. 重叠序列组建(本报告采用此法)
3. 多数据集分组ensemble方法
4. Bootstrap随机抽样多数据集ensemble
  • 选择第2种重叠序列,可增加训练样本量以增强模型拟合泛化能力。[page::1][page::2]


2.3 生成合成数据的Ornstein-Uhlenbeck过程模型

  • 这部分数学建模详述了均值回复过程的构造。

- 参数设置固定为$\mu=0$,$\theta=1$,$\sigma=1$,$dt=1$,且初始化$h0=0$。
  • $y{n+1} = h{n+1} - hn$定义了观察变量,该过程为平稳时间序列。

- 该过程的隐状态模拟为评价模型极限性能的“全知”判别器基准。
  • 展现了该隐状态和观测时间序列的路径(参见Figure 2)。[page::2][page::3]


2.4 位置编码机制

  • 采用Transformer经典的sinusoidal位置编码,详述了构造公式:

$$
wj = \frac{1}{10000^{2j/d}},
\quad
p
{t,2j} = \sin(t wj),
\quad
p
{t,2j+1} = \cos(t wj)
$$
  • 定义了性质集合,说明此编码:

- 是正交矩阵的集合
- 使得编码之间的内积只依赖于位移距离,即实现时间差的刻画,帮助模型利用序列的先后关系。
  • 该步骤是对NLP中Tokens顺序的有效编码机制的数值改造。[page::3][page::4]


2.5 Transformer分类模型模型架构与训练细节

  • 将预测问题转化为对下一个时刻$y{m+l+1}$所属某个区间(桶)的概率估计,区间个数k=7,按照训练数据分位数均分。

- 序列长度$l=32$,嵌入维度$d=16$。
  • Encoder以多头注意力结合前馈层堆叠六次为基础架构,末端接一组Dense层完成分类。

- 训练设置:训练集占80%,批量大小64,训练30个Epoch。
  • 详细代码示例和每个神经网络层功能流程清晰描述,比如多头注意力层(MultiHeadAttention)、Dropout、Add(残差连接)、Normalization(层归一化/LayrNormalization)、Conv1D前馈层、全局平均池化(GlobalAveragePooling1D)、多层感知机(Dense层)等。[page::5][page::6][page::7][page::8][page::9]


3 神经网络模型详细解析

  • MultiHead Attention详解:

- 每头分别生成Query、Key、Value矩阵,用Scaled Dot-Product Attention计算注意力分数矩阵$A$,然后计算输出。
- 多头输出拼接再线性变换还原维度。
  • 交叉熵损失函数被用作多分类对数似然损失,目标为使预测分布$Q$逼近实际分布$P$。

- 准确率分析表明,模型在模拟数据中从随机猜测(约14%)提升至约30%左右,接近“全知”判别器的最优31.8%,验证模型有效。
  • 对单点预测的损失分析显示训练过程中损失逐渐逼近理论极限,有较好收敛表现。[page::10][page::11][page::12]


3.4 模型参数设置

  • 选取序列长度32,嵌入维度16(序列长度一半)。

- 指出时间序列嵌入缺乏标准,提出的多项式嵌入映射是启发式尝试。
  • 使用Adam优化器,80%数据训练,20%测试。

- 模拟数据结果良好,提供表1与表2详述参数和结果。[page::13]

---

4 实证结果


4.1 模拟数据预测

  • 对24131点合成数据训练30轮,模型能较准确预测未来状态的桶概率,随着训练样本增多准确率提升。

- Figure 4和Figure 5可视化模型预测准确度,蓝色点为理想概率值,橙色点为模型预测值,预测趋势与隐状态高度相关且收敛较好。
  • 预测结果显著优于无模型随机猜测,验证方法有效。[page::14]


4.2 S&P500实证数据应用

  • 使用1927年12月30日至2024年2月1日的收盘价,共24131个观测点。

- 目标变量转换为日对数收益率$yi = \ln(pi) - \ln(p{i-1})$,及其平方,用于后续预测。[page::14][page::15]

4.3 日对数收益率预测效果欠佳

  • 训练基准模型10轮后,模型退化为对所有输入预测同一均匀概率分布,缺乏条件区分能力。

- 具体预测概率近似均匀分布(约14%),表明模型未学得任何有意义的条件依赖。
  • 困难可能源于金融时间序列噪声、市场效率或模型结构限制,研究者并未深入优化该目标,转而关注波动率预测。[page::15][page::16][Figure7]


4.4 日对数收益率平方(波动率)预测

  • 目标为预测未来收益率平方的桶概率,关联于波动率及Gamma对冲成本预测。

- 训练50轮后模型表现优于随机猜测(准确率超14.28%)和“naive”简单分类器(准确率19.27%),表现出一定经济意义的预测能力。
  • Figure 8显示各桶概率随序列演变有显著波动,可区分低波动和高波动期。

- Figure 9展示naive分类器的静态预测,缺乏动态调整能力。
  • 该部分结果说明Transformer编码器对波动率序列具有一定捕捉能力,尽管仍需进一步调优。

- 训练时未使用位置编码,表明标准Sinusoidal positional encoding未必适合金融时间序列,可能因其平稳/均衡性质不明显。
  • 论文对架构、嵌入方式以及附加变量留有进一步研究空间。[page::16][page::17]


---

图表深度解读



Figure 1 (第3页)

  • 展示了数据处理流程示意图:

1. 从模拟隐状态$h
i$序列与观测序列$yi$开始
2. 进行嵌入得到$e
i$,再构造训练和测试数据子集
3. 目标概率序列$yh$与输入嵌入序列对应。
  • 该流程强调隐藏与观测信息分配、序列分割与训练集构建的清晰体系结构。[page::3]


Figure 2 (第3页)

  • Ornstein-Uhlenbeck过程中隐状态$hi$(左图)与观测$yi$(右图)的波动轨迹,显示模拟序列的随机波动性与均值回复特征。

- 左图中隐状态围绕0上下波动、右图中观测具有更强跳跃特征,体现该过程的本质。
  • 该数据为后续模型训练的基准样本,是生成合成数据的基础。 [page::3]


Figure 3 (第7页)

  • 完整模型结构框图

- 主要包含:
- 多头注意力层(迭代6次),采用残差连接和层归一化
- 基于1D卷积的逐位置前馈块
- 池化降维和多层感知机分类层
  • 图中红色虚线反馈箭头说明了归一化层位置调整为先于多头注意力,提升训练效果。

- 图示清晰展示Transformer编码器适配时间序列分类特征的层级结构。[page::7]

Figure 4 & 5 (第14页)

  • 展示了模型在不同训练轮数下的预测结果与目标概率的对比(7个桶分别对应7个子图)。

- 橙色点为模型预测概率,蓝色点为理论概率,二者走势高度吻合。
  • Figure 5使用更多训练样本(241310条)和训练轮数(40)后,拟合更精准,概率预测更集中,更能准确映射隐变量,验证了训练规模对模型性能的关键作用。 [page::14]


Figure 6 (第15页)

  • 左图:S&P500指数对数价格长期走势图,呈现明显上升趋势与波动周期。

- 右图:对应的日对数收益率,明显显示大量短期波动,包括正负跳变。
  • 提示该序列数据的高噪声特性及非平稳性,预测难度较大。 [page::15]


Figure 7 (第16页)

  • 对S&P500日收益率的7个桶的预测概率图,显示模型对所有时刻预测概率几乎雷同且均匀分布,反映模型未捕获条件信息。 [page::16]


Figure 8 & 9 (第17页)

  • Figure 8:对日收益率平方(波动率)7个桶的预测概率动态变化,显示模型能捕捉到隐含动态结构,概率随时间波动。

- Figure 9:基准“naive”分类器判定,预测概率仅在对应桶为1,其余为0,表现为静态判定,缺乏动态感知。
  • 两图对比强化模型对波动率预测的优势及改进空间。 [page::17]


---

估值分析


本报告未涉及传统意义上的公司估值或财务指标估值分析,模型关注点为时序概率分类预测框架设计与性能表现,不涉及估值方法论(如DCF、P/E等)。[无]

---

风险因素评估

  • 报告未明确详细列举风险清单,但从内容推断包括:

- 模型泛化风险: 现实金融数据非平稳、高噪声特性及不可逆性,可能导致模型预测失效或过拟合。
- 位置编码适应性风险: 传统Transformer位置编码不一定适应金融时序特性,需定制或优化。
- 嵌入函数设计风险: 嵌入方案简单,非自学习,可能损失有效特征。
- 数据分布变化风险: 市场结构变动、异常事件可能导致历史模型失效。
  • 报告部分实验显示,简单更改参数(如θ)即影响模型学习,表明模型对参数敏感,需谨慎调优和风险管理。[page::16]


---

批判性视角与细节解读

  • 嵌入函数$\phi$采取多阶多项式形式较为简单直观,但缺乏对金融时间序列固有非线性及结构化特征的深入挖掘,可能降低模型效率。

- 报告发现位置编码未明显改善模型收敛,且某些情况下反而阻碍学习,提示该原生NLP机制直接套用或有局限。
  • 对日收益率真实预测无效表明模型现阶段对金融市场潜在的高频噪声或弱信号难以挖掘,或模型结构设计需调整。

- 模拟数据表现优异,但金融数据“现实性”与合成数据存在根本差异,验证结果存在先验和现实分布漂移风险。
  • 训练样本分割采用时间顺序顺划分,避免未来数据泄露,但可能忽略长期依赖或非平稳特征。

- 权衡隐含变量信息的“全知”分类基准,对实际无隐藏变量的市场环境应用仍需谨慎。
  • 结论力图客观,承认当前模型为“起点”,尚需多方调优,较谨慎。


---

结论性综合


本报告创新性地引入Transformer编码器结构用于一维金融时间序列的概率分类预测,采用了特殊的多阶嵌入方法及标准的位置编码机制。针对合成的均值回复过程数据,模型展现出较高预测准确率与概率拟合效果,验证了其理论可行性和学习能力。

实证应用于1927年至2024年间长达近一万个交易日的S&P500指数数据时,模型未能有效预测日对数收益率,但一定程度上捕获了日收益平方(波动率)的动态分布信息,优于随机和简单基准分类器,具备潜在的金融工程应用价值如风险管理和期权Gamma对冲成本预测。

图表明显支持上述结论:模拟数据的概率分布拟合精准,合成隐藏状态携带的信号被成功捕获;而真实市场收益率预测表现分化,波动率预测具备一定信息量。位置编码的严谨数学性质虽一应俱全,但在实证中未见显著助益,暗示需要定制方案。

报告系统详述了模型架构、层次流程、训练细节和性能度量方法(交叉熵、分类准确率等),搭建了较为完善的研究框架。对风险和改进空间保持开放态度,强调进一步的架构优化、嵌入函数设计、变量丰富化和训练策略调整将有助于提升模型。不过,现阶段成果已奠定Transformer金融时间序列预测的基础。

综合来看,作者给出谨慎乐观的评级:模型对于合成数据表现达到接近理论最优水平,对实证金融数据预测展示“鼓舞人心”的潜力,尤其是在波动率预测领域,未来细化模型和训练流程值得深入探索。[page::0][page::1][page::2][page::3][page::4][page::5][page::6][page::7][page::8][page::9][page::10][page::11][page::12][page::13][page::14][page::15][page::16][page::17]

---

图表示例(Markdown格式)



Figure 1
图1:模拟数据处理流程示意

Figure 2
图2:Ornstein-Uhlenbeck过程隐状态与观测轨迹

Figure 3
图3:Transformer编码器及分类模型结构示意

Figure 4
图4:模拟数据训练30轮后的预测概率

Figure 5
图5:扩大训练样本与轮数后概率预测更精确

Figure 6
图6:S&P500对数价格与日收益率

Figure 7
图7:日收益率预测区间概率恒定,模型未学习有效条件信息

Figure 8
图8:日收益率平方预测概率动态变化

Figure 9
图9:Naive分类器对收益率平方静态分类

---

总结


本报告成功展示了Transformer编码器在时间序列分类预测领域的应用框架,尤其是对金融市场波动率序列的捕捉与预测能力。尽管真实收益率的预测尚未突破随机基准,但该路径的研究具备重要意义,且在嵌入设计、位置编码、模型架构以及训练策略多方面存在深度优化空间。

图文结合使得复杂数学模型具有直观的表现力与应用说明,为学术界与实务界探索高维深度学习模型在金融时序分析的可行性和局限性提供了系统视角和启示。
---
【END】

报告