第四节 交易系统的测试检验

第四节 交易系统的测试检验


就系统化交易而言,无论是使用自己设计的交易系统,还是使用别人设计的交易系统,或者花钱购买的交易系统,都必须进行测试检验。对于这一点,不少系统交易者并没有引起足够的重视,要么在测试检验过程中马马虎虎,得过且过,要么片面追求某一项数据指标,过度优化。更有甚者对交易系统不做测试,如果真的是这样,那么系统化交易的结果可想而知。

一、交易系统检测的目的

为什么要进行交易系统的测试检验?主要有以下两个目的。

其一,进行交易系统的测试检验,可以发现设计方案中的不足和缺陷,为改进交易系统提供条件。在测试检验的过程中,设计者还可以更加全面、系统地思考交易系统的相关问题。从某种意义上说,交易系统检测是连系"理想与现实"的纽带。根据交易系统的检测结果,设计者可以对自己的投资理念、交易原则、操作策略等方面作出更加深入细致的思考和总结,找出其中的不足之处和薄弱环节,有目的地加以改进。

其二,进行交易系统的测试检验,可以得到相关变量参数的统计数据,经过对比后,设计者可以选择相对合理的参数。这里提请大家注意,合适的参数值应该有一个表现较佳的区间,而不是某一个特定的参数值。在这个区间中,系统测试的各项数据基本都在一个范围之内,差距非常小。只要选择表现较好的区间里的任何一个参数值,都能够实现系统化交易的目标。

某个参数在交易系统的检测表现中有可能不是最佳的,也可能会弱于与它相邻的其他参数值,但是也属于较佳参数之一。因此,设计者往往都是记录参数的最优区间,而不是当前的最佳参数。当然,从普遍接受的观点来说,系统交易者并不追求交易系统的未来最佳表现,只要能够有比较好的表现,能够稳定盈利,就满足系统交易者的基本要求了。

二、交易系统检测的原则

1. 全面测试原则

在进行交易系统测试检验时,测试数据应该尽可能地全面,不同的市场状态(牛市、熊市)、不同的时间周期(日线、周线甚至月线)、不同的波动幅度(扩张型、收缩型)都要进行检测,只有这样才能了解交易系统的整体性能。

2. 接近实战原则

建立交易系统的目的就是为了更好地进行交易实战,因此交易系统的检测必须充分考虑现实市场投资环境中的操作条件,这个条件越接近交易实战的条件,检测结果越具有客观性和可靠性。比如,测试中发现一个交易系统在某一个时间周期的单笔交易收益率非常高,仔细核对后发现,这个交易系统只是在1997 年以前才会出现单笔交易收益率非常高的情况,而1997 年以后,单笔交易的收益率一直稳定在一个区间内,差别不大。出现这种情况的原因,是1996 年12 月26 日之前中国股市没有单日涨跌幅限制。如果用这个交易系统指导当前的操作,就无法重现以前的战绩,因为市场情况发生变化了,现在交易制度有了单日10% 的涨跌幅限制。除了操作大环境、交易条件要接近实战外,在检测过程中,还要扣除交易成本、实际交易的滑价(交易信号和实际成交价的价差),另外还要考虑资金量大小对交易结果的影响。

三、检测的统计学标准

1. 统计误差

统计标准差与统计样本数目间成反比关系,统计样本数目越大,则统计标准误差越小,检验结果可靠性越高。为了保证检验结果的最低可靠性, 一般要求统计样本数不小于30 。注意,这里所讲的统计样本不是指数据样本,而是指完成进出场完整周期的交易样本。如果一个交易系统平均每30 个数据样本可发生一次完整的交易周期,那么如果在周线数据上检验,检验窗口尺寸约为10~15年,即在大约10~15 年的数据样本中,可得到30 次左右的交易样本。如果在日线数据上进行检验,则检验窗口尺寸为3~5 年。因此,在交易系统的检验过程中,必须尽可能地减少统计误差。

2. 自由度

自由度是指统计学上对检验结果置信度的衡量尺度,为检验信号发生数目与交易规则数目之差。在检验信号发生数目不变的情况下,交易规则数目越多,则检验结果的置信度越低。自由度是对系统检验的一个重要概念,根据自由度的原理,可以得出一个重要的投资学理念:交易方法越简单,则交易结果越可靠。

