跳到主要内容
BlogTutorials

回测解释:让结果看起来更好的10个错误

What backtesting can and cannot prove — and the 10 mistakes that make historical results look better than they are: look-ahead bias, survivorship bias, overfitting, ignored transaction costs, poor data, cherry-picked dates, multiple-testing, no out-of-sample validation, regime changes, and treating history as a prediction. Calibration, not performance. Educational research, never advice.

V

Valarn

Research

2026年8月8日
12 min read
TutorialsBacktestingQuant
回测解释:让结果看起来更好的10个错误

回测是所有投资中最具说服力的图表。你采取一个交易规则,在十年的历史价格上运行它,结果出来的是一条从左下角平滑上升到右上角的权益曲线。它看起来像是证据。它感觉像是证据。而且往往,这是一种你在不知不觉中为自己构建的幻觉。

这就是回测投资策略的不舒服真相:这个过程是设计来给你一个令人鼓舞的答案,因为你不断调整规则,直到答案让你感到鼓舞。数学是真实的;而纪律通常是缺失的。回测可以告诉你一些真正有用的东西——但前提是你确切知道它能证明什么和不能证明什么,并且你积极寻找那些让结果看起来远好于任何活跃市场所能给你的错误。

本指南涵盖了这两方面。首先,回测实际上展示了什么。然后是十种股票回测悄然膨胀自身的方式——从前瞻偏差到将历史曲线视为预测——每种方式的陷阱和解决方法都一一列出。在你相信下一个有人展示给你的美丽权益曲线之前,先阅读它,包括你自己绘制的曲线。

回测能证明什么——以及不能证明什么#

回测是一个假设检验,而不是水晶球。如果正确运行,它可以告诉你在特定历史片段下,在特定假设条件下,一个规则本来会产生某些结果。这是非常有价值的——这是在真正花钱之前拒绝坏主意的廉价方式。但这仍然是关于过去的陈述,以条件时态表达,无论图表看起来多么自信,它始终保持这种状态。

有用的思维转变是从表现到校准。你并不是在试图证明一个策略“赚钱”。你是在试图理解它如何表现:它的回撤有多深,错误的频率有多高,交易量有多大,以及在什么市场条件下它会崩溃。一个能教会你规则在哪些方面挣扎的回测比一个承诺数字的回测更有价值,因为这个数字在与未来接触时不会存活,而行为往往会。

它真正告诉你什么#

  • 规则是否在你当时实际拥有的数据下是连贯且可实施的。
  • 大致的风险轮廓——波动性、最坏情况下的回撤、换手率,以及表现不佳的时期。
  • 一种廉价的证伪想法的方法:如果一个规则无法在历史中存活,它肯定无法在未来存活。

它不能告诉你什么#

  • 策略未来的回报。就此而已。
  • 你发现的模式是真正的原因,而不是一个数据集中的巧合。
  • 当实际回撤到来且图表不再平滑时,你会如何表现。

牢牢把握这个区别,因为下面的每一个错误都是将“在我的假设下,这曾经发生过”悄然转变为“这将再次发生,对我而言”的方式。

使回测结果看起来更好的10个错误#

1. 前瞻性偏差#

前瞻性偏差是股票回测的根本罪过:让你的策略 "看到" 在交易时根本不可能知道的信息。经典的例子是在1月1日使用公司的全年收益,而实际上这些数字要几周或几个月后才会提交。或者通过一个在事后被重新表述的指标来排名股票,使用重新表述的值。

结果是一个看起来像是预言的策略,因为它在时间上作弊。解决方法是严格的 时间点数据 — 在每个模拟时刻,规则只能使用在该日期之前真正公开和最终的数据,包括所有延迟。如果你无法确认你的数据遵循时间线,假设它不遵循。

2. 存活者偏差#

在过去20年中对 "今天指数中的股票 "测试一个策略,你已经操纵了它。破产、退市或崩溃的公司已经悄然从你的宇宙中消失 — 你只是在对幸存者进行测试。结果自然看起来很好;在开始之前你删除了失败者。

真实的历史股票分析包括死去的公司。你的测试宇宙必须包含每个时间点存在的每家公司,包括那些后来失败的公司,否则你的回测是在衡量 "我如果只拥有我已经知道的赢家会做得多好"。

3. 过度拟合#

回测过度拟合是指当你不断添加规则和调整参数,直到策略完美地适应历史数据 — 包括随机噪声。一个有十五个条件的规则,准确捕捉每个过去的转折点,并不是发现;它只是一个特定数据集的复杂描述,已经被记住。

