电子表格中最好的回测
从大量实验中挑选最强结果可能制造信心,即便现实执行成本会抹去表面优势。

概念示意图,非实际市场数据。图示标签可能采用与案例不同的简化示例。
情景设定
假设性教学案例。价格序列、策略、交易结果和统计数据均为虚构。它们不是历史记录、业绩声明或可交易信号。Lena 在合成股票篮子上测试均线思路。尝试 120 种参数组合后,她选择最有吸引力的结果,并以其中 200 笔模拟交易作为稳健优势的证据。研究复核会追问:选中了什么,遗漏了什么,以及哪些数据仍真正未被看过。
重建亮眼的表面数字
选定配置有 110 笔毛盈利交易,平均盈利 $180;90 笔毛亏损交易,平均亏损 $160。毛收益为 $19,800,毛损失为 $14,400,200 笔交易剩余 $5,400。平均每笔毛收益为 $27,胜率为 55%。这两个数字都无法说明策略能否承受现实成本,也无法说明筛选过程发现的是信号还是运气。
Lena 假设每笔交易的往返成本仅为 $2,使结果减少 $400 至 $5,000。但虚构的执行审查估算,每次完成的往返交易包括 $6 佣金和显性费用、$12 价差成本,以及 $15 额外滑点。合计每笔 $33,整个样本共 $6,600。毛结果不变时,修订后的净结果为亏损 $1,200,平均每笔交易负 $6。
明确成本,避免重复计算
这些成本组成之所以合理,是因为合成回测使用了无摩擦参考价格。如果已经按买价和卖价模拟成交,再单独扣除完整价差会高估成本。同样,从决策价计算的实施差额可能已包含价差和市场冲击。研究日志需要精确定义入场基准、退出基准和额外费用。
敏感性表应测试多种往返总成本,而不只是对策略最有利的那一种。成本为 $15 时,净结果为 $2,400;为 $27 时,净结果为零;为 $45 时,净结果为负 $3,600。这些是算术情景,而非预测。$27 的盈亏平衡成本尤其有用,因为它揭示了选定毛结果为成交不确定性、错失成交及操作错误留下的余地有多小。
选择问题先于最终图表
Lena 并非在看到样本前就选择了该配置。她选择它,是因为它在同一样本上优于其他 119 个方案。即使策略没有持久预测优势,尝试大量变体也可能得到一个诱人的赢家。作为刻意简化的示例,如果 120 次独立测试各有 5% 的假阳性概率,至少出现一次的概率为 1 − 0.95^120,约 99.79%。
实际的策略变体很可能彼此相关,因此基于独立性所作的计算,并不是 Lena 研究的有效 p 值。它的作用是揭示多重检验问题,而不是精确量化该问题。她必须记录所有尝试过的变体,包括舍弃的指标、改动的日期窗口及人工例外。一张精美的最终图表,无法揭示其背后隐藏了多少失败实验。
保留真正独立的评估集
更好的虚构研究设计,会区分开发、验证及最终未经使用的测试。Lena 可以用开发数据形成想法,用验证数据比较一组数量有限且有记录的选择。一旦她查看最终测试并据此修改策略,该数据就不再是未经使用的。反复把同一份数据称为“样本外”,并不能恢复独立性。
在一项新的 60 笔交易测试中,假设有 28 笔毛盈利,平均为 $170,另有 32 笔毛亏损,平均为 $150。毛结果为 $4,760 − $4,800 = 负 $40。每次往返交易成本为 $33,合计增加 $1,980 成本,净结果为负 $2,020。这个虚构的小样本不能证明策略永远不可行,但也不支持最初的信心。适当的回应是调查或否决,而不是自动不断修改参数,直到留出集表现转正。
研究复核应先分别展示两个样本,再报合计数字。修正后的两百笔开发交易亏损 1200 美元,新的六十笔测试亏损 2020 美元,合计两百六十笔亏损 3220 美元,平均每笔约 −12.38 美元。算术相加没有问题,但合并不会让已用于挑选策略的开发样本变成独立证据。后续测试有不同作用:检验在这些结果出现前已经固定的决策。
检查信息时点和亏损路径
复查还要问:信号是否使用了每笔模拟交易前实际可得的数据?若无合理的执行机制,收盘价指标通常不能为更早按同一收盘价成交提供依据。标的范围选择不应悄悄剔除失败或退市证券。公司行动、时间戳对齐与过时报价都可能显著改变模拟结果。每项检查针对的是可能的误差来源,而不是保证未来盈利。
最后,Lena 在总利润旁记录回撤、连续亏损、换手率和资本使用情况。最终恢复的策略仍可能在途中突破资金限制。NFA 提醒,假设结果受益于事后信息,无法完整再现真实财务风险体验。模拟测试能揭示流程问题,但不能证明实盘流动性、可扩展性,或在真金白银亏损时遵守策略的能力。
先明确什么证据能够真正改变结论
Lena 下一步做什么,取决于问题根源。如果时间戳错误让今日信号读取明日信息,就应修复实现,并撤回或明确替换受影响结果。如果代码正确,只是合理成本吃掉优势,换一个图表标题无济于事。如果某笔异常盈利解释了几乎全部毛利,则要研究这种依赖是否有经济依据、样本是否充分覆盖它。
她可以准备一个可复现材料包:全部一百二十种配置、准确的人工数据集、选出赢家的评分规则、所有费用口径,以及冻结后的最终规范。其他审阅者应能同时复现漂亮的原始结果与不漂亮的修正版。保留失败版本有助于看清是哪项假设改变结论。可复现性是验证计算的条件,不是策略将来会成功的证据。
敏感性检查要区分成本变化和交易清单变化。对同样两百笔完整交易,将每笔费用从三十三美元提高到四十五美元,新增成本为 2400 美元,净结果由 −1200 变为 −3600。但若流动性下降还使部分订单无法成交,毛交易清单本身也改变了,这就需要新的执行模拟,而不只是对旧清单再扣一笔费用。精确的成本表不能掩盖更大的成交模型问题。
最后,Lena 应说明哪些工作算新实验,哪些只是继续此前搜索。受到失败留出样本启发的新规则当然可以研究,但它在该样本上的表现已属于开发证据。真正后来的观察期,只有在修改版规范和评价标准事先固定后,才有资格检验新流程。诚实结论可以是当前想法缺乏支持;研究复核不必强行产出一套可交易策略。
推理错在哪里
只报告获胜的实验
搜索历史很重要,因为最终选定的配置受益于筛选过程。
重复使用留出集
查看测试结果后修改策略,会消耗该测试作为独立证据的价值。
将参考价格当作成交价
可实际交易的结果,需要有依据的成交和成本假设。
检验决策,而非记忆。
一个新的模拟样本包含 45 笔盈利,平均 $220,以及 55 笔亏损,平均 $140。在净利润转负前,最高平均往返成本是多少?每笔交易成本为 $25 时会怎样?
显示解答过程
毛盈利为 45 × $220 = $9,900。毛亏损为 55 × $140 = $7,700。100 笔交易的毛利润为 $2,200,因此每笔盈亏平衡成本为 $22。成本为 $25 时,总成本为 $2,500,净结果为负 $300。这一计算并不能纠正选择偏差或数据泄漏。