系统交易者在对交易系统进行检验时,必须检查系统的自由度水平。在交易系统的设计过程中,设计者应当尽可能地减少所用变量的数目及对变量的限制条件。因为每增加一个变量或变量限定条件,在其他条件不变的情况下,系统检验的自由度就会相应降低,从而降低检验结果的置信度。

3. 稳定性

稳定性是指系统交易结果的一致性。系统交易结果的一致性越高,系统的稳定性越好,实际使用中的可靠性就越高。系统的稳定性可以由系统仿真的统计分布参数来确定,系统仿真结果的标准差越小,则系统的稳定性越高。

系统统计的稳定性同样提出了一个重要的投资学理念问题。有的交易者提出,应尽量追求每次盈利的幅度,即以个别交易的巨大盈利来补偿多次小额亏损交易的损失,这在交易系统中的衡量指标就是平均盈亏比率。也有一些交易者提出,应尽量追求盈利的频率,即以较多的盈利次数来补偿亏损交易的损失,这在交易系统中的衡量指标就是胜率。这两种投资理念各有自己杰出的投资家作为代表,并且都有极为成功的实例。单纯从统计学观点来看,后一派的交易方法具有更高的统计稳定性。

系统交易者在系统设计和检验之间,必须明确自己遵循哪一种投资理念。这两种投资理念由不同的追求目标出发,导致使用不同的交易规则、不同的风险控制技术以及不同的交易结果评价系统。

四、交易系统的检测内容

通过对交易系统历史数据的测试和分析,可以获得交易系统的收益率、亏损率、胜率、败率、平均盈利、平均亏损、最大盈利、最大亏损、连续盈利次数、连续亏损次数等数据,使交易者对自己的交易系统能够有清晰的认识。在一个相对较长的交易周期内,比如5 年、10 年甚至更长时间,如果数据中反映的总收益率为正值,或者平均盈利大于平均亏损,可以极大地提高交易者对自己交易系统的信心,从而更好地坚持交易系统。

系统交易者对统计数据进行量化检验时,重点应注意胜率、平均盈亏比、R乘数、数学期望值(盈利系数)。此外,还要认真分析以下几个方面的内容。

1. 净利

净利是指交易系统在一个相对长的交易周期内,扣除交易成本和交易亏损之后的净获利数额。净利是一个绝对额度概念,对不同交易系统、不同交易对象、不同仓位所获得的净利额度进行比较时,应遵循以下标准和原则。

(1) 统计周期不宜过短。不少交易者十分关注自己交易账户的利润,几乎每天都在看,有的交易者还一周做一次统计比较,也有每月、每季度、每半年做一次统计比较的。每年做统计比较的比较常见,比如去年赚了多少,今年一年亏了多少。但是统计比较自己5 年,甚至10 年收益状况的人并不多见。统计长期收益状况的交易者是有心人。从检验交易系统的角度来看,净利统计的周期越长,越能说明交易系统的优劣。没有30 次以上的交易,很难判断交易系统的好坏。

(2) 在统计周期内(比如说30 次以上交易),任何净利为负值的交易系统,都不是一个盈利的交易系统。一旦检验结果为负值,应立即停止使用该交易系统。系统交易者孜孜以求的是打造一个适合自己的赚钱的交易系统,一旦事与愿违,就要立即去改进自己的交易系统。由此可见,系统检验对系统交易者来说非常重要,而重中之重则是统计周期内的净利。

(3) 虽然净利为负意味着亏损,但是净利额并非越大越好。一般的系统交易者都希望自己的交易系统能带来一定的交易利润,当然是多多宜善。但是从交易系统角度而言,统计周期内的净利额并不是越大越好。这似乎有点难以理解。从交易系统的稳定性而言,应注意对净利来源进行分析,观察盈利交易与亏损交易的分布是否均匀。一般来说,如果净利来源集中于极少数的暴利交易,这说明交易系统可能不是一个稳定盈利的交易系统。进行系统交易不应追求小概率的暴利,而应该是长期、持续、稳定地获得合理的利润。比如某段时间有一只ST 股,连续拉出了17 个涨停板,这种情况毕竟只是股市中的一种小概率事件,一般人很难把握住。

2. 最大盈利交易和最大亏损交易

最大盈利交易和最大亏损交易,是指已完成交易样本中最大一次的盈利额和最大一次的亏损额。最大盈利与最大亏损、平均盈利和平均亏损进行比较后,可以给使用者提供重要的系统优劣信息。