迹象是脆弱性:稍微改变参数,或移动测试窗口,美丽的结果就会蒸发。一个稳健的规则在 一系列 设置和时间段内有效,而不是一个神奇的组合。简单性在这里是一种防御 — 每个额外的参数都是另一个适应噪声而不是信号的机会。

4. 忽视交易成本和滑点#

一个假设你以确切的收盘价免费买卖的回测,描述的是一个不存在的市场。真实的交易支付佣金,跨越买卖差价,并遭受滑点 — 你预期的价格与实际获得的价格之间的差距,正是在你最想交易时扩大。

对于主动策略来说,数学是残酷的。假设一个规则每年交易50次,每次往返交易的成本在加上差价和滑点后为0.2%。那就是50 × 0.2% = 每年交给市场10个百分点的回报 — 通常足以将一个回测的明星变成一个实际资金的失败者。始终模拟现实的成本,并对那些边际比交易费用更薄的高频策略保持特别怀疑。

5. 数据质量差#

垃圾进,华丽的垃圾出。拆分调整不一致,忽视股息,错误的价格,错误标记的股票代码,以及未考虑公司行动的价格,都会悄悄地破坏回测 — 通常是朝着令人满意的方向,因为你更容易注意到并删除那些对结果有害的错误,而不是那些有帮助的错误。

在信任任何输出之前,审查数据本身:它来自哪里,如何处理拆分和股息,以及是否经过与主要来源的审计。一个策略的可信度仅与其底层数据的可信度相同,而 "数据看起来不错 "并不等同于检查。

6. 精心挑选的开始和结束日期#

在2009年3月开始回测,几乎任何买入股票的策略看起来都很出色,因为你是在一个世代的底部开始的。在崩溃之前结束,而你的规则本可以全力捕捉到,这看起来就像是防御性。将任一边界移动几个月,故事就可能反转。

诚实的测试使用 长时间的代表性窗口,包括多个市场周期 — 牛市、崩溃、波动的横盘年 — 而不是恰好使规则看起来更好的精心挑选的区间。如果一个策略只在两个非常特定的日期之间有效,那么日期在起作用,而不是策略。

7. 测试过多策略(p-hacking)#

进行足够的实验,偶然就会给你一个赢家。这就是多重测试陷阱,它在定量研究中无处不在。测试20个无关的策略与5%的显著性标准,平均而言,你会期望20 × 0.05 = 其中1个看起来 "统计显著 "纯粹是运气 — 即使每一个都是毫无价值的。

现在想象一下尝试数百种参数组合并仅报告最佳结果。这不是研究;这是一个彩票,输掉的票隐藏起来。纪律是提前决定你要测试的内容,计算每一次尝试,并将一个在一千次尝试后才闪光的策略视为噪声,直到证明相反。

8. 没有样本外或前向验证#

如果你设计一个规则并在同样的数据上测试它,当然它会适应 — 你就是这样构建的。唯一有意义的问题是它是否在从未见过的数据上保持有效。这就是 样本外测试 的全部意义:保留一段历史,该策略从未针对过,并查看优势是否仍然存在。

更好的方法是 前向分析 — 在一个时期内反复拟合,在下一个未触及的时期进行测试,然后向前滚动,模拟你如何在时间上实际使用规则。一个在样本内蓬勃发展的策略在样本外崩溃并没有找到信号;它找到了你的数据。跳过这一步是大多数令人印象深刻的回测诞生的方式。

9. 忽视制度变化#

市场不是一个单一稳定的机器。利率环境变化,波动性制度变化,十年的相关性破裂,在一种条件下蓬勃发展的规则在另一种条件下可能会悄然停止工作。一个在所有方面平均的回测可能隐藏了所有回报来自一个现在已经结束的制度的事实。

看看 你的策略何时赚钱。如果整个优势来自于,例如,长期的零利率阶段或某个行业的历史表现,问问这些条件是否仍然存在。稳健性意味着规则在不同制度下表现合理 — 或者至少你确切知道它依赖于哪个制度。

10. 将历史表现视为预测#

最后一个也是最具诱惑力的错误是每个免责声明都警告过的,而每个人都还是会犯的错误:将回测的回报视为预测。 "在十年内年回报18% "是你假设下关于过去的事实。这不是承诺,也不是你应得的平均值,或你可以依赖的底线。

