DFT:基于趋势和波动的股票价格预测模型[附开源代码]

论文 | DFT: A Dual-branch Framework of Fluctuation and Trend for Stock Price Prediction

代码 | https://github.com/cq-dong/DFT_25

一 本文概要

本文研究的核心问题是如何更有效地预测股票价格的未来变动趋势。传统方法在应对股票价格高波动性和复杂的市场关联时往往存在困难:部分方法忽视了短期波动(fluctuation)对高波动收益预测的关键作用,另一些方法无法充分捕捉跨时间的动态特征与因果关联,从而削弱了模型的时间建模能力。为此本文提出了一个双分支框架(DFT):一方面从趋势(trend)角度入手,获取长期平稳特征;另一方面强调短期波动信息,以捕捉个股本身价格与交易量变化中潜在的盈利信号。通过在该框架中加入时间相关性建模和复杂因果关系挖掘,DFT能够更好地利用趋势与波动这两类信息的互补性。实验结果显示,DFT在多项指标上取得显著提升。在排序相关性和投资回报评估中,该模型相较现有方法取得数倍的改进

二 背景知识

2.1 股票价格波动与趋势分解的意义

股票价格通常由长周期的整体趋势和短周期的局部波动组成。趋势部分往往由宏观经济、行业周期和公司基本面等长期因素塑造,而波动部分则更多来自日内交易情绪、资金流向和短期信息的不对称。传统预测方法大多将价格序列视为不可分割的整体,忽视了这种内在结构。但从量化研究的角度,分离趋势与波动至关重要:

  • 趋势信息能够提供稳定的长期方向指引,帮助模型理解市场的大盘基调和行业发展态势。

  • 波动信息则反映更微观的力量博弈,体现投资者在短期内的买卖决策变化。这些微小而快速的价格起伏隐含了短期的获利契机。

将价格序列分解为趋势与波动两类成分后,模型可更有针对性地对两类信息进行独立建模与融合,有助于捕捉长短期因素的协同作用。

2.2 时间序列因果关系与动态相关性建模

股票数据本质上是时序数据。时间序列中不仅存在前后依赖和趋势变迁,还有复杂的因果关系。例如,早期的价格信号会影响后期市场预期,而新信息的出现会改变已建立的预测基础。传统时序建模方法(如RNN、LSTM)侧重于顺序依赖,但并未充分区分不同时间步信息的独特属性。
另一方面,不同股票之间存在动态关联:股票间的行业地位、竞争格局和上下游关系会随时间变化而不断重塑。在预测过程中,如果忽视这种跨时间和跨股票的动态联系,模型的预测能力将受到限制。

研究者尝试利用图网络、自注意力机制等方法对多股票间的关联进行建模。然而,许多方法在时间维度上仍简化过度,未能显式保留时间步的特点和序列因果。因此,强调保持时间的因果顺序关系并在此基础上挖掘股票间动态关联,可以显著提高模型的时空表示能力。

2.3 短期波动与长期趋势的协同作用

将趋势与波动信息独立提取并建模,有助于分别凸显长短期特征。趋势(由长期稳定因素决定)可视为一种公共基准,为整体市场方向提供参照;波动(由短期的资本流动和交易行为决定)则反映个别股票的独有特征。两者协同作用意味着模型既可把握整体大势,又能利用波动信号识别局部的盈利点。

此类协同建模思路可通过双分支结构实现:

  • 趋势分支侧重长期信息的提取与时空关联建模;

  • 波动分支则突出个股短期特征,并在模型中维持因果顺序,确保不会混淆未来信息或使不同股票间的短期特征相互干扰。

通过双分支设计,模型在提炼趋势与波动时更具针对性,并在最终预测中实现互补融合。

三 本文方法

DFT模型的核心贡献在于将股票特征分解为趋势与波动两条独立分支,并对时间因果关联和股票间相关性分别建模。

3.1 整体框架概述

DFT框架包含三个主要步骤:

  1. 股票分解:对输入数据进行嵌入变换后,通过平均池化(AvgPool)和时间相关模块(TC)获得长期趋势特征 ,再通过差分操作获取短期波动特征 。

  2. 关联建模:对趋势与波动两类信息进行独立且方向有序的时间与股票相关性建模。在波动分支中,先进行时间相关建模(TC)再进行股票相关建模(SC);在趋势分支中,则先股票相关(SC)再时间相关(TC)。这一顺序安排与两类特征的本质特点相匹配。

  3. 预测输出:将趋势、波动及市场信息特征融合后通过聚合机制和线性层输出未来的收益率预测值。

