[附录一] 测试问题 (实际建议)
关于交易系统的测试规则,很多书籍都写到过,但它们基本上都适用于那些似乎能够赢利的交易系统。应当与以前的交易系统进行比较,是比前者好,还是比前者差。其实对初入市的交易员来说,最重要的是对交易系统是否能够哪怕是少量的赢利做出评估。我正是基于这样的考虑来谈论一些交易系统测试用的通用规则的。
当然,首先需要形成一套交易系统的工作规则。我认为,在交易系统与机械交易系统之间不存在任何差别。如果说规则的形成是非常精确到位的,这就可以称为机械交易系统; 如果规则本身并不严格,这就不叫什么交易系统。比如,以下规则写的就是机械交易系统:如果说我的右耳发痒,就买进;如果是左耳发痒,就卖出;如果两耳都不发痒,或都发痒, 那就什么也不要做。当然,并不是任何交易系统都能带来利润的,因此我要做的就是对交易系统能否带来利润做出评估。或许没有交易系统也能在FOREX 外汇市场进行成功操作,但是,如果是这样的话也就谈不上测试问题了,所以我不准备谈这些方案。
有一个知名度很高的规则,它的预期赢利应该至少超过止损订单的两倍。这种规则称为陆1 号规则。这是几乎所有有关外汇交易的书籍都会讲到的规则。这隐约指出,大多数交易(比如70% 的交易)有少量的亏损,而少数(比如30%) 交易有大赢利,而且赢利额要超过亏损额,从而使自己总体上赢利(上述百分比取自于许多书本的作者推荐的现实存在的交易系统) 。这种结果通常只有在顺势交易中才有,而且是刚一有趋势开始的信号就马上入市情况下的事。可是这种信号常常是虚假的,因此我们要设置相对数额不大的止损订单。如果信号是虚假的,我们就收到这不大的止损订单;如果趋势真的开始了,我们就长期进行顺势操作,从而可以获得很大的赢利。这种策略通常适用于我们在大趋势中赚取基本利润的条件下进行日K 线图或周K 线图操作(它本身就是为此而产生的) 。但是,现在的大多数交易是进行2-3 天的买卖,而且在短短的2-3 天内往往能成功地赚取很大的利润。在这种情况下的止损订单常常等于所获的利润,但成功交易的百分比不少于60% 。因此,我建议今后使用陆2 号规则,即使用交易系统进行成功交易的比例不能少于60% 的规则。这套规则正在日K线图操作的实际工作中得到越来越多的应用。那么,进行1 日以内的交易该怎么办?
进行分时K 线图操作时,止损订单很少有少于30 个点的,也就是说,按第一套规则的预期赢利应不低于90 个点。实际进行1 日以内交易时的预期赢利通常要少一半。如果按照第一种规则,那么在1 日以内,实际上无论如何没有机会建立头寸。怎么办?回答很简单,需要建立的是进行获利交易的数量要超过亏损交易的数量(比如30% 的亏损交易, 70% 的获利交易)的交易系统,也就是说使用胁2 号交易规则。在这种情况下,当止损订单等于预期赢利时,完全可以建立头寸,也只有这样,才能从总体上赢利。
太好了,我们已经确定了获利交易的最低百分比。可是,应该进行多少次交易才能确定这个百分比是安全可靠的呢?因为如果我们做了一次交易并且赢利了,这个获利百分比就是100%,但大家都懂得,这是不足为信的。通过统计表明,如果我们进行了25 次交易后来计算获利交易的百分比,那么得到的结果就有80% 的可信度。这就足够了,更何况任何数量的交易也不可能有100%的保障。因此,进行交易系统测试的第一个条件就是:我们应该考虑到使该交易系统进行不少于25 次交易,这样得出的获利交易百分比才让人相信。光有这个条件还不够。如果我们是在日K 线图上对交易系统进行测试,那么我们应该检测其在5 年以上时间段的表现。如果我们进行的是交易系统的分时K 线图测试,那么我们也应检测其1 年以上时间段,最好是2 年时间段上的表现。之所以提出这样的条件,是因为在较长的时间段内既有上升趋势,也有下降趋势,还有走廊( 当然是相应规模的走廊) ,如果在这些条件下交易系统都给出了好结果,才能真正在今后的实际工作中使用它,至少是用上一段时间。我再次指出,在进行测试时必须执行两个条件,而不是只执行其中某一个条件。
交易系统的完全测试是个长期和枯燥的过程,因此,这一过程要分几步并顺序实施。如果说某一步骤的测试结果不能令人满意,就没有意义完成后续的测试了。
第一步: 准确表述交易系统。没错,我是在重复,我是想以此强调这一步骤的重要性。交易系统中应输入4 条规则:
● 什么时候建立多头头寸;
● 什么时候结清多头头寸;
● 什么时候建立空头头寸;
● 什么时候结清空头头寸。
规则可简可繁,但任何时候它们都应是成文的,这样便于规则的严格表述。我们可以一个最简单的交易系统为例。它的规则是这样的:
● 当RSI 指数由下而上穿越超卖价位时,建立多头头寸;
● 当RSI 指数由上而下穿越超买价位,或止损订单生效时,结清多头头寸,止损订单设置于高出前一局部最高价5 个点的地方;
● 当RSI 指数由上而下穿越超买价位,或止损订单生效时,建立空头头寸;
● 当RSI 指数由下而上穿越超卖价位,或止损订单生效时结清空头头寸。止损订单设置于低于前一局部最低价5 个点的地方。
这一交易系统最终也没带来利润,但可以从中看出进行测试的几个基本步骤。
第二步:将所选货币前一年的K 线图装入交易系统(我们以测试交易系统1 日以内的交易为例,因此在大多数情况下对于开始测试来说, 1 年就足够了)。然后把将要在交易系统中使用的带有选定参数值的指数线画下来,合适的(不是最佳的)数值可从文献或论坛中得到。或许这些数值在今后的工作中不得不改变,但在初始阶段还是可以使用的。我们的交易系统中RSI 指数选的是7 ,超卖价位和超买价位的标准值选的分别是30 和70 ,系统测试的是2004 年1年的欧元分时K 线图。图1 显示的是2004 年年初欧元的分时K 线图的一部分和带相应参数的RSI 指数。当然,从该图中可以看到图像何时向上、何时向下,但这并不妨碍我们进行正常的测试工作。

