跳到主要内容

回测_Backtesting

什么是回测?

回测是一种评估策略或模型在过去表现如何的通用方法。它通过利用历史数据来评估交易策略的可行性。如果回测结果良好,交易者和分析师可能会有信心在未来继续使用该策略。

关键要点

  • 回测通过回顾历史数据评估交易策略或定价模型的可行性。
  • 基本原理是,任何在过去表现良好的策略在未来也可能表现良好,反之亦然。
  • 在历史数据上测试想法时,保留一段时间的历史数据用于测试非常有益。如果测试成功,在其他时间段或超出样本的数据上进一步验证它的潜在可行性可以增强信心。

理解回测

回测允许交易者使用历史数据模拟交易策略,以生成结果并在实际投入任何资金之前分析风险和盈利能力。

进行得当的回测如果得到积极结果,将向交易者保证该策略在基本上是合理的,并且在现实中实施时可能会获得利润。反之,回测如果得出次优结果,将促使交易者修改或放弃该策略。

重要: 特别复杂的交易策略,如自动交易系统实施的策略,往往严重依赖回测来证明其价值,因为这些策略太复杂,难以用其他方式评估。

只要交易想法能够量化,就可以进行回测。一些交易者和投资者可能会寻找合格的程序员,将想法开发成可测试的形式。通常,这涉及到程序员将想法编码为交易平台所支持的专有语言。

程序员可以集成用户定义的输入变量,让交易者能够“调整”系统。例如,在简单移动平均线(SMA)交叉系统中,交易者可以输入(或更改)系统中使用的两条移动平均线的长度。交易者随后可以回测,以确定哪种移动平均线长度在历史数据中表现最佳。

理想的回测场景

理想的回测选择一个相关时间段的样本数据,持续时间应能够反映各种市场状况。这样,可以更好地判断回测结果是否是偶然事件或合理的交易表现。

历史数据集必须包含真实的代表性股票样本,包括那些最终破产、被出售或清算的公司的股票。相反,只包括仍然存在的历史股票数据将会在回测中产生人为的高收益。

回测应考虑所有交易成本,无论这些成本多么微不足道,因为这些成本在回测期间可能会累积,从而大大影响策略盈利能力的表象。交易者应该确保他们的回测软件能够考虑这些成本。

超出样本测试和前瞻性表现测试提供了有关系统有效性的进一步确认,并且可以在实际资金介入之前展示系统的真实表现。回测、超出样本以及前瞻性表现测试结果之间的强相关性对于确定交易系统的可行性至关重要。

回测与前瞻性表现测试

前瞻性表现测试,也称为纸上交易,给交易者提供了另一组超出样本数据,以评估系统。前瞻性表现测试模拟实际交易,涉及在实时市场中遵循系统的逻辑。这也被称为纸上交易,因为所有交易仅在纸面上执行;即,交易的进出及系统的任何盈亏都会被记录下来,但没有真正的交易执行。

前瞻性表现测试的重要方面是严格遵循系统的逻辑;否则,就很难,甚至不可能,准确评估这一过程的这一步。交易者应诚实记录任何交易的进出,避免行为如选择性记录交易或在纸上不记录某项交易,合理化说“我根本不会进行这笔交易”。如果交易遵循系统逻辑发生了,就应当被记录和评估。

回测与情景分析

虽然回测使用实际历史数据进行拟合或成功测试,但情景分析则利用假设数据来模拟各种可能的结果。例如,情景分析会模拟投资组合证券或关键因素的特定变化,如利率的变化。

情景分析通常用于估计在不利事件发生时投资组合价值的变化,并可以用于检查理论上的最坏情况。

回测的一些陷阱

为了让回测提供有意义的结果,交易者必须以良好的信念开发策略并进行测试,尽量避免偏见。这意味着策略的开发应不依赖于用于回测的数据。

这看似简单,但其实相当困难。交易者通常基于历史数据构建策略。他们必须严格地使用与训练模型不同的数据集进行测试。否则,回测将产生虚高的结果,而这些结果毫无实际意义。

同样,交易者必须避免数据挖掘,即针对相同数据集测试大量假设策略,这同样会产生在实时市场中失败的成功,因为有许多无效策略可能会因为偶然性在特定时期内超越市场。

弥补数据挖掘或选择性记录的倾向的一种方法是使用在相关或样本内时间段内成功的策略,并使用来自不同或样本外时间段的数据进行回测。如果样本内和样本外的回测结果相似,那么它们的有效性更有可能得到验证。