什么是回测:定义、工作原理和主要局限性
直接回答
回测是将一个交易想法应用于历史市场数据,以评估该想法如果在过去实施,可能会如何表现的过程。在外汇回测中,该想法通常被转化为明确的规则(例如,何时入场、何时离场以及交易量大小)。其目的是评估和学习,而非预测。
机制与定义
一次实际的回测会将一个概念转化为可重复的检查清单。典型的输入和组成部分包括:
- 历史价格序列:用于测试的时间戳数据。在外汇中,数据通常包括价格(并可能辅以点差或执行情况的假设)。
- 策略规则:入场和离场条件、头寸规模方法以及任何持仓时间逻辑。这些规则必须明确无歧义。
- 执行模型:假设交易如何成交。一种常见的简化是假设交易在特定价格成交,但实际成交取决于买卖价差、滑点、延迟和流动性。
- 成本:佣金、掉期/融资影响和交易成本。如果忽略或近似处理成本,结果可能会被高估。
- 假设和设置:时间框架、杠杆处理(如建模)、风险限制以及如何处理缺失数据。
在回测过程中,规则会逐步应用于历史数据。系统会记录可能发生的交易,并计算诸如回撤、盈利指标和交易频率等结果指标。关键在于,这些指标既是交易想法的函数,也是所有假设的函数。
证据或示例(含明确假设)
考虑一个以规则形式编写、简化的外汇交易想法:
- 仅使用一个货币对。
- 每当条件A发生时,在下一个时间步以中间价开仓。
- 在固定数量的K线后平仓(例如,N根K线后)。
- 使用固定头寸规模。
- 忽略融资成本,并假设无滑点。
如果在选定的历史时间段内,条件A多次出现,回测将生成一系列假设的入场和离场,并汇总结果。然而,此示例展示了主要的验证思想:如果你更改任何假设——例如以买卖价代替中间价成交、加入点差、包含掉期/融资,或使用不同的K线数量——结果可能会发生实质性变化。
局限性与风险
回测存在显著的失败模式:
- 过拟合:当规则被反复调整以匹配某一历史时期时,可能捕捉到的是噪声而非可复用的模式。
- 机制变化:外汇市场行为可能发生变化(波动性、流动性、宏观环境)。历史关系可能不会持续。
- 不现实的执行:回测通常使用简化的成交价格。实际交易可能因点差变化、滑点和延迟成交而不同。
- 数据质量与对齐:错误的时间对齐、前视偏差或不一致的数据可能使结果看起来比实际更好。
- 成本遗漏:忽略佣金、点差和融资可能夸大表面表现。
由于这些限制,历史成功并不能证明相同规则在未来仍会有效。
验证或下一步问题
为独立验证一次回测,应关注该过程是否可检查且可证伪:
- 明确每一项假设(所用价格、成交假设、成本和时间窗口)。
- 使用样本外测试:在不同于规则优化所用时间段的数据上进行评估。
- 测试鲁棒性:调整参数,观察结果是否依赖于特定设置。
- 检查前视偏差:确保仅使用决策时刻可用的信息。
一个有用的后续问题是:“如果改变哪些具体假设,会对结果产生最强烈的影响?” 如果你无法回答这个问题,该回测可能无法被可靠解读。