Investor's wiki

回测

回测

什么是回测?

回测是查看策略或模型事后执行情况的一般方法。回测通过使用历史数据发现交易策略的表现来评估交易策略的可行性。如果回测有效,交易员和分析师可能有信心在未来使用它。

了解回测

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

进行良好的回测会产生积极的结果,可以向交易者保证该策略从根本上讲是合理的,并且在实际实施时可能会产生利润。相反,执行良好的回测会产生次优结果,这将促使交易者改变或拒绝该策略。

特别复杂的交易策略,例如自动交易系统实施的策略,严重依赖回溯测试来证明其价值,因为它们太神秘而无法评估。

只要一个交易思路可以量化,就可以进行回测。一些交易者和投资者可能会寻求合格程序员的专业知识,以将想法开发成可测试的形式。通常,这涉及程序员将想法编码为交易平台托管的专有语言

程序员可以合并用户定义的输入变量,允许交易者“调整”系统。这方面的一个例子是简单移动平均线 (SMA) 交叉系统。交易者将能够输入(或更改)系统中使用的两条移动平均线的长度。然后交易者可以回测以确定哪些移动平均线长度在历史数据上表现最好。

理想的回测场景

理想的回测从反映各种市场状况的持续时间的相关时间段中选择样本数据。这样,可以更好地判断回测的结果是侥幸还是稳健的交易。

历史数据集必须包含真正具有代表性的股票样本,包括那些最终破产或被出售或清算的公司。另一种选择,包括仅来自今天仍然存在的历史股票的数据,将在回测中产生人为的高回报。

回测应考虑所有交易成本,无论多么微不足道,因为这些成本会在回测期间累加,并严重影响策略盈利能力的表现。交易者应确保他们的回测软件考虑了这些成本。

样本外测试和前向性能测试可进一步确认系统的有效性,并且可以在真正的现金出现之前显示系统的真实面貌。回测、样本外和前向性能测试结果之间的强相关性对于确定交易系统的可行性至关重要。

回测与前向性能测试

远期性能测试,也称为纸面交易,为交易者提供另一组样本外数据,用于评估系统。远期表现测试是对实际交易的模拟,涉及在实时市场中遵循系统逻辑。它也被称为纸面交易,因为所有交易都只在纸上执行;也就是说,交易进入和退出以及系统的任何利润或损失都会被记录下来,但不会执行实际交易。

前向性能测试的一个重要方面是准确地遵循系统的逻辑;否则,即使不是不可能,也很难准确评估该过程的这一步骤。交易者应该诚实地对待任何交易进场和退出,并避免诸如挑选交易或不包括纸面交易等行为,从而合理化“我永远不会进行该交易”。如果交易按照系统的逻辑发生,则应记录和评估。

回测与场景分析

回溯测试使用实际的历史数据来测试是否合适或成功,而情景分析则使用模拟各种可能结果的假设数据。例如,情景分析将模拟投资组合证券价值的具体变化或发生的关键因素,例如利率的变化

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

回测的一些陷阱

为了提供有意义的结果的回测,交易者必须制定策略并真诚地测试它们,尽可能避免偏见。这意味着应该在不依赖回测中使用的数据的情况下制定策略。

这比看起来更难。交易者通常根据历史数据制定策略。他们必须严格使用与他们训练模型的数据集不同的数据集进行测试。否则,回测将产生毫无意义的发光结果。

同样,交易者必须避免数据挖掘,他们在同一组数据中测试各种假设策略,这也会产生在实时市场中失败的成功,因为有许多无效策略会超过市场特定时间段是偶然的。

弥补数据挖掘或挑选倾向的一种方法是使用在相关或样本内时间段内成功的策略,并使用来自不同或样本外时间段的数据对其进行回测.如果样本内和样本外的回测产生相似的结果,那么它们更有可能被证明是有效的。

## 强调

  • 基本理论是,任何过去运作良好的策略都可能在未来运作良好,反之,任何过去表现不佳的策略都可能在未来表现不佳。

  • 回测通过使用历史数据追溯发现交易策略或定价模型的效果来评估交易策略或定价模型的可行性。

  • 在历史数据上测试一个想法时,为测试目的保留一段历史数据是有益的。如果成功,则在其他时间段或样本外数据上对其进行测试可以帮助确认其潜在的可行性。