(1) 如果最大盈利与平均盈利差距过大,则应视最大盈利额为偶然事件。如果最大盈利额占总盈利额的比重过大,则应怀疑系统的实际盈利能力和稳定性。也就是说,稳定的交易系统不应把获利的希望寄托在小概率的暴利交易上,毕竟小概率事件不是股市常态。

(2) 如果最大亏损与平均亏损之间差别过大,则应进一步检查系统的风险控制能力,以确保系统有足够的能力抵抗突发事件的影响。对系统交易者而言, 亏损都是根据交易系统事先设定的, 一般不应超出可控范围,也就是说到了止损位就立即砍仓,损失也就到此为止。

比如交易系统规定,每次交易的亏损不得超过总资金的2% ,同时每笔交易的止损位定在买人价下方5% ,那么这笔交易如果不成功(止损出局),对总资金的伤害最大也就是2% ,这个2% 也可以看作是平均亏损。如果交易记录中出现了大于2% 的亏损,有可能是突发事件引起的,比如"5.30" 暴跌引起的某些个股连续跌停,交易者想止损也出不了局,等有机会逃出来时,可能已在这只个股上亏损了30% 。如果这只个股的仓位占总资金的20% ,那么这只个股就会使总资金损失6% ,大大超过了2% 的平均亏损。

(3) 如果系统检测中同时存在单笔暴利和个别巨亏,可以扣除个别巨大盈利,同时保留个别巨大亏损,以观察在该种条件下系统是否仍然能够盈利。如果系统在重新设定的条件下仍能获利,则系统的信任度就大大提高;反之,如果系统在重新设定的条件下不能获利,则该交易系统就不是一个可信任的交易系统。

3. 最大连续盈利次数与最大连续亏损次数

大多系统交易者都有这样的体验,即按照交易系统的原则和信号进行买卖时,盈利与亏损有时出现集中现象。比如说,在某一个交易周期内,每次买入股票都能赚钱,一般不用止损(跌不到止损位就上涨),因此出现了连续盈利的情况;在另一个交易时段内,每次买入股票后都以止损出局,因此出现了连续亏损的情况。

都是按照交易系统操作的,为什么会出现上述两种截然不同的情况呢?这并不是交易系统存在问题,而是与操作的股票以及大盘环境有密切的关系。也就是说,系统交易者已经形成了自己的投资理念和操作规则,该交易系统与市场形态的适应性有时呈周期性的正相关性,有时却向负相关性变动,出现适应与不适应的周期性、波动,从而出现有时连续盈利,有时连续亏损的现象。

一个投资者如果没有自己的交易系统,其投资操作方法带有相当大的主观随意性,这时输赢基本上是一个随机事件。从统计学的观点来看,随机事件有时也出现集中现象,表现为有时赢多,有时输多的现象。当然,对该类投资者而言,只要交易次数足够多,最后一定是输的多。

最大连续盈利次数与最大连续亏损次数对有经验的系统操作者是极其重要的信息,它为系统操作者进行风险控制提供了重要的依据。例如,在系统样本值足够大的情况下,最大连续盈利次数为5 次,最大连续亏损次数为4 次。那么系统操作者在连续盈利达到4~5 次时,便应采取积极的防御态势,减少每次交易投入的资金额度,无论是开仓建仓,还是加仓加码,都采用保守策略,比如由总资金最大亏损2% 改为1% ,由5% 的初始止损改为3% ,这样就可以使总体仓位保持到一个较低的水平。同样,当系统连续亏损3~4 次,甚至5~6 次时,系统交易者不但不应对所使用的交易系统丧失信心,放弃使用该系统,相反应当更有信心,应当采取更积极的进攻态势,如逐步增加每次交易的资金投入量,甚至使用加倍技术,当然,其前提是交易原则和交易信号和以前一样。

在大盘和个股构筑底部时期,颈线位被有效突破前,行情多有反复,此时交易系统就有可能出现底部搜索信号发生失败的情形,甚至有可能连续出现亏损。尽管如此,系统交易者应该明白,如果按照该交易系统底部搜索信号的统计规则,配合相应的风险控制规则,最终亏损的可能性很小,甚至趋于零。这是因为交易系统给出的市场底部确认点与市场实际最低点相比,平均保持在相当接近的程度。由于交易系统执行的是百分之百客观的搜索识别过程,完全排除了市场心理因素和操作者心理因素的干扰,并且完全排除了各种市场信息噪音的干扰,其效果往往明显优于投资者主观识别。

