
历史资料齐全不等于当时全部可知
区块链量化回测使用历史资料重建计算过程,但文件里现在已经有的内容,不一定在被模拟的那个时刻可用。本文只讨论研究结果的验证方法,不生成交易信号、不推荐策略,不提供机器人部署或资金投入步骤。
Freqtrade文档说明,回测开始时会把完整时间范围的数据载入,并计算指标;如果计算误用未来记录,结果便会失真。因此,数据可以读到和模型在那个时刻应当知道,是两件事。程序顺利运行,不足以证明二者已经对齐。
全样本统计可能把后来的信息带回过去
该工具文档列举了向未来位移以及不加滚动窗口的全表均值、最大值等问题。这里的关键不是某个函数名字危险,而是计算范围是否包含当前判断时刻之后的信息。使用滚动窗口也只是相关检查点,不是一项全面正确性认证。
可以用一个教学问题帮助复核:如果删除当前时刻以后的记录,原本标记为当时已知的指标是否改变?改变值得继续追查,但这只是问题定位思路,不是本文已经运行的测试,更不能仅凭变化就断言某个公开策略作者故意造假。

预留测试区间之后也不能反复拿它调参
scikit-learn的评估文档提醒,反复根据测试集表现调整参数,会让测试信息泄漏进模型;预处理的拟合也应与保留数据分开。于是,报告写着划分过训练集和测试集,仍不足以说明后续开发没有反复利用测试结果。
对于时间相关的资料,该文档还讨论了按时间顺序划分,并用后续观察进行评估的方式,而非直接套用独立同分布样本的随机打散假设。比较时间序列分折时也要关注覆盖时长;它说明的是评估设计,不保证某种市场数据具有可预测性。
没有检出偏差不等于检查覆盖了全部情况
Freqtrade的lookahead-analysis通过基准与切分后的回测结果比较寻找异常,并明确只能检查实际触发和验证过的交易信号。未触发信号可能没有被检查,某些配置又可能出现误报。因此,报告中的一个通过标记不能替代对覆盖范围的说明。
整理回测材料时,可保存资料时间范围、指标可用时点、训练与测试用途、调整记录及未覆盖信号。这份清单是作者建议,不是运行成绩。偏差问题解释清楚之后,历史结果也不能直接转化为未来收益承诺;本文没有实测回测、调用账户或评价任何具体产品的盈利能力。