下图展示了DFT的框架结构:

3.2 数学定义与特征分解

给定股票集 和时间窗口 ,每只股票 在时间 的特征为 ,收益率定义为 ,并通过标准化处理得到 。模型的目标是利用前 步的股票特征预测未来收益率。

初始特征输入后通过全连接层映射至嵌入空间 。然后进行趋势与波动分解:利用AvgPool模糊局部异常来提取平稳的趋势信息,再通过时间关联模块TC细化趋势特征。趋势特征记为 。波动特征则通过 得到。

3.3 时间相关建模(TC)

为保持时间序列的因果关系与方向性,模型采用RWKV结构建模时间维度。RWKV结合RNN与Transformer的优势,可实现线性复杂度下的因果自注意力机制:

该模块通过WKV线性注意力操作保证了在第 个时间步只能访问历史信息,从而满足时间因果约束。通过TC处理,波动与趋势特征在时间上得到有效建模,形成 或 ,保留每个时间步的独特属性。

3.4 股票相关建模(SC)

在同一时间步下,不同股票间存在动态关联。SC模块利用自注意力机制从股票集合中挖掘相关性。对于时间步 ,输入序列为 (或 ),通过计算注意力权重矩阵,得到: Z _ t f = m a t h r m F F N ( m a t h r m M H A ( Q _ t , K _ t , V _ t ) + H _ t f ) Z\_{t}^{f}=\\mathrm{FFN}(\\mathrm{MHA}(Q\_{t},K\_{t},V\_{t})+H\_{t}^{f}) Z_tf=mathrmFFN(mathrmMHA(Q_t,K_t,V_t)+H_tf) 其中 来自线性变换后的嵌入表示,MHA为多头注意力。这样SC可在同一时间维度上为每只股票引入其他股票的信息上下文。

3.5 双分支结构与顺序

波动分支先进行时间相关(TC)再进行股票相关(SC)建模:

这样可先保留各股票的独特短期波动特征,再在股票层面进行交互,避免初期就将短期波动相互混合。

趋势分支则相反,先通过SC获取市场整体趋势关联,再经TC挖掘时间演化:

通过这种处理顺序,趋势分支能从全局市场趋势出发,再融入时间因果特性,塑造长期稳健的趋势表示。

3.6 市场信息融合与预测

模型还引入市场指导信息,通过卷积核处理市场特征嵌入 。最终,趋势分支、波动分支和市场信息的融合表示为:

为了得到最终预测结果,将最近时间步的表示作为查询向量,对各时间步加权求和后,经线性层预测:

损失函数采用均方误差(MSE),确保预测值与真实收益率的差距最小。

四 实验分析

本节介绍数据集、实验设计与结果分析,并展示相关图表以验证DFT的有效性。

4.1 数据与评价指标

实验在CSI300、CSI800及S&P500股票数据上进行。这些数据包含中国与美国市场的典型成分股。下表为数据集统计情况(以图形式展示):

评价指标包括IC、RankIC(RIC)、ICIR、RankICIR(RICIR),以及投资绩效评估指标AR、IR。这些指标从排序能力与投资收益两个层面综合评估模型性能。

4.2 整体性能比较

DFT与多种基准模型(如LSTM、Informer、MASTER等)比较,结果如下表所示:

DFT在排名与收益相关指标上远超基线方法,与现有SOTA模型相比提升数倍。

从下图可直观观察DFT在CSI800与S&P500数据上的综合指标表现:

4.3 回测与投资策略验证

在回测策略中,DFT在市场整体下行阶段依然能保持正收益,如下图所示:

对比其他模型,DFT在动荡行情中更具稳健性,这验证了对波动与趋势分离建模的必要性。

五 总结展望

本文提出的DFT框架通过将股票特征分解为趋势与波动两部分,并使用两条独立分支对时间因果关联与跨股票动态关联进行有序建模,从而实现了显著优于现有方法的预测性能。这种方法强调了短期波动在提高高波动市场预测精度中的重要性,同时保留了长期趋势的信息价值。

未来的研究方向包括:

  • 更高频数据下的模型优化与适应性研究,以支持日内乃至分秒级交易决策;

  • 将更丰富的市场结构与多模态信息(如舆情、宏观政策等)整合到该框架中,以进一步提高对复杂市场情境的适应能力。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值