回测过拟合是指研究过程使其选择过度贴合历史观测,导致某条规则在筛选它的样本中显得异常出色。成因并不限于复杂模型。只要有人测试足够多的资产、时间段、止损幅度和指标,然后只报告最幸运的组合,一个简单的均线交叉也可能过拟合。
数一数你做了多少选择
假设一位研究者尝试了十种指标、若干阈值、四种资产、两个时间周期和多个日期区间。即便每次运行都采用合理的规则,找到理想历史结果的机会次数也远多于最终截图所显示的数量。看到结果之后所做的选择同样计入其中:修改出场条件、略去某个难做的市场,或挑选对策略最有利的指标,都会改变这项实验。
保留一份带日期的实验日志。记录每个测试过的策略版本、参数组合、数据集、指标以及改变方向的原因,包括令人失望的结果。如果此前的实验促使您选择了新的假设,请说明这一关联。不要仅仅因为最终配置看起来干净,就从描述中抹去失败的运行。
使用时间顺序,但不要把它当作解药
在调参之前,按时间划分数据。用较早的观测来实施和比较规则,并保留较晚的一段区间用于有限评估。不要将时间序列K线随机打乱分入训练组和测试组:相邻K线共享背景信息,随机划分可能让较晚市场状态的信息影响较早的选择。在打开留出集结果之前,先写下分界点和选择方法。
留出集只有在保持未见状态时才能提供有限保护。如果您在其上运行选定的配置、检查其交易、修改阈值后再运行一次,那么这些观测已经影响了修改后的规则。请将该区段标记为已使用。真正更晚的样本或前瞻性观测可以回答一个新问题,但两者都不能保证未来条件具有可比性。
前向滚动评估会重复按时间顺序进行的拟合与评估窗口,但它也可能被过度使用。在看到许多输出路径之后再去选择窗口长度、再训练计划和最终指标,会制造出又一轮搜索。记录完整流程,并将其与一个简单基准进行比较。报告窗口数量以及该方法失效的任何市场状态。
手动解读一次 PBO 划分
Bailey、Borwein、López de Prado 和 Zhu 的回测过拟合概率研究提出了组合对称交叉验证(CSCV):将一份候选收益记录划分为偶数个区块,反复用其中一半选出排名最高的候选者,再在互补的另一半上为该选择排名。以下是一个刻意设计得极小的教学示例,使用四个等长区块,并以平均收益作为固定评分。下文所有数值均为虚构,以每区块百分比表示;均非交易所数据。
| 候选者 | 区块 1–2:选择均值 | 区块 3–4:评估均值 | 评估排名(从最差到最好) |
|---|---|---|---|
| A | 7.0% | −4.0% | 第 1(共 4 个) |
| B | 2.1% | 2.1% | 第 4(共 4 个) |
| C | 1.0% | 1.0% | 第 3(共 4 个) |
| D | 1.5% | 0.5% | 第 2(共 4 个) |
候选者 A 在前半段胜出,但在互补的后半段排名垫底。当 N = 4 个候选者时,其相对样本外排名为 ω = 1/(N + 1) = 0.20。logit 为 λ = ln(ω/(1 − ω)) = ln(0.20/0.80) ≈ −1.386,小于零,因为在此次划分中,被选出的优胜者在候选者中排名低于中位数。这仅是一次示例性划分;PBO 估计值是所有规定 CSCV 划分中 λ < 0 的比例。该计算仅使用平均收益,以便让算术过程清晰可见;真实研究必须固定其绩效指标,并将其一致地应用于每一个拼接后的区块组合。
PBO 是一种相对选择诊断指标,而非某个实盘加密货币策略会亏损的概率。对称区块组合有助于考察当样本内与样本外部分重新组合时候选者排名如何变化,但它们无法重现某一条按时间顺序展开的部署路径。对于那个单独的问题,请保留一段更晚且未被触碰的时间顺序测试或前瞻性模拟记录,并且一旦某个留出集影响了决策,就将其标记为已消耗。
通缩夏普比率研究在解读夏普比率时处理选择偏差和非正态收益。它是一种独立的调整:它不能修复前视偏差、缺失成交或错误的数据集。其结论取决于收益样本以及关于试验次数和试验相关性的假设,因此不要只向它输入获胜配置而略去研究历史。
查看完整分布与机制
展示的内容不应只有单一最高收益。要包括交易次数、回撤路径、连续亏损序列、敞口、持仓时间、成本,以及在不同测试设置下的差异。检查结果是否主要由少数异常大的交易贡献。测试略有不同的交易成本假设。如果结果在参数小幅调整或采用更高的现实成本后消失,请清楚地描述这种敏感性。一份有用的报告会列出完整候选集、选择评分与并列规则、区块设计、划分结果数量、成本模型,以及最差和中位数评估排名。读者应当能够看到优胜者有多频繁只是比其他候选者“没那么差”,而不是从单一调整后统计量中推断出信心。
将因果时序与数据来源分开检查。一个策略可能因为使用了决策时无法获得的信息,或因为时间戳、合约展期或缺失区间处理不当,而显得非常出色。修复此类实现错误并不会消除选择偏差。数据和研究选择都需要检查。
说明工具输出代表什么
SuperQuant 提供确定性账本和按时间顺序进行的诊断工作流,但其内置历史数据是合成的。该应用可以帮助呈现某个配置好的规则在该环境中的表现;它无法基于真实交易所历史确立收益,也无法证明实盘成交。即便软件本身正确,在同一合成数据集上以多种配置反复运行仍会产生选择问题。
请使用回测工作流,在假设工作表中预先声明选择流程,并阅读前视偏差和移动平均参数搜索相关内容。在每个结果旁保留版本历史和失效条件。本文为研究指引,不构成投资建议,也不声称任何技术能消除不确定性。