Transformer Based Time-Series Forecasting For Stock
创建于 更新于
摘要
本报告提出了一种基于Transformer结构的股票时间序列多变量预测模型“Stockformer”,通过引入ProbSparse注意力机制和自注意力蒸馏技术,有效解决长序列预测中的计算复杂度问题。利用财经数据中股票间的因果关系,结合1D-CNN嵌入和多头注意力结构,实现对油气行业股票价格的小时级别预测。实验结果显示,Stockformer相较传统LSTM具有更佳的收益表现和模型收敛性,表明该方法在捕捉股票走势及多时间序列依赖性方面具备潜力,为股票交易策略提供了新思路 [page::0][page::2][page::3][page::5][page::6]
速读内容
- 本文提出了针对股票价格预测的Transformer变体"Stockformer",将问题定义为多变量单时间序列预测,利用相关股票的联动性质提升预测准确度[page::0][page::2]。
- 针对传统RNN模型难以捕捉长距离依赖且难以并行的问题,引入Transformer的自注意力机制,使用ProbSparse注意力降低空间和时间复杂度至\(O(L \log L)\),并结合自注意力蒸馏缩减内存消耗[page::1][page::3][page::4]。
- 设计了两种Token嵌入方案:
1. 线性全连接,但可能丢失时间信息。
2. 1D卷积神经网络(CNN),通过滑动卷积核捕获时间维度的特征,保持序列长度且使用循环填充减少边界效应。

[page::3]
- 实验利用油气行业四大企业(ExxonMobil, Chevron, W&T Offshore, EOG)的股价数据及Granger因果检验,发现W&T Offshore股价受其他股票价格影响显著,选择其作为预测目标[page::2]。

- 训练损失函数设计考虑股票涨跌方向和信心度,采用Stock Direction和Stock Tanh算法,后者通过tanh函数动态调整建仓比例,计算方式依据百分比或对数收益率[page::4]。
- 学习率调度器实验显示“Reduce Learning Rate On Plateau”策略能有效缓解训练初期验证损失攀升的现象,提升模型收敛效果[page::5]。
- 超参数调优表明,增加嵌入层大小和注意力头数能够提升预测利润率,且两者应保持匹配以充分提取和利用模式信息。
| 嵌入尺寸(Embedding Size) | 注意力头数(
Head) | 利润率(Pct Profit) |
|---------------------------|--------------------|--------------------|
| 128 | 128 | 1.2414 |
| 256 | 256 | 1.4788 |
| 512 | 512 | 1.7550 |
[page::5]
- Stockformer在收益累积上明显优于传统LSTM模型,证实其较强的市场预测能力。


