回测检验: 历史本身是重复的
如果任何技术性交易策略都有具体和特定的交易进场/退场规则,那么对该策略进行回测检验能够让交易员用历史价格数据模拟它的预期绩效。有了回测检验,交易员就可以实际检验过去执行的这些策略效果究竟如何。
许多技术性交易策略都具备进行有效回测检验所需的条件。最重要的是,它们必须在规则上没有歧义。这里是一个可能很容易进行回测检验的简单策略的例子:当5个期间的移动平均线向上与20个期间的移动平均线交叉,平滑异同移动平均线向上与零点线交叉,而且正动向指标在负动向指标之上时做多。当5个期间的移动平均线向下与20个期间的移动平均线交叉,平滑异同移动平均线向下与零点线交叉,而且负动向指标在正动向指标之上时做空。虽然我们并没有对这个简单的例子进行检验,但是它描述了能够进行回测检验的策略所需具备的特征。
虽然回测检验看起来是识别获利性最好的策略的完美方法,但是这里需要一个预警。使用过去的价格数据来模拟未来的绩效,通常会让交易员误以为他们在真实的交易中总能获得与回测检验中相同的绩效结果。许多潜在的因素可能会使假设绩效和实际绩效产生巨大差距,这些因素实际上表明了市场是会随着时间推移而发生重大变化的。一种策略在过去5年的表现是一个样,而在接下来的5年又是完全不同的一个样,因为市场已经发生了变化。比方说,过去通常能让投资者赚钱的技术指标,在今后已经无法重复它在过去的表现了。这个现象可能非常令人沮丧,但它是让市场变得如此具有挑战性的重要原因之一。另外,在执行交易方面,实际上按某一策略进行交易可能要比对这一策略进行回测检验难得多,这些困难可能会造成最终业绩相差万里。
虽然过去和假设的绩效可能并不会每一次都能预示将来的业绩,但回测检验仍然是我们可以获得的评估某一策略的最佳方法,它不需要我们在真实环境中进行实际交易。对某一策略进行回测检验对交易员来说非常有好处,其中最重要的好处就是,它能合理预期该策略的潜在价值和有效性。
这里对交易策略进行回测检验的主要方法有两个。第一个,也是使用最普遍的一个方法是自动回测检验。这种方法需要有具备这种功能的软件,只要在网上简单地搜索一下,就会得到很多关于这种软件的链接。自动回测检验需要使用一种专门的程序,交易员在程序中输人该策略的特定规则和标准。接下来,该程序就会自动将这些规则应用于过去的价格数据中,并得出假设利润、损失以及其他相关信息。通过这种方式,我们得到了一幅关于过去绩效的完整的图像。
另一个可操作性较差的回测检验方法是手动回测检验,也就是交易员用于和眼睛来进行操作。有了明确的策略规则,交易员就可以让图形上的时间倒回到过去,并像真实环境中那样手工应用这些策略,然后手工记录过去的绩效数据。从理想化的角度来讲,在使用这种回测检验方法时,交易员需要将图形上的柱体按时间顺序一个一个从后往前倒,以避免观察此后的价格行为。这样就消除了按后见之明进行交易的情况,因为这将阻碍交易员做出客观的回测检验。
与自动回测检验相比,手动回测检验的一个主要缺点是,在进行模拟交易和记录绩效结果时,很可能会出现人为差错。而且,对大量数据进行手动模拟交易,同时又要不偏离该策略的严格规则,将需要花费很大的工作量并受到很强的纪律约束。最后,那些经常会对实际交易带来干扰的人类的正常情绪和偏见,可能也会成为获得客观的回测检验结果的一个阻碍因素。但不管怎么说,手动回测检验能让交易员获得按某一策略进行实际交易的真实"感受"。这种检验方法能给交易员带来有价值的经济经验,虽然是模拟的,但它是自动回测检验所不能提供的。
无论回测检验是手动还是自动进行的,它都是寻找和(或)构建一个有力的交易策略最重要的组成部分。这一重要的实践过程能够为交易员省下很多时间和金钱,否则他们很可能会将时间和金钱浪费在那些无法获利的交易策略上。