回测设定了 行为的期望,而不是回报的目标。利用它来理解策略的特征并压力测试其弱点 — 然后保持你的结论灵活,因为未来有投票权,而它从未有过义务与过去押韵。

将研究与幻想思维分开的纪律#

注意到上面几乎每个错误都是同一主题的变体:让策略窥视它本不应拥有的信息,或根据用于构建它的实际数据进行判断。解药是一种心态——校准优于表现,样本外纪律作为一种不可妥协的习惯。

令人满意的回测纪律严明的回测
目标证明它能赚钱理解它的表现
数据窗口精心挑选,单一环境长期,多周期,特定时间点
验证在设计数据上测试保留数据 & 向前走
成本忽略或理想化模拟佣金 + 点差 + 滑点
裁决预测的回报校准的结果范围

这不是一种边缘观点。研究定量和人工智能驱动投资的学者和从业者不断回到同一份简短的守则——坚持样本外测试,诚实地建模交易成本,尊重信号时机,以免在你没有的数据上交易,并消除任何潜藏的前瞻性偏差。具体细节各不相同;信息却异常一致,正好与“相信曲线”相反。如果你想要将这一论点更深入地应用于AI生成信号,我们的 回测模式演练 展示了纪律验证在实践中的样子。

这在真实研究中的位置#

回测与理解业务并行,而不是在其上。一个规则可以通过上述每一个统计测试,但仍然指向你一无所知的公司——这就是为什么定量验证只是一个输入,最好与我们 12步研究清单 中的基本工作相结合。数字告诉你信号的表现;业务告诉你其背后的故事是否持久。

这大致是 Valarn 作为教育研究工具的处理方式。它并不是给出一个单一的自信答案,而是通过五个类别的约25位专业AI分析师进行分析——核心研究、市场结构、专门的辩论与风险委员会、财务质量审查员,以及事件、行业和宏观覆盖——然后进行结构化的 牛市与熊市辩论,并综合出一个中立的 研究观点(看涨、谨慎看涨、中立、谨慎或看跌——绝不提供买入或卖出指令)。每一个事实声明都可以追溯到一个文件或带有 截至日期 的许可来源,这与保持回测中前瞻性偏差的时间点纪律相同。在报告到达你之前,会有一个质量保证关卡。

至关重要的是,报告使用校准的语言,而不是预测。你得到的不是单一的价格目标,而是 情景范围——熊市、基准和牛市参考水平——加上参考价格和风险水平。两个独立的0–100分数保持诚实可见:一个 信心 分数反映数据的完整性和可靠性(而不是价格预测),另一个 一致性 分数显示分析师们的实际趋同程度。由于单次运行本身就是一种小样本,集成运行 可以最多重新运行整个分析三次,以获得更稳定的读数——这是不信任数据单次抽样的研究等价物。如果你想要一个更广泛的框架来压力测试任何AI输出,我们也写了 十个信任AI股票分析的检查

你可以在 完整样本研究报告 中查看所有这些内容,或浏览 公司研究页面 以便在深入文件之前进行定位。如果在此过程中有术语让你困惑,Valarn 词汇表 正是为此而建立的。

结论#

回测是一个用来对过去提出纪律性问题的工具,而不是一个预测未来的机器。使用得当,它帮助你廉价地拒绝糟糕的想法,并理解当事情出错时策略的表现。使用不当——带有前瞻性偏差、生存者偏差、过拟合、忽略成本、挑选日期和没有样本外检查——它就变成了一种复杂的自我欺骗方式,伴随着非常有说服力的图表。

因此,将每条股权曲线,包括你自己的,视为需要验证的声明,而不是值得相信的结果。坚持使用干净的时间点数据、现实的成本,以及在策略从未见过的数据上进行验证。追求校准,而不是表现。做到这一点,回测投资策略就会变成它应该是的东西:一种减少被欺骗的方式,而不是更多。好奇可检查的、诚实对冲的分析是什么样子? 探索完整样本报告运行你自己的免费研究报告 并根据上述所有内容进行评分。

Valarn 是一个教育研究工具,而不是投资建议。它不告诉你购买、出售或持有任何东西,这里没有任何推荐或结果承诺。始终进行自己的研究,并考虑咨询持牌金融专业人士。

TagsTutorialsBacktestingQuantCalibration
V

Valarn

Research

Valarn Research Team

Valarn

Try Valarn for free

Run AI-powered analysis on any stock in under 5 minutes.

Get started free
回测解释:让结果看起来更好的10个错误