Skip to main content
机器学习做交易的坑:具体的失败模式
blog 高级 · ~1 min read

机器学习做交易的坑:具体的失败模式

机器学习做交易的具体坑——数据泄露、环境衰退、过拟合,附特定失败模式和可量化的检测阈值。

· Lead Editor · · ~1 min read
#algorithmic#quant-trading
本文为英文。需要查看中文翻译吗?

交互工具在翻译视图中可能无法使用。

机器学习做交易的坑:具体的失败模式

研究阶段看着不错的 ML(机器学习)交易模型,到了实盘多数会挂,原因都逃不出可预测的几类。这些失败并不玄乎——就是同样五个模式反复出现。用数字阈值把它们识别出来,你就能在资金遭殃之前发现问题。

坑 1:标签泄露

最常见的杀手。例子:在 t 时刻计算的特征里用了 close[-1]、用整段序列的均值做归一化、或者把由目标衍生出来的东西当成特征。症状:样本外 Sharpe 3+,实盘却接近零。测试:2018–2021 训练,2022 测试。如果测试 Sharpe 比训练高出 30% 以上,怀疑泄露,别怀疑自己的水平。

坑 2:随机交叉验证

随机 k-fold 切分会把未来混进训练集。一个预测 2022 时"已经见过" 2023 的模型,毫无价值。修法:用 TimeSeriesSplit,purged gap(清洗间隔)至少等于持仓周期加 5 根 K 线。持仓 5 天的策略,gap 至少 10 根。

坑 3:在测试集上调超参

你试了 200 组超参,挑了测试集上最好的那组——测试集就成了训练集。Deflated Sharpe Ratio(通胀调整夏普比率)就是纠正这个的:试了 N 次,声称显著的 Sharpe 阈值大约按 √(2·ln(N)) 上升。试 200 次之后,你要 Sharpe > 2.5 才算数,不是 1.0。

坑 4:环境衰退

一个在 2010–2019 低波动股市上训练的梯度提升模型,到 2020 就崩了。实盘里监控滚动 60 天 Sharpe;连续两个月低于 0.3 就让模型下线。在滚动窗口上重训只在环境持续时有用——环境切换期重训,等于给错的环境标定了一个模型。

坑 5:特征不稳定

训练里重要性高、但在 walk-forward 各折之间重要性方差很大的特征,不稳健。每折单独算一次特征重要性;排名在各折之间波动超过 5 位的特征,扔掉。稳定的模型需要稳定的特征。

具体的诊断数字

  • 训练/测试 Sharpe 差距 > 1.5 倍 → 过拟合或泄露
  • Walk-forward 各折 Sharpe 标准差 > 0.8 → edge 不稳定
  • 100 笔之后实盘 Sharpe 低于回测 Sharpe 的 50% → 模型坏了,不是运气差
  • 特征与目标相关性 > 0.9 → 几乎可以确定是泄露

什么时候 ML 是错的工具

标注样本少于 500、数据不到 3 年、或者你的 edge 是已知的经济关系,就别上 ML。小数据上,一个趋势过滤器加一条风控规则就能干翻深度模型,而且你看得懂它为什么有效——这意味着你知道它什么时候会失效。

纪律不是"加上 ML",而是"在数据、验证、监控都到位之前,拒绝 ML"。

相关市场数据由 TradingView 提供。

分享:
𝕏 f in r/
·
📝

我的笔记

登录后可在本文保存笔记并与社区分享。

✓ 已核查事实 审阅人 Timi Chen, 编辑顾问 · 发布于: 2026-07-01 · 编辑政策
由 Marcus Cole 起草 · 由 Timi Chen 于 2026-07-01 审核 · 最后检查于 2026-07-01

教育内容 · 非财务建议 · 风险自担

下一篇推荐

algorithmicquant-trading 2026-07-01

Quant Research Workflow: Jupyter Notebooks and Feature Engineering

A repeatable quant research workflow using Jupyter notebooks covers feature engineering, validation, and notebook hygiene that produces deployable signals.

阅读更多 →

Smart Recommendations