在评估一个系统的测试指标之前,我认为先检验测试结果的可信度。这就像我们在相信一个人说的话之前,先必须相信这个人。你可能找到一个交易系统,也可能是自己开发了一个交易系统,但是不论你对提供这个系统的人,包括你自己,有多少信任,你都要坚持先检验测试结果的可信度。如果因为盲目的相信或侥幸心理,跳过去这个过程,这无异于给你的资金安全埋下一个定时炸弹。
交易系统测试结果的可信度评估主要有以下几个方面:
一、这个系统是不是“黑盒子”?如果是,不论是什么理由,其结果都不可信。这虽然有些绝对,但侥幸心理是交易之大忌。这有点像在坐飞机时帮陌生人捎带东西一样:那东西打不开,但一定是炸弹吗?也不能下定论。如果你认为不能带陌生人的东西上飞机,你也不应该相信一个“黑盒子”系统。
二、检验系统测试条件与实际交易的符合程度。如果不符,各种绩效指标就不用看了。我认为至少要检查以下几点:
a.测试数据是否涵盖了至少一个大的牛市和一个大的熊市,一般至少要十年以上。我见过很多系统,测试指标很漂亮,可仔细一看,测试结果是基于指定的某段时间,譬如从2000年到2005年,这时就要打个问号了,因为2000年以前的数据不难得到啊,为什么不从1990年或更早开始呢?对于大多数要卖钱的交易系统,这样做是不难理解的。一般来讲,测试涵盖的时间越长,测试的可信度越高。
b.测试是否把交易佣金从赢利中扣除。否则,你可能在为证券公司打工。这一点对于交易频繁的系统尤其重要。
c.测试是否把交易的滑价(slippage)从赢利中扣除。譬如测试的某个交易是在40元买入的,在实际交易中可能你买不到,你可能要花 40.10元,有的市场甚至可能要40.50元。这一毛或五毛的价差是不是刨去了?好的系统测试会根据被测市场的流通性假设一个合理的滑价。越是短线的交易系统,滑价造成的影响越大。我还见过几次这样的情形:很好的测试结果,滑价预计得比较低,但当前市场的流通性确实很好,滑价好像是合理的。但总觉得结果好得让人不敢轻易相信。仔细一想,发现了问题:这个市场只是最近这两年才热起来的,以前的日成交量很低,但测试结果是按照当前的日成交量来估算滑价的。如果按以前的日成交量来算滑价,系统的绩效就远不如第一次看到的那样好。但是起码这是合理的结果。在测试时坚持合理的假设,会减少在实际交易中出现的没有预想到的损失。另一个需要注意的情形是如果系统是一个突破型的系统,例如在股票突破五日最高点时买进,这时市场上可能有很多交易者都盯着那个点买入,在价格突破时会有很多人进场作多,这时即使是日成交量很大的股票都可能会出现大的滑价,在测试中这些都需要考虑进去。
三、检查测试结果是否具有统计意义上的可信度。如果统计意义上的可信度很低,别的指标不用看了。统计的指标有:
a.交易次数。至少要超过30,才能满足一般的统计要求。结果的不确定性是与交易次数(统计上的样本大小)的平方根成反比的。因此,系统交易的次数越多,这些交易所表现的系统绩效的确定程度就越高,也就是结果越可信。
b.系统的赢利是不是集中在少数几个交易上。如果一个系统的赢利有十万元,但其中的七万来自于某两次交易,那么应该把这两次交易去除看你能不能对系统的其他次交易的结果满意,因为很有可能你在实际交易中碰不到这种“满贯”型的交易。在Tradestation系统测试软件的系统分析报告中,除了“ 获利因子”(Profit Factor)外,还有一项“经调整的获利因子”(Adjusted Profit Factor),就是针对这种情况而设的。