交易策略回测:验证盈利能力,规避风险
策略回测:检验交易理念的利器
你是否也有很棒的市场交易点子,却担心贸然尝试会损失资金?回测交易策略是优秀系统化交易员的必备技能。回测的基本前提是:过去有效的策略,未来也可能有效。但如何进行回测以及如何评估结果呢?让我们一起了解一个简单的回测流程。
什么是回测?
回测是制定图表和交易策略的关键环节之一。它利用历史数据,重建过去可能发生的交易。回测结果能大致判断投资策略是否有效。简单来说,回测的主要目的是验证你的交易理念是否合理。你首先使用过去市场数据来查看策略的过往表现。如果策略看起来有潜力,它也可能在实际交易环境中有效。
回测前的准备工作
开始回测前,你必须确定自己是哪种类型的交易者:自由裁量交易者还是系统化交易者?
自由裁量交易是基于判断的——交易者依靠自身判断决定何时进场和出场。这是一种相对宽松和开放的策略,大多数决策都取决于交易者对当前状况的评估。因此,对于自由裁量交易来说,回测的相关性较低,因为策略本身并非严格定义的。
当然,这并不意味着自由裁量交易者完全不需要回测或模拟交易。只是说,其结果可能不如系统化交易那样可靠。
系统化交易更适合回测。系统化交易者依赖于一个明确定义的交易系统,该系统精确规定了何时进场和出场。虽然系统化交易者可以控制策略的大部分方面,但进出场信号完全由系统决定。你可以这样理解一个简单的系统化策略:
- 当 A 和 B 同时发生时,进入交易。
- 当 X 发生后,退出交易。
一些交易者更喜欢这种方法。它可以消除交易中的情绪化决策,并提供合理的保证,确保交易系统盈利。当然,仍然没有绝对的保证。
这就是为什么确保你的系统中关于何时进场或出场有非常具体的规则非常重要的原因。一个定义不明确的策略会导致结果不一致。正如你可能预料的那样,这种交易风格在算法交易中更为流行。
如果你想自动化这个过程,可以购买回测软件——你只需要输入自己的数据,软件就会为你进行回测。然而,在这个例子中,我们将采用手动回测策略。它需要多一点工作,但完全免费。
如何回测交易策略?
你可以使用一个电子表格模板作为起点。这是一个基本的模板,你可以用它来创建你自己的回测表格。一些交易者更喜欢使用 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 日移动平均线”。
正如你所看到的,我们也定义了策略有效的周期。这意味着如果金叉发生在四小时图上,我们不会将其视为交易信号。
本例中的时间段从 2019 年初开始。但是,如果你想获得更准确和可靠的结果,你可以追溯到更早的比特币价格走势历史。
现在,让我们看看这个系统在规定时间段内产生的交易信号:
- 买入价约为 ~$5,400
- 卖出价约为 ~$9,200
- 买入价约为 ~$9,600
- 卖出价约为 ~$6,700
- 买入价约为 ~$9,000
我们的第一次交易盈利约 3800 美元,而第二次交易亏损约 2900 美元。这意味着我们目前的已实现盈亏为 900 美元。我们目前还有一笔未平仓交易,截至 2020 年 12 月,未实现利润约为 9000 美元。如果我们坚持最初定义的策略,我们将在下一次死叉出现时平仓。
评估回测结果
那么,这些结果说明了什么呢?我们的策略可能会带来合理的回报,但到目前为止并没有表现出任何特别之处。我们可以平仓目前持有的仓位来大幅增加我们的已实现盈亏,但这会违背回测的目的。如果我们不坚持计划,结果也不会可靠。
即使这是一个系统化策略,也值得考虑其背景。从 9600 美元到 6700 美元的亏损交易发生在 2020 年 3 月 COVID-19 疫情暴发期间。这种“黑天鹅”事件可能会对任何交易系统产生过大的影响。这也是值得回溯更长时间以查看此损失是异常值还是策略的副产品的原因之一。
这是一个简单的回测过程示例。如果我们回溯并使用更多数据进行测试,或者包含其他技术指标来增强其产生的信号,该策略可能很有前景。
但是,回测结果还能告诉你什么?
- 波动性指标:你的最大收益和最大回撤。
- 仓位:你需要从你的整个投资组合中分配多少资金来执行该策略。
- 年化收益率:该策略一年内的百分比收益。
- 盈亏比:系统中多少交易可能导致盈利,多少交易可能导致亏损。
- 平均成交价:使用该策略时,已成交的进场和出场价格的平均值。
请记住,上述例子并非详尽无遗。你想跟踪哪些指标完全取决于你。无论如何,你在交易日志中记录的关于相关设置的细节越多,你从结果中学习的机会就越多。一些交易者在回测方面非常严格,这很可能会反映在他们的结果中。
最后要考虑的是优化。如果你了解回测和前测(或模拟交易)的区别,那么你应该知道,过度优化回测结果会导致在实际交易中表现不佳。
结语
我们已经介绍了如何手动回测交易策略的基本流程。但是,重要的是要记住,过去的表现并不保证未来的表现。市场环境不断变化,如果你想改进你的交易策略,你必须适应这些变化。你还应该小心,不要盲目相信数据。常识是评估结果时一个有用——尽管经常被忽视——的工具。