[page::6]
- 未来改进方向包括引入更多行业证券、动态训练机制和更先进的时间编码方案(如Time2Vec扩展)以适应市场变化和提升预测能力[page::6]。
深度阅读
Transformer Based Time-Series Forecasting For Stock — 详尽专业分析报告
---
一、元数据与概览
- 报告标题:Transformer Based Time-Series Forecasting For Stock
- 作者:Shuozhe Li、Zachery B Schulwolf、Risto Miikkulainen,均隶属美国德克萨斯大学奥斯汀分校(UT Austin)
- 发布日期:未明示具体日期,内容包含2023年及较新文献,推断为近期研究成果
- 主题:基于Transformer架构的多变量时间序列预测模型“Stockformer”,用于股票价格(尤其为金融时间序列)预测,关注提高预测精度与模型效率
- 核心论点:传统股票价格被视为高度不确定且类似混沌系统,基于有效市场假说(EMH)股票价格不应被历史价格充分预测,但市场存在一定程度的无效率,可利用深度学习尤其是Transformer模型中的注意力机制,构建多变量时间序列模型以捕捉股票间和时间维度上的复杂依赖,从而提高预测准确度和盈利能力。
作者通过提出改良Transformer模型“Stockformer”,采用多变量时间序列分析方式,利用行业内部股票之间的因果关系进行建模,继而实现在实盘交易辅助中的应用。报告涵盖模型结构设计、数据处理、训练策略、性能评测等关键方面。[page::0,1,2]
---
二、逐节深度解读
1. 摘要与引言(Abstract & Introduction)
- 关键论点:
- 股票价格预测被公认为高度复杂和难以预测。
- 传统金融理论(有效市场假说)指出利用历史价格预测未来价格是不可行的。
- 但实证研究和市场非完全有效现象提示可以通过技术指标与股票间关系实现一定程度预测。
- 本工作提出“Stockformer”,基于Transformer架构,针对股票价格多变量时间序列建模,以捕捉不同股票间的相关性和长时依赖关系。
- 逻辑与假设:
- 认为市场现存无效率且股票间存在相互影响与依赖。
- 通过多变量时间序列的注意力机制,模型能发现隐藏因果关系并提升预测效果。
- 数据点和证明材料:
- 引用文献表明技术分析和深度学习在金融时间序列预测上的有效性。
- 强调传统模型(如多层感知机及循环神经网络)在时间序列特征捕捉上的不足。[page::0]
2. 相关工作(Related Work)
- 关键点:
- 传统分析方法包括技术分析(基于历史价格和成交量模式)及基本面分析(宏观经济和公司财报数据)。
- 统计性质复杂的金融数据更适合用神经网络处理,尤其是卷积神经网络(CNN)与循环神经网络(RNN)。
- CNN用于自动提取时间序列特征,RNN(包括LSTM、GRU)用于处理序列中的时间依赖。
- RNN存在难以捕捉远距离依赖、难以并行计算等缺陷。
- Transformer架构引入注意力机制,能够高效捕捉长距离依赖,且易于并行执行,显著改善了RNN的局限。
- 推理基础:
- 图示对比(图1)显示RNN因序列传递机制导致长距离依赖学习路径长,难度高;自注意力机制缩短了路径复杂度。
- Transformer的并行化特性降低了计算瓶颈。
- 结论:采用Transformer架构更适合金融时间序列预测任务,从而设计“Stockformer”改进结构以适应股票预测问题。[page::0,1]
3. 问题定义(Problem Formulation)
- 关键理念:
- 基于人类交易者需要反应时间,设计模型用1小时为时间窗口做预测。
- 模型输入为多个高度相关股票及相关金融产品的历史价格序列(多变量时间序列);
- 输出为目标股票1小时后的价格预测,定义为多变量到单变量时间序列预测问题。
- 图示(图2)描述输入为多股票价格序列,输出为目标股票未来价格。
- 假设与逻辑:
- 利用行业内股票间价格变动的因果关系来改进预测能力。
- 数据处理:
- 强调利用多变量数据是区别于传统单变量AR模型的关键。 [page::1]
4. 数据获取与预处理(Approach — Data Collection & Data Preprocessing)
- 数据收集难点:
- 需要高频率、长时间跨度的历史数据(至少小时级别)以满足训练需求。
- 市场公开数据源对时序长度和频率有限制。
- 最后选择polygon.io提供10年小时级数据,兼具数据范围和质量适合模型训练。
- 预处理:
- 对数据进行清洗,统一量级,转换为“小时开盘价到收盘价”的百分比变化。
- 进一步利用自然对数变换(Log Percent Change)平滑波动,提高模型鲁棒性。
- 数据量化:
\[
LogPercentChange = \ln\bigg(\frac{ClosingPrice}{OpeningPrice} + 1 \bigg)
\]
- 此步骤关键性:减轻不同股票价格量级差异对模型训练的影响,帮助捕捉更本质的价格变动信息。[page::2]
5. 行业内股票因果关系(Financial Securities With Causality)
- 论点:
- 通过行业股票历史价格趋势可观察相似性(如图3所示美国4大油气公司近5年价格走势)。
- 应用格兰杰因果检验(Granger Causality Test)分析不同股票间的领先与滞后影响关系,结果见对应的p值表。
- 选择W&T Offshore为目标股票,因为其他股票对其价格预测包含较大信息量(p值显著低于0.05,表明存在统计上的因果预测能力)。
- 意义:
- 多股票的价格信息能够通过时间序列模型被有效利用,提高预测的准确率与收益潜力。
- 变成多变量时间序列预测任务核心基础。[page::2]
6. 模型架构设计(Architecture)
- Token Embedding设计:
1. 全连接(FC)设计:简单的线性层处理多时间步数据,但会丢失时间序列时间相关信息。
2. 1D CNN设计:每个金融证券作为输入通道,使用核大小为3、步长为1的卷积层滑动捕捉时间上的依赖,边界采用循环填充避免边缘效应,保持序列长度不变,同时提取每个证券的时间动态特征。
- Encoder设计:
1. 全关注力机制(Full Attention):计算复杂度为 \(O(L^2)\),层数堆叠后导致内存瓶颈,不适合大序列和在线预测。
2. ProbSparse Attention & Self-attention Distilling(借鉴Informer模型):通过选择注意力权重最高的部分key,降低时间复杂度至 \(O(L \log L)\),并在每层Encoder末尾使用最大池化降采样,进一步减少内存使用。
- 模型层堆叠(图5)展示多层Encoder结构,输入经过Positional Encoding和Embedding后进入Encoder。
- 设计的关键在于平衡计算资源与捕捉长距离时间依赖的能力。[page::3,4]
7. 训练设计(Training Design)
- 损失函数设计:
- 传统MSE对极端值敏感,且股价波动小时级别较小,不适合衡量。
- MAE对大误差稳定但不可微,训练难度较大。
- 设计基于股票涨跌方向的两种指标:
1. Stock Direction:预测价格变化方向,设置购买/卖出阈值,强调交易信号方向性。
2. Stock Tanh:利用tanh函数调节交易信心强度,实现资金仓位动态分配。
- 策略回报率计算:
针对百分比变化:
\[
ROI = \prodt \big(1 + \text{sign(output}t) \times \text{PercentChange}t \big) - 1
\]
针对对数百分比变化:
\[
ROI = \exp\Big(\sumt \text{sign(output}t) \times \text{LogPercentChange}t \Big) - 1
\]
- 学习率调度策略:
1. 手工设计调度
2. 乘法调度(MultiplicativeLR)
3. 基于验证集损失的“当损失不下降时降低学习率(ReduceLROnPlateau)”,有效缓解训练不稳定,避免过拟合。
- 该部分核心在于通过合适的损失设计与动态学习率调整避免训练陷入局部最优,提高模型泛化能力。[page::4]
8. 评估指标(Evaluation Metrics)
- 根据损失函数种类不同,分别采用MSE/MAE总体误差或通过交易策略计算收益率(ROI)指标,重点考虑长期累计收益表现。
- 评估的目的是验证模型是否能辅助实盘交易决策,超越盲目持币或无操作状态。 [page::4]
9. 实验结果与分析(Experiment)
- 训练现象:
- Transformer模型训练难度大,对学习率非常敏感。
- 过高学习率会使梯度消失或爆炸,训练停滞(如图6梯度L2范数滑落至0)。
- 过低学习率则陷入局部最优,收敛缓慢(图7中低学习率曲线)。
- “ReduceLROnPlateau”调度表现最优,能应对验证损失不变的平坦阶段,缓解梯度消失(图8绿色曲线)。
- 嵌入大小与多头注意力头数的匹配:
| (Embedding Size, #Attention Heads) | (128,128) | (256,256) | (512,512) |
| ---------------------------------- | --------- | --------- | --------- |
| 百分比收益率(Tanh算法) | 1.2414% | 1.4788% | 1.7550% |
- 越大的embedding和注意力头数提升了模型捕捉模式的能力和收益率,但计算资源需求也更大。
- 实验表明两者应同步增长以保持信息表达的匹配(图8显示512维度收敛较慢但获得最好利润)。
- 注意力机制对比:
- ProbSparse Attention相较Full Attention减少内存和计算开销,性能收益相当(图9显示累计收益曲线优于无策略baseline)。
- 与LSTM比较:
- Stockformer在累计收益率上显著优于LSTM模型(图9 vs 图10)。
- 表明Transformer结构在捕捉长距离依赖和多变量信息方面优于传统循环网络。
- 实验总结:
- Stockformer在利润表现、计算效率上优于传统模型。
- 学习率调度与结构参数调整对模型训练稳定性至关重要。
[page::5,6]
10. 结论与未来方向(Conclusion & Future Direction)
- 当前状态:
- 模型处于早期阶段,尚未实现稳定盈利。
- 已发现Stockformer捕获多股票因果关系的潜力。
- 未来改进建议:
1. 扩充股票池:纳入更多能源行业相关指数与油价指标,丰富输入变量维度,助力捕捉更复杂依赖。
2. 动态训练与回测:按时间滚动更新训练数据,适应市场新变化,避免过度过时导致模型失效。
3. 时序编码改进:采纳如Time2Vec及建议创新TimeFrame2Vec等时序编码技术,增强模型对时间模式的建模能力。
- 前瞻:结合更多替代指标、社交情绪等非价格信息将进一步提升模型效果,朝着实盘交易辅助方向持续演进。[page::6]
---
三、图表深度解读
图1:RNN 与自注意力机制依赖路径对比 (page 1)
- 显示RNN需逐步沿序列传递信息,路径长度随输入序列长度线性增加 \(O(n)\)。
- 自注意力机制能同时访问所有位置,路径长度常数时间 \(O(1)\),显著降低长距离依赖学习难度。
- 支持文章对Transformer模型优势的主张,为替代RNN提供理论基础。

图2:多变量时间序列预测框架 (page 1)
- 展示模型输入多只股票在时间段 \(t-n\) 到 \(t-1\) 的价格序列,输出目标股票 \(p{t}\) 价格预测。
- 明确将任务定义为多变量到单变量时间序列建模。

图3:油气行业四大公司5年股价走势对比 (page 2)
- 展示出现趋势与波动上的明显趋同,直观说明同一行业内股票间存在相关性。
- 右侧附格兰杰因果检验表,数字为p值,小于0.05表明被预测变量可被预测说明存在因果预测能力。

| | XOM | CVX | COP | BP | PBR | WTI | EOG |
|----|-------|-------|-------|-------|-------|-------|-------|
|XOMY|1.0|0.3204|0.1484|0.5337|0.9651|0.5131|0.4394|
|CVXY|0.5223|1.0|0.0655|0.6965|0.2068|0.755|0.2261|
|COPY|0.1156|0.3724|1.0|0.4059|0.9479|0.109|0.126|
|BPY|0.0004|0.3159|0.0027|1.0|0.4099|0.5154|0.0044|
|PBRY|0.1228|0.6649|0.4954|0.4999|1.0|0.0096|0.1365|
|WTIY|0.0097|0.5562|0.094|0.4936|0.042|1.0|0.0211|
|EOGY|0.525|0.1245|0.3163|0.2442|0.586|0.0819|1.0|
图4:1D CNN嵌入机制 (page 3)
- 展示输入多股票时间序列(左),经过多通道1D卷积核滑动提取局部时间模式,输出增加通道数(右),每个输出通道表示一类时间特征模式。
- 该设计保证时间序列长度不变但丰富了时间动态信息表达。

图5:Transformer Encoder结构(堆叠多层)(page 3)
- 展示多层Encoder堆叠结构,每层包含多头自注意力模块和前馈神经网络,搭配归一化、残差连接。
- 强调该结构为模型核心,负责捕捉多资产时间序列间复杂依赖。

图6:学习率过高导致梯度消失示意(page 5)
- 三图分别为验证损失、训练损失和梯度L2范数随训练epochs变化。
- 梯度L2值迅速趋近0,表示网络参数不再更新,训练陷入死锁。

图7:不同学习率训练效果对比(page 5)
- 绿色线代表学习率过低,训练损失下降缓慢且验证损失持续升高,陷入局部最优。
- 紫色线学习率适中,训练损失快速下降,验证损失初期上升后逐步下降并趋于平稳,符合过拟合前期状态。

图8:不同嵌入维度与注意力头数训练曲线比较(page 5)
- 不同颜色代表维度(512紫色,256黑色,128橙色)。
- 256维度曲线下降最快,512维度初期下降慢但后期表现最好。
- 表明模型大小与注意力数量要匹配以实现最佳训练效果。

图9:Stockformer累计盈利率曲线(page 6)
- 纵轴为累计%收益率,横轴为时间。
- 红线显著上升趋势,展示了该模型长期盈利潜力。

图10:LSTM模型累计盈利率曲线(page 6)
- 对比Stockformer,整体盈利水平较低甚至部分时间段回撤严重。
- 突显Transformer模型优势。

---
四、估值分析
报告主要面向模型构建与算法性能展示,无涉及传统意义上的企业价值或股票估值分析。因此本节不适用。
---
五、风险因素评估
虽然报告未专门章节明示风险,但文中隐含如下潜在风险因素:
- 市场有效性风险:如有效市场假说正确,模型对历史数据的依赖终将失效,预测无意义。
- 数据质量风险:公开数据存在延迟、缺失或非调整价格,影响模型准确性。
- 模型训练风险:Transformer训练对超参数敏感,可能陷入局部最优或过拟合。
- 过度拟合风险:短期内搜索过拟合模式,无法推广至未来市场。
- 计算资源限制:大模型训练需大量计算支持,实际应用成本高。
报告通过学习率调度、结构优化等措施尝试缓解模型训练风险,未来建议通过动态训练与回测降低模型滞后风险。[page::5,6]
---
六、批判性视角与细微差别
- 本报告视角偏重机器学习技术发展,对传统金融理论(尤其EMH)提出了挑战,但未深入阐释金融市场多变性和突发非系统事件对模型的潜在影响。
- 模型对数据的完整性和质量较为依赖,若投入使用,实际交易成本、滑点、手续费等市场因素尚未考虑,可能导致理论收益无法落地。
- 实验部分受限于计算资源,对超参数空间探索有限,可能未达到理论最佳性能。
- 模型训练过程中的调参经验依赖较大,缺少系统化调优方案。
- 尚未结合非结构化信息(新闻、社交情绪等),未来可提升。
- 未来动态训练方案虽已提出,但实现难度大,且多时序预测模型性能受时间变化极大影响。
整体上,报告技术扎实,提出的Transformer改良方案具有较大潜力,但仍处于模型阶段,离实盘应用还有一定差距。
---
七、结论性综合
本报告提出并实现了基于Transformer的多变量时间序列预测模型“Stockformer”,针对股票价格预测问题采用注意力机制解决传统RNN长距离依赖学习和并行效率低的问题,结合1D CNN嵌入设计准确捕捉股票行业内部的时序因果关系。数据选择和预处理合理,实验表明:
- Stockformer相较传统LSTM表现出更强的长期收益能力和更好的训练稳定性。
- ProbSparse Attention技术有效降低了模型的计算与内存需求,实现了时间序列建模效率的提升。
- 适当的损失函数、基于方向预测和动态投资比例选择的策略,和合理的学习率调度共同促进了模型训练和收益提升。
- 不同模型参数(embedding size和attention heads)成正比调整,有助于模型性能提升。
作者对未来工作有清晰规划,拟引入更多股票品种、动态模型更新策略和创新时间编码方法以进一步完善模型的适应性和准确度。
最终,该研究在金融时间序列预测领域展示Transformer的巨大潜力,为智能化股票价格预测开辟了新方向。
---
总结
此报告详尽剖析了“Stockformer”模型在股票价格多变量时间序列预测中的设计、实现和实验验证,结合图表数据直观展现了模型结构优势和实际预期收益,展示Transformer技术在金融机器学习中的前沿应用。通过多角度分析,本报告为理解和复现该研究提供了全面、系统的技术解析与洞见。
[page::0,1,2,3,4,5,6]