如何对交易策略进行回溯测试
目录
导语
什么是回溯测试?
回溯测试前要做什么
如何对交易进行回溯测试
评估回溯测试结果
总结
如何对交易策略进行回溯测试
首页文章
如何对交易策略进行回溯测试

如何对交易策略进行回溯测试

中阶
Published Dec 17, 2020Updated Apr 28, 2022
6m

摘要

您是否认为自己对市场有不错的想法,但却不知道如何在不损失真金白银的情况下将其付诸实践?了解如何对交易策略进行回溯测试是出色系统交易者的基本能力。

回溯测试的基本前提是,过去有效的方法在将来也可能适用。但您要如何做到呢?您又该如何评估结果呢?我们来了解一个简单的回溯测试流程。


导语

要开发自己的图表和交易策略,回溯测试是关键要素之一。它通过以历史资料为基础的系统来重建过去可能发生的交易。回溯测试的结果应该能让您大致了解一项投资策略是否有效。

在我们进一步了解之前,如果您想对自己的策略进行回溯测试,币安期货就是一个不错的平台。如果您想在这个平台访问历史数据,请填写这个申请表


什么是回溯测试?

首先,如果您想进一步了解什么是回溯测试,可以阅读我们的文章什么是回溯测试?

简言之,回溯测试的主要目的是向您展示您的交易想法是否有效。您要使用以往的市场数据来了解策略的执行情况。如果这项策略看起来有潜力,那么它在实际交易环境中也可能有效。


回溯测试前要做什么

在开始介绍回溯测试示例之前,您首先需要确定一些要素。您需要确定您是哪种交易者。您是自主决策型交易者还是系统型交易者?

自主决策型交易基于决策——交易者利用自己的判断来决定何时进入和退出。这是相对宽松且开放的策略,大多数决定取决于交易者对手头情况的评估。正如您想到的,回溯测试在自主决策型交易中不那么重要,因为这种策略没有严格的定义。

当然,这并非意味着如果您是自主决策新交易者,就完全不能使用回溯测试或模拟交易。它只是意味着,结果可能不如另一种情况下可靠。

系统型交易更适合这个主题。系统型交易者依赖于能够定义并告知进入或退出时机的交易系统。他们可以完全掌控策略的内容,但进入和退出的信号则是由策略决定。您可以这样看待简单的系统策略:

  • 当A和B同时发生时,进入交易。
  • 当X发生后,退出交易。

一些交易者更偏向于这种方法。它可以消除交易中的情绪化决策,并为交易系统的盈利提供合理的保证。当然,没有任何保证是绝对的。

也正因为如此,您务必要确保您的系统中制定了有关合适进入或退出仓位的具体规则。如果策略没有明确定义,结果也会不一致。正如您所料到的,这种交易风格在算法交易中更受欢迎。

如果您想进行自动回溯测试,可以购买回溯测试软件。您只需输入自己的数据,系统会为您进行回溯测试。但在这个示例中,我们将介绍一种手动回溯测试的策略。它需要花费更多功夫,但是完全免费。


如何对交易进行回溯测试

您可以通过这个链接找到一个Google试算表电子表格模板。这是一个基本模板,您可以基于它来创建自己的模板。它可以让您大致了解回溯测试试算表可能包含哪些信息。一些交易员更偏向于使用Excel或Python中的代码,在这方面并没有严格的规定。您可以添加更多数据,以及任何您认为有用的内容。
日期市场方向进入止损止盈风险奖励盈亏

12/08

BTCUSD

做多

$18,000

$16,200

$21,600

10%

20%

3600

12/09

BTCUSD

做空

$19,000

$20,900

$13,300

10%

30%

-1900


现在,我们来对一些简单的交易策略进行回溯测试。下面是我们的假设:

  • 我们在黄金交叉后以第一个每日收盘价买入一枚比特币。当50天移动平均线高于200天移动平均线时,我们就会认为是黄金交叉。
  • 我们在死亡交叉后以第一个每日收盘价卖出一枚比特币。当200天移动平均线低于50天移动平均线时,我们就会认为是死亡交叉。

正如您看到的,我们还定义了策略有效的时间范围。这意味着,如果在4小时图表上出现黄金交叉,我们不会认为这是交易信号。

就这个示例而言,我们只会关注回溯至2019年初的时间段。然而,如果您想获得更准确可靠的结果,可以进一步了解比特币的价格行为。

现在,我们来看一下系统在这个时段内产生了哪些交易信号:

  • 买入 @~$5,400
  • 出售 @ ~$9,200
  • 买入 @ ~$9,600
  • 出售 @ ~$6,700
  • 买入 @ ~$9,000


以下是我们的信号在图表上的叠加方式:

黄金交叉-死亡交叉策略。来源:TradingView。


我们的第一笔交易将产生$3800的盈利,而第二笔交易将产生$2900的损失。这意味着我们的已实现盈亏是$900。

我们的交易也很活跃,截至2020年12月,这笔交易的未实现盈利约为$9000。如果我们坚持最初制定的策略,则将在下一次死亡交叉时关闭它。



评估回溯测试结果

那么,这些结果说明了什么?我们的策略本应带来合理的回报,但到目前为止还没有任何出色的表现。我们可以通过实现目前的未平仓交易,来大幅增加我们的已实现盈亏,但这与回溯测试的目的背道而驰。如果我们不坚持这项计划,结果也不会可靠。

即便这是一项系统策略,也值得在特定背景下进行考虑。在2020年3月由新冠肺炎疫情导致的崩盘期间,发生了从$9600到$6700的未盈利交易。这种黑天鹅事件会对任何交易系统产生巨大的影响。也正因为如此,我们要通过进一步回溯来了解这种亏损是属于异常情况,还是只是策略的副作用。
无论如何,这都是简单的回溯过程可能出现的情况。如果我们回溯并用更多数据对其进行测试,或纳入其他技术指标以潜在地使其产生的信号更强,则这种策略可能会有希望。

但是回测结果还能告诉您什么?

  • 波动性测量:您的最大涨幅和跌幅。
  • 风险敞口:您需要为整个投资组合中的策略分配的资金量。
  • 年化回报:此策略在一年内的百分比回报。
  • 盈亏比:系统中有多少交易盈利,有多少交易亏损。
  • 平均执行价格:您在策略中执行的进入和退出的平均价格。
这些只是一部分例子,还不足以详尽说明回溯测试的作用。具体需要追踪哪些指标,完全取决于您。无论如何,您记录的有关设置的详细信息越多,您从结果中学习的机会就越多。一些交易者对自己的回溯测试非常严格,这也可能反映在他们的结果中。
最后要考虑的一个因素是优化。如果您已阅读我们的回溯测试文章,就会知道回溯测试和前瞻性测试或模拟交易之间的区别。在实时交易环境(例如币安期货测试网)中测试和优化您的想法会很有帮助。


总结

我们已经了解了对交易策略进行手动回溯测试的基本流程。记住,以往的表现并不能保证未来的表现。

市场环境瞬息万变,如果您想改善交易,就必须顺应这些变化。一般而言,不要盲目相信数据对您也是很有帮助的做法。在评估结果时,常识可能是非常有用的工具。