第三步: 从数据的左侧开始寻找为之执行建立头寸条件的蜡烛图,确定一个点,确定止损订单并看)看自己有没有可能在止损订单生效之前元需亏损结清头寸。我认为只要建立头寸后的价格往所需方向走到个点,这种可能就是存在的。然后寻找下一支可以借以建立头寸的蜡烛。如此等等。
我们是从2004 年1 月5 日开始测试的。新一年中的开头几天最好不要参与交易,因为很可能面临意想不到的价格剧烈运动。图2 表示的是开头的5 笔交易。箭头所指指数为指数穿越支撑价位和阻力价位的点。价格图中的箭头所指为依据其开盘价完成买进或卖出操作的蜡烛。价格图上的水平线表示止损订单所设置的地方。不难看到,只有第2 笔交易是不亏损的。图3 显示的是第6 笔~第10 笔交易。其中的符号标记同图2 。从中可以看出,不亏损的交易有第7 、第8 和第9 笔。
第四步: 当建立(和结清) 10 个头寸后,可以做出初步总结。如果10 个头寸中哪怕有5 个可以不亏损结清,那就可以继续按现有规则进行测试,直至25 个头寸全部建立(和结清) ,如果1 年内的数据尚不足数,那就把时间段延长一些。如果可以不亏损结清的不足5 笔,那就需要变更规则,从第一步重新开始。在我的例子中,有可能变更的是RSI 参数或超买价位和超卖价位的数值。也可以在建立头寸的规则中增加对趋势的计算,比如,建立多头头寸的规则可以写成如下方式:
当RSI 指数由下而上穿越超卖价位,且RAVI 指数显示的趋势是上升时,建立多头头寸。
我们可以认为,由于交易系统某些规则的改变,10 笔交易中我们可以有7 笔是获利的。这时,我们可以检查整个25 笔交易的情况,并转入下一步。