由以上分析可以看出,检验交易系统在某个交易周期内的表现时,应重视最大连续盈利次数和最大连续亏损次数的统计信息。该统计信息配合相应的风险控制规则和策略,可以使交易者立于不败之地。该统计信息是系统交易方法以外的任何方法都无法得到的,这也是系统化交易的优势之一。

4. 盈利次数比率

系统交易者对自己的交易系统进行检验时,一定要有量化的概念和意识。对历史交易数据进行交易系统的量化检验时,盈利次数比率就是能够比较好地反映交易者水平高低的一个量化指标。

盈利次数比率,是指盈利交易(扣除交易成本之后)次数对总交易次数的比率。同理,亏损次数比率是指亏损交易(扣除交易成本之后)次数对总交易次数的比率。盈利次数比率是反映交易系统所依据的投资理念的主要指标,就是系统交易者常说的胜率(败率)、成功率和准确率。

5. 年化收益率

在交易系统的测试报告中,有年化收益率的数据,该数据是用测试周期的总收益率除以测试周期的年数换算成的年收益率,实际上是理论上的年平均收益率,并不一定是交易实战的年平均收益率。系统化交易盈利的多少和快慢,一般以年化收益率来作为衡量标准,年化收益率数值越高代表越成功。

那么,年化收益率与交易系统又有什么关系呢?一般而言,年化收益率与交易系统的平均盈亏比具有正相关性。也就是说,平均盈亏比比率越大,年化收益率就越高。但从长期角度来看,年化收益率很少有人能够超过50% 。股神巴菲特的年化收益率也不到30% ,但这并不影响他从股市获取巨额财富。

很多系统交易者没有认真统计过交易系统的年化收益率,或者没有对该数据引起足够的重视。事实上,它关系到投资者交易生涯结束时积累财富总值的大小,甚至是投资生涯的成功与否。比如,现在有10 万元本金,年化收益率能够达到25% 以上,那么10 年后将变成100 万元, 20 年后将增加到1000 万元, 30年后将拥有1 亿元, 40 年后就是10 亿元。一个年化收益率为2513毛的交易系统,就是一个每10 年增长10 倍的复利系统。同样是10 万元本金,当年化收益率达到35% 以上时, 10 年后将拥有200 万元, 20 年后将拥有4000 万元, 30 年后将拥有8 亿元, 40 年后将拥有160 亿元。一个年化收益率为35% 交易系统,就是一个每10 年增长20 倍的复利系统。

如果你的交易系统能够保持20%~30%左右的年化收益率,只要投资的时间足够长,你就有可能成为中国未来的巴菲特或索罗斯。

五、交易系统的检测报告

国内一般的行情软件中都有交易系统测试平台,笔者通过使用对比发现,大智慧行情软件的测试平台比较好用,测试结果比较全面。以大智慧行情软件V7.05 (免费版)为例,交易系统的检测报告主要由五部分组成:①交易系统测试报告,包括净利润、净利润率、亏损率、胜率、败率、平均盈利、平均亏损、最大盈利、最大亏损、连续盈利次数、连续亏损次数、盈利系数等数据,相当于交易系统的综合评估报告。②交易记录明细,可以帮助细心的系统研究者发现许多系统综合评估指标中看不到的问题,这些问题如不解决,可能会在长期使用中造成灾难性的后果。③交易信号分布图,可以观察和衡量交易系统的买卖信号是否均匀,系统是否稳定。④收益图表,可以了解交易系统的盈利情况。⑤参数指引,便于优化交易系统的相关变量参数值。

系统交易者都能深切体会到交易系统检验报告的重要性。由于人的视觉误差、记忆误差及心理误差,人们倾向于肯定自己事先已有倾向性的事物。因此对于大多数人来说,很难在评判某一事物的时候保持真正的公正性。

在交易方法的研究上,投资者也非常容易产生某种偏爱或倾向性。例如,有时投资者数次观察到某一技术指标的精确表现或某一价格模式的预测功能后,便会认定其有效性。但是有系统化交易经验的投资者都有这样的体会,很多时候用肉眼在电脑上观察到的某些成功率很高的公式指标,计算机检测结果却相差很大,甚至截然相反。只要计算机程序输入正确,计算机检验是最公正、最客观的。系统交易者必须重视交易系统检验报告,并认真分析总结,从中发现电脑的检测结果和设计者本身的预期有何差距,进而分析原因,找出解决和改进的办法,从而开发出更加优秀的交易系统。