目录
- 简介
- 什么是回溯测试?
- 回溯测试前要做什么?
- 如何对交易策略进行回溯测试?
- 评估回溯测试结果
- 结语
摘要
您是否认为自己对市场有不错的想法,但却不知道如何在不损失真金白银的情况下将其付诸实践?了解如何对交易策略进行回溯测试是出色系统交易者的基本能力。
回溯测试背后的前提是过去有效的方法在将来也可能适用。但您要如何进行回溯测试,又该如何评估结果呢?让我们来了解一下简单的回溯测试流程。
简介
回溯测试是自行制定图表和交易策略的关键要素之一。它通过以历史数据为基础的系统来重建过去可能发生的交易。回溯测试的结果会让您大致了解一项投资策略是否有效。
什么是回溯测试?
首先,如果您想进一步了解什么是回溯测试,可以阅读我们的文章《什么是回溯测试?》
简言之,回溯测试的主要目的是向您展示您的交易想法是否有效。您可首先使用以往的市场数据来了解策略的执行情况。如果这项策略看起来有潜力,那么它在实际交易环境中也可能有效。
回溯测试前要做什么?
在开始回溯测试前,您需要确定您是哪类交易者。您是自主决策型交易者还是系统型交易者?
自主决策型交易基于决策 — 交易者利用自己的判断来决定何时开仓和平仓。这是相对宽松且开放的策略,大多数决定取决于交易者对手头情况的评估。因此,回溯测试在自主决策型交易中不那么重要,因为这种策略没有严格的定义。
当然,这并非意味着如果您是自主决策型交易者,就完全不该使用回溯测试或模拟交易。这只是意味着测试结果不如系统型交易者得到的结果可靠。
系统型交易更适合进行回溯测试。系统型交易者依赖于能够定义并告知开仓或平仓时机的交易系统。系统型交易者控制策略的大部分方面,但开仓和平仓的时机完全由策略决定。您可以将简单的系统型策略看作两步:
当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
以下是我们的信号在图表上叠加时的视图:
我们的第一笔交易获利约$3800,而第二笔交易将产生$2900的损失。这意味着我们的已实现盈亏是$900。
我们的交易也很活跃,截至2020年12月,未实现盈利约为$9000。如果我们坚持最初制定的策略,就会在下一次死亡交叉时平仓。
评估回溯测试结果
那么,这些结果说明了什么?我们的策略本应带来合理的回报,但到目前为止还没有任何出色的表现。我们可以通过执行目前的未平仓交易,来大幅增加我们的已实现盈亏,但这与回溯测试的目的背道而驰。如果我们不坚持按计划执行,结果也不会可靠。
即便这只是一项系统策略,也依然应该考虑当时的特定背景。从$9600到$6700之间的未盈利交易发生在2020年3月由新 冠 肺 炎疫 情导致的崩盘期间。这种黑天鹅事件可能会对任一交易系统产生巨大的影响。也正因为如此,我们要通过进一步回溯来了解这种亏损是属于异常情况,还是只是策略的副作用。
这是一次简单的回溯测试过程的示例。如果我们回溯并用更多数据对其进行测试,或纳入其他技术指标可能会使其产生更强的信号,从而让策略变得更有前景。
但是回测结果还能告诉您什么?
波动性测量:您的最大上升和回撤。
风险敞口:为执行该策略,您需要从整个投资组合中分配的资金量。
年化回报:此策略在一年内的百分比回报。
盈亏:系统中有多少交易可能盈利,有多少交易可能会亏损。
平均成交价格:您在策略中成交的开仓和平仓均价。
请知晓:上述示例不足以详尽说明回溯测试的作用。具体需要追踪哪些指标,完全取决于您。无论如何,您在有关设置的交易日记中记录的详细信息越多,您从得到的结果中学习的机会就越多。有些交易者对自己的回溯测试非常严格,这一点从他们的结果中可能也会有所体现。
最后要考虑的一个因素是优化。如果您已阅读我们的回溯测试文章,就会知道回溯测试和前瞻性测试(模拟交易)之间的区别。
结语
我们已经了解了对交易策略进行手动回溯测试的基本流程。但请务必记住,过去的表现不能代表未来的表现。
市场环境瞬息万变,如果您想改进交易策略,就必须顺应这些变化。您也需要谨记不能盲目信任数据。评估结果时,常识(虽然经常被忽视)也是一种非常有用的工具。
以上就是币圈新手入门:什么是回溯测试?如何对交易策略进行回溯测试?的详细内容,更多请关注本站其它相关文章!