第五步: 当25 笔交易都完成后,可以进行区间性总结。如果25 笔交易中哪怕有12 笔是无亏损结清的,就可以转入第六步。如果25 笔交易中亏损的多于13 笔,那就再回到第一步,更换规则重新开始。
第六步: 这一步应注意观察亏损的交易,并寻找可以对交易进行筛选的附加条件(这些条件叫做"过滤器") 。比如说,如果距最近的支撑价位少于30 个点时,我们就不建立空头头寸。请注意,这一步我们力求的不是增加赢利交易的数量,而是减少亏损交易的数量。增加任何过滤器后再回到第四步,重新开始系统测试。只要我们没有达到最低60% 的不亏损交易数,就要继续进行测试。这一步完毕后转入第七步。
第七步: 只有到了这一步,我们才算是进行了充分的测试。这意味着在至少1 年时间段的历史数据上(我提醒一下,作为例子,我们只对交易系统进行分时K 线图的历史数据测试)我们严格依据规则建立和结清头寸。在结清每一个头寸时,我们都要记录是赢或亏了几个点,是什么时候建立的头寸,什么时候结清的头寸,下的是什么样的止损订单。
第八步: 根据第七步所得的结果绘制收益率曲线,算出MIDD 和恢复系数。这些都做完后才可以认定该交易系统对我们是否适用。如果我们已经有了别的交易系统,那就应该做出比较,看哪套系统更好一些,但交易系统的具体比较还包括资本控制的规则。不过,这又是个大题目,留待我们以后再讲。
在对交易系统进行评估时,我建议应注意诸如连续亏损交易的最大数量等数值。您一定会同意这样的观点:如果25 笔交易中两套系统都给出10 笔亏损的结论,那么,我们最好要连续亏损不超过2 笔的系统,而不是连续5 笔亏损的系统。
如果您想同时进行若干货币对的交易,那么就应对每一货币对进行测试。尔后把所有的测试结果都汇总在一起,重新确定交易系统的性能。这时还应考虑到各种货币的不同权重(也就是说100个点的欧元不等于100个点的法郎) 。因此,每一货币对都要输入各自的参数。
我们测试的交易系统依据的是历史数据,因此会出现这样的问题:"好,用历史数据进行测试结果非常好,那么是否能够保障交易系统今后也能很好地工作?"回答也很简单:"没有这样的保障。"但是从另一方面讲,我们检测交易系统时选取了足够的时间跨度,这样的时间跨度内,市场上该有的都有了,上升趋势、下降趋势、走廊和各种各样的新闻。如果说交易系统在这种情况下能给出好结果,那么,今后的工作中它也应该给出好结果。当然,市场是在变化的,交易系统也需要不断调整,即便在这种情况下也需要依据历史数据对其进行调整。除此之外没有别的办法。
我们所推荐的交易系统测试办法的优势在于,还在早期阶段我们就可以淘汰大多数不成功的交易系统,因此可以节省大量的时间和精力,从而可以在短时间内对许多基于不同原理的交易系统进行检测。如果您所建立的大部分交易系统不成功,也不要因此而伤心。正如我读过的一本心理学著作所讲的,普通人和天才的区别不在于思维的质量,而在于思维的数量。我举例说明一下。假如,根据统计,人的头脑中冒出来的100万个念头中只有1 个是天才的。天才一生中产生的念头有1 创泊万之多,这样算来,其中的天才思想有10 个,而普通人一生中只能产生10 万个念头,按同样的计算方法,其中的天才思想一个也不会有。这就是说,只要他不偷懒,只要产生100万个主意,其中多半会有1 个天才的思想。这就是需要敢想敢于,努力发明出许多最为疯狂的交易系统的理由所在,很有可能这些系统中就有一个是最好的交易系统。