THE SHORT VERSION

先掌握这几块

  • 按时间切分只是起点:特征、训练标签与预处理参数,都必须符合当时可知的信息。
  • 偏误检查没有报错,不代表所有信号都被验证,更不代表策略会盈利。
  • 手续费、成交价差、滑点与适用的资金费率要分开列示;缺少数据不能默认成本为零。
01 /

一、先画时间线,别急着看收益

研究一个预测未来行情的模型时,先标出数据可获取、信号产生、下单与结果确定的时点。scikit-learn 的 TimeSeriesSplit 说明了时间序列切分的用途:避免用未来数据训练,再回头评估过去。把相依的市场观测值随机打乱,可能破坏这个先后关系。BlockBlah 建议先在纸上画出每个训练区间与后续评估区间,再确认程序实际生成的索引一致,而不是只相信函数名称。

数据行的时间戳不一定代表整行信息已经可用。若训练标签是某段未来价格变化,必须等那段期间结束,标签才已知;用收盘数据生成的信号,也要对应到之后实际可能取得的成交。TimeSeriesSplit 的 gap 是在训练末尾排除若干条样本,不会替你检查信息发布延迟或标签重叠。间隔应依据数据与预测期间设计,并核对切分边界;它不是可以修好所有泄漏的通用数字。

02 /

二、先切数据,再让预处理学习

数据泄漏不只藏在明显的未来价格中。scikit-learn 的常见陷阱文档要求,标准化、缺失值填补或特征选择等需要学习的步骤,只能从训练数据估计参数;测试数据使用同一组已学得的转换。先对整份数据求平均、挑特征,再切训练与测试,就可能让测试信息提前进入研究。正确使用 Pipeline 可帮助把预处理放在每一轮训练之内,但仍要确认输入流程的字段本身没有偷看未来。

为每个特征做一张小卡:原始字段、计算区间、最早可知时间、缺失值处理与重新计算方式。挑一条决策,手动遮住那个时间之后的数据,再追查所有输入是否仍能生成。这是本文提出的研究演练,不是已完成的测试报告。参数调整也应保留记录;若看过保留测试区间的结果后又据此改模型,就应把它记为已参与开发,而不是继续称为完全未见的最终考试。

03 /

三、让诊断工具找线索,不替你签保证书

Freqtrade 的 lookahead-analysis 通过比较不同回测中的指标与交易信号变化,寻找前视偏误线索。官方文档也列出限制:没有触发的信号不会因此获得验证;某些依赖整组交易对的逻辑或限价单设置,可能产生误报。报表显示没有偏误,应理解为此次数据与设置下未发现对应问题,不能扩张成所有程序路径都正确,也不能解读为绩效已经可靠。

实际研究可以保存一份覆盖清单:哪些进出场分支被触发、哪些没有、工具改动了哪些设置、异常是否能缩小到一条信号。遇到警示先追查原因,不要为了得到绿灯而删掉不方便的样本。还可另外检查数据起始长度改变时,指标计算是否稳定;这与偷看未来是不同问题。各项检查应分别留下证据,避免把一个工具的通过结果当成整套交易系统的验收。

04 /

四、把成本和成交假设展开

Freqtrade 回测文档说明,指定手续费会分别用于进场与出场;其成交假设则包含价格位于 K 线高低区间内时,以要求价格成交且不计滑点。两件事要分开看:计入交易手续费,不代表已经模拟买卖价差、排队、部分成交或市场冲击。本文建议逐项列出模型有处理、没有处理与缺数据的条件,再对更不利的成交情境做敏感度研究,不能只在摘要上写“已扣成本”。

研究永续合约时,另列资金费率的来源、时点及收付方向;不要把它混成每笔固定手续费。Freqtrade 的杠杆文档警告,以不实替代值补上缺少的历史资金费率,会使回测失真。没有数据时应标示缺口、缩小可评估期间或明列情境假设,不把缺失值当成真实的零。成本压力测试的用途是暴露策略依赖哪些条件,不是为最终会成交的价格提供保证。

05 /

五、留下研究版本,再观察新的数据

一张值得讨论的回测图,旁边应能找到数据来源与版本、时区、交易对选取方式、程序与软件包版本、切分索引、参数搜索记录,以及成交和成本假设。这是塊訊建议的研究交接清单。策略冻结后,可在之后到来的数据上做模拟观察,记录信号、预期订单与执行限制的差距;模拟观察仍不是实盘成交证据。若重新调参,另开版本并注明已看过的数据,不把反复修改后的最佳曲线当成第一次预测。

本文是原创常青方法指南,于 2026 年 11 月 2 日(Asia/Taipei)查阅下列官方文档;查阅日不是软件更新或市场事件的发生日期。本文未执行任何策略回测、模拟交易或实盘测试,没有宣称收益,也不提供特定策略推荐或个性化投资建议。无赞助或联盟链接,封面为编辑概念插画。文档与软件行为可能更新,采用前应依据实际版本重新核查;历史或模拟结果不能保证未来表现。

资料来源与延伸阅读

  1. scikit-learn — TimeSeriesSplit ↗
  2. scikit-learn — Common pitfalls and data leakage ↗
  3. Freqtrade — Lookahead analysis and caveats ↗
  4. Freqtrade — Backtesting assumptions and fees ↗
  5. Freqtrade — Leverage and unavailable funding rates ↗

本文为信息与教育用途,不构成投资建议。加密资产可能大幅波动,请独立核实。

That’s the block.