news 2026/9/6 16:06:07

深度学习做量化交易:神经网络、CNN 与 Transformer 的实战选型指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习做量化交易:神经网络、CNN 与 Transformer 的实战选型指南

深度学习做量化交易:神经网络、CNN 与 Transformer 的实战选型指南

【免费下载链接】machine-learning-for-tradingCode for Machine Learning for Trading, 3rd edition — from data sourcing to live execution.项目地址: https://gitcode.com/GitHub_Trending/ma/machine-learning-for-trading

想靠深度学习交易赚钱,最大的坑往往不在模型本身,而在数据、标签和评估方式。开源项目 machine-learning-for-trading(《机器学习交易》第三版配套代码)把从数据获取到实盘部署的完整流程做成了可复现的 notebook,其中第 13 章 13_dl_time_series 集中展示了 MLP、1D-CNN、LSTM、Transformer、TCN、Mamba 这些架构在金融时间序列上怎么训练、怎么比较、以及什么时候其实不如一个线性模型。

这篇文章不打算再给你画一条漂亮的回测曲线,而是按项目自己的节奏,把"神经网络能不能在交易里打出优势"拆成四步:先喂数据,再跑基线,然后看 CNN 的图像化路线,最后用不确定性和跨案例证据决定信不信它。

🧱 网络不缺架构,缺的是好的输入:特征和标签怎么准备

先说结论:动手写第一层网络之前,你得先回答两个问题——输入里放什么、标签怎么打。项目把特征按数据来源分成三档:仅价格(动量、反转、微观结构)、跨标的(carry、相对价值、期权隐含波动率)、外部上下文(基本面、日历事件、宏观),每个特征家族都标了适用频率和角色——是发信号的还是描述市场状态的。这张分类图可以直接当你的特征清单,入口在 08_financial_features/。

标签是另一个容易被忽略的坑。项目实现了三重障碍法:入场后同时挂上轨、下轨和一条时间屏障,轨道宽度按波动率缩放,先碰哪条就记哪类——+1、-1 或 0。这样打出来的标签天然和波动率挂钩,不会出现"高波动标的标签更稀疏"的失衡。具体做法见 07_defining_the_learning_task/ 里的 label methods 一节。

数据喂好了、标签打好了,下一个问题才轮到架构:先训练哪个?

🌀 先跑 MLP 和线性模型,再谈 Transformer

说实话,这一章最值钱的 notebook 可能是最无聊的那个:01_core_architectures 把 MLP、1D-CNN、LSTM、GRU 放在同一批 ETF 序列上训练,横轴训练时间、纵轴预测度(Spearman IC)。结论很直接:LSTM 按时间逐步计算,序列拉长一倍、耗时约翻倍,精度却不会线性增长——这正是 TCN 和状态空间模型想绕开的瓶颈。

更狠的是"大辩论"一节:Zeng 等人发现长序列预测里,Linear、D-Linear、N-Linear 这类简单线性模型能打赢 Transformer,03_great_debate 在 SPY 日线收益上复现了这个结果。所以项目定下的标准很硬:任何复杂架构必须先打赢强基线,复杂度才有资格被讨论。N-BEATS 的趋势加季节性分解、TCN 的膨胀卷积、Mamba 的线性复杂度,都是按这个标准被评估的,而不是因为论文新。

基线都跑不过的话,换架构也没用;如果你还是想给 CNN 一条"看图像"的进场路线,项目里有一条更野的路。

🖼️ 把一段时间序列变成一张图,让 CNN 做回归

传统做法是把价格序列直接丢给 1D 卷积,但 08_cnn_image_encoding 走的是图像编码路线:先用 GAF(Gramian Angular Fields)把窗口内两两时间点的角度关系编码成一张二维图,再用 MTF(Markov Transition Fields)把离散状态间的转移概率编码成另一张,两个通道叠成多通道图像,标准 CNN 在上面做回归,目标仍是前向收益。

这里有个细节很关键:它的对比对象不是"无",而是把图像像素摊平后直接喂 Ridge+PCA 的线性基线。CNN 只有在打赢这个"同样信息量"的对手时,才算真的从图像结构里学到了东西。做法在 13_dl_time_series/08_cnn_image_encoding.ipynb,跑通之后你对"CNN 在金融序列上为什么有效、或为什么没效"会有具体答案,而不是一句空话。

信号出来了,样本外看着也还行。但真拿钱之前还差一层:这个数可信吗?

📉 单点预测不够用:不确定性估计和跨案例证据

交易要的不只是"明天涨还是跌",还有"我有多确定"。10_uncertainty 实现两条互补路线:MC Dropout 在推理时保持 dropout 开启、多次前向取分布;Deep Ensembles 训练 5 个独立初始化的 LSTM 取投票。原始散布还要经过 conformal 校准,才能变成覆盖率可控的区间,再拿去驱动仓位——对应的风控落点在 19_risk_management/。

最后一剂清醒来自 12_case_study_insights:它把九个案例研究里所有深度模型的 walk-forward 结果聚到一起,和 Ridge、GBM、TabM 这些表格基线对账,画面相当克制——深度学习只在很窄的一片区域明确占优,简单序列模型经常赢过更花哨的架构。所以选模型的依据应该是问题结构和数据量,而不是论文发布日期的新鲜度。

如果你只有一个周末,建议的顺序是:先跑 13_dl_time_series/ 里的 01_core_architectures 拿到基线曲线,再跑 08_cnn_image_encoding 看图像编码能不能打赢它的线性对手,最后用 10_uncertainty 把区间校准好——顺序不能反,基线没打赢之前,后面的复杂度都是装饰。代码可从git clone https://gitcode.com/GitHub_Trending/ma/machine-learning-for-trading获取。

【免费下载链接】machine-learning-for-tradingCode for Machine Learning for Trading, 3rd edition — from data sourcing to live execution.项目地址: https://gitcode.com/GitHub_Trending/ma/machine-learning-for-trading

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 15:56:37

数据服务平台建设全攻略:从架构设计到落地实践与避坑指南

简介:这是一份面向政企数字化建设、智慧城市与公共安全领域从业者的数据中台数据服务平台建设方案PPT(PDF版),聚焦以“国内领先、国际先进”为目标的城市应急平台与一张图可视化方案。内容系统梳理平台核心能力,包括数…

作者头像 李华
网站建设 2026/9/6 15:55:23

网页媒体资源怎么抓:从装好猫抓到存下第一个文件的完整流程

网页媒体资源怎么抓:从装好猫抓到存下第一个文件的完整流程 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你在某个在线课程平台看到一…

作者头像 李华