ML回测最容易犯的错?
我的掌握程度:
先掌握这个答案
全样本训练后"回测"(应走查训练);标准化用全样本统计量;特征里有未来。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
每一笔收益都要有可执行时间线
打印数据截止时间、信号时间、订单时间、成交时间和持仓收益区间。收盘信号不能乘当天完整收益;次日开盘成交也不能无条件拿到整个close-to-close收益。用原始价格判断可成交性,并纳入停牌与涨跌停。
本阶段实战方法 · 把验证流程当作模型的一部分
训练选股模型或使用另类数据时,先保证训练过程没有接触预测时不可得的信息。
- 定义每个样本的特征可得时间和标签覆盖区间,再按预测场景设计时间切分。
- 归一化、缺失填充、特征选择和调参只在训练集拟合;重叠标签要按实际区间purge。
- 用朴素基线和多段滚动样本外比较,报告成本、稳定性、漂移与全部实验次数。
使用边界
- 排行榜或验证集反复用于挑模型后也会过拟合;留一份最终测试集。
- 随机切分不是所有问题都禁止,但金融未来预测必须尊重时点和标签重叠,说明验证目标。
核心答案(速览)
全样本训练后"回测"(应走查训练);标准化用全样本统计量;特征里有未来。
🛠 本阶段共用练习 · 把验证流程当作模型的一部分
将标签期改为5日,画训练、验证、测试时间轴;列出一个只在训练集fit的标准化流程,并定义一个朴素基线。
💡 提示(先自己想5分钟再看)
定义每个样本的特征可得时间和标签覆盖区间,再按预测场景设计时间切分。 归一化、缺失填充、特征选择和调参只在训练集拟合;重叠标签要按实际区间purge。 用朴素基线和多段滚动样本外比较,报告成本、稳定性、漂移与全部实验次数。
✅ 验收标准
5日标签清除[5,6,7,8,9];验证和测试不参与fit,报告基线对照与至少三段样本外表现。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
Python · 独立工作线程 · 执行限时10秒
🤖 AI导师
导师会先检查你的前置知识(起点概念),再用案例、公式和代码帮助理解。此功能需要先启用服务。