金石期货

期货软件更多

 
期货网上交易终端
交易终端操作方便,界面清晰直观,并提供多种交易风格界面、可在交易中随时切换充分...详情>>

掌上交易更多

    掌上金石

  • 专业品质  改变您的投资环境

    金石视讯

  • 随时随地  享受专业视频服务

    期货研究

  • 优质资源  您的贴身理财顾问

首页>>特色服务>>程序化交易

交易系统评估的可信度检验

金石期货有限公司 www.jsfco.com时间: 2014-7-1

    2014-07-21 根据网络资料整编 程式化交易

        在评估一个系统的测试指标之前,先要检验测试结果的可信度。这就像我们在相信一个人说的话之前,先必须相信这个人。你可能找到一个交易系统,也可能是自己开发了一个交易系统,但是不论你对提供这个系统的人,包括你自己,有多少信任,你都要坚持先检验测试结果的可信度。如果因为盲目的相信或侥幸心理,跳过去这个过程,这无异于给你的资金安全埋下一个定时炸弹。
     
    交易系统测试结果的可信度评估主要有以下几个方面:
     
    一、这个系统是不是“黑盒子”?
     
        如果是,不论是什么理由,其结果都不可信。这虽然有些绝对,但侥幸心理是交易之大忌。这有点像在坐飞机时帮陌生人捎带东西一样:那东西打不开,但一定是炸弹吗?也不能下定论。如果你认为不能带陌生人的东西上飞机,你也不应该相信一个“黑盒子”系统。
     
    二、检验系统测试条件与实际交易的符合程度。
     
    如果不符,各种绩效指标就不用看了。一般来说至少要检查以下几点:
     
    1、测试数据是否涵盖了至少一个大的牛市和一个大的熊市,一般至少要十年以上。很多系统,测试指标很漂亮,可仔细一看,测试结果是基于指定的某段时间,对于大多数要卖钱的交易系统,这样做是不难理解的。一般来讲,测试涵盖的时间越长,测试的可信度越高。

    2、测试是否把交易佣金从赢利中扣除。否则,你可能在为证券公司打工。这一点对于交易频繁的系统尤其重要。

    3、测试是否把交易的滑价(slippage)从赢利中扣除。譬如测试的某个交易是在40元买入的,在实际交易中可能你买不到,你可能要花 40.10元,有的市场甚至可能要40.50元。这一毛或五毛的价差是不是刨去了?好的系统测试会根据被测市场的流通性假设一个合理的滑价。越是短线的交易系统,滑价造成的影响越大。我们经常看到很好的测试结果,滑价预计得比较低,但当前市场的流通性确实很好,滑价好像是合理的。但总觉得结果好得让人不敢轻易相信。仔细一想,发现了问题:这个市场只是最近这两年才热起来的,以前的日成交量很低,但测试结果是按照当前的日成交量来估算滑价的。如果按以前的日成交量来算滑价,系统的绩效就远不如第一次看到的那样好。但是起码这是合理的结果。在测试时坚持合理的假设,会减少在实际交易中出现的没有预想到的损失。另一个需要注意的情形是如果系统是一个突破型的系统,例如在股票突破五日最高点时买进,这时市场上可能有很多交易者都盯着那个点买入,在价格突破时会有很多人进场作多,这时即使是日成交量很大的股票都可能会出现大的滑价,在测试中这些都需要考虑进去。
     
    三、检查测试结果是否具有统计意义上的可信度。
     
    如果统计意义上的可信度很低,别的指标不用看了。统计的指标有:
     
    1、交易次数。至少要超过30,才能满足一般的统计要求。结果的不确定性是与交易次数(统计上的样本大小)的平方根成反比的。因此,系统交易的次数越多,这些交易所表现的系统绩效的确定程度就越高,也就是结果越可信。

    2、系统的赢利是不是集中在少数几个交易上。如果一个系统的赢利有十万元,但其中的七万来自于某两次交易,那么应该把这两次交易去除看你能不能对系统的其他次交易的结果满意,因为很有可能你在实际交易中碰不到这种“满贯”型的交易。
     
    四、系统是否被“过度优化”(Over-optimized)。
     
    可以看以下几点得到初步印象:
     
    1、看系统有几个优化参数。参数越多,“过度优化”的可能性越大。如果你手头有系统测试软件,你可以做个简单的试验:选一个股票或期货,用两个移动平均的交叉作买入和卖出的信号,然后对这两个移动平均的日数做优化(例如从10日到250日,5日一阶),很有可能在优化的结果中你能找到很不错的。如果再加一个参数,譬如说止损点或赢利靶点(Profit Target),那么今天你就可以找到不少诱人的系统。但是你会用这些系统去交易吗?

    2、看系统交易程式中是否有“魔术”数字。如果有,就要问为什么用这个特定的数字。譬如,程式中用了一个20天的移动平均,一般都会问为什么用20天而不是10天?如果是10天的移动平均会是什么结果?30天又是什么结果?

    3、看系统的交易策略是否简单。越是逻辑简单的系统,一般来说,越不容易被过度优化,也越能经得起时间的考验。海龟交易法则就是一个简单系统的典范。基于期货市场价格的季节性涨跌的系统也是很简单易懂的。很多人不相信大家都知道的交易策略能持久地赢利。这个问题的关键,是不能简单地以为知道了交易策略就万事大吉了。交易策略可以大家都一样,但每个人的交易计划,包括资金管理和交易管理,和每个人的性格与自律程度,以及对市场的了解,则千差万别。好比人人都知道怎样在墙上钉个钉子:买个锤子啊!听起来最简单不过了,三岁小儿都知道。为什么很多人还是敲不好呢?原因很多。可能买了个自己使不动的锤子(交易系统不符合个性),可能不知道有些墙是要先探到砖缝的才好敲的(对市场不了解,选错了市场或选错了时段),也可能是钉子敲得太少(缺乏经验,对市场没感觉),或者是用力过猛把钉子敲弯了(想一夜暴富,结果过度交易搞破产了),等等。总之,交易策略可以简单,但要指望通过交易达到稳定地赢利却不容易。

    4、回到“过度优化”的主题上,如果要做进一步的分析,我一般会看系统指标在不同参数下的分布。对于好的系统,这种分布的形状应该像小山包。假设系统只有一个参数,即某个移动平均的日数。而且,为简单起见,我们只看系统的总赢利。可以看到,虽然总赢利在参数为45时最优,但用其他值时的赢利也很不错。或者说这是个可以“稳定”赢利的系统。如果像悬崖,说明系统对于参数的变化太敏感,你就要小心了。
     
    五、看系统的交易策略是否有实际意义。
     
        也就是说,系统的交易逻辑必须能够被合理解释。好的交易系统捕捉市场的某些可量化的特性,如果系统的逻辑无法合理地解释成市场的某种特性,那么这个系统是不可信的。
     
        只有在通过了以上所述的可信度检验后,讨论系统测试的绩效指标才有意义。如果是自己进行交易系统的开发,在交易策略的选择,优化,和测试的过程中就必须把可信度的问题考虑在内。但交易系统的开发与测试有更多的内容和需要注意的地方,需要另一个专题来讨论。
     
        祝大家找到合意的交易方法并稳定赢利!