交易系统的重要性就不用再啰嗦了,做股票这么多年见过、思考过、测试过数千种炒股思路技巧,几乎全部都不能长期实战使用。股票这行是最重实践的,来不得半点虚假。现把开发交易系统中遇到的有普遍意义的问题说一下:
一、未来函数。
未来函数的危害就不用再提了,是骗子和自欺欺人的家伙常用的伎俩,在自己使用和开发交易系统时要千万注意。这里说说隐性的使用未来的概念。先说说跨周期引用,比如:日线分析时引用了周线数据,这里由于本周没有结束,却引用了本周没有结束确定的周线数据,这样发出的信号就有可能在后来消失,从而错误的指导了交易,应当注意。也可以引用上一周已经确定不会变化的数据来避免,或者根本不用跨周期。也就是说可以使用已经定型的不变的未来函数或跨周期,但一定不能用正在变的。
二、涨跌停板。
涨跌停板是极端行情,涨跌停时交易几乎就无法进行。在系统测试时如果以收盘价来确定买入的话,遇到涨跌停板在现实中就根本无法买入,然而现有的分析测试软件却可以用涨停板价格买入的,这很不合理。比如:我前面的B交易系统在前期就忽略了这点,年平均收益居然达到397%交易325次/年,让我开心了好几天,后来在认真分析每一笔交易就发现了问题,去掉涨停后,收益降到年257%,还是开心,结果又发现只是去掉了涨跌停10%的,忘记去掉ST5%的涨跌停,全部去掉后就只能做到117%的年收益,这其实也是未来概念的一种,应当避免,这从另外一面也说明追涨停确实是收益提高最快的一种方法,前提是你要知道当天确实会涨停。
再就是我为了去掉ST,在代码中加入strfind(stkname,'ST',1)来发现和去掉ST,但是这只能发现去掉现在的st,在历史测试时还是会买到当时ST股后来改邪归正的,所以还要加入去掉历史上ST的代码。
网上看到有人用一字股代码来去掉不能买入的开盘就涨停的股票,其实也有问题,后面涨停你一样买不到。做交易系统一定要严谨。
三、买入价的判断
这很重要,日线测试买入时有个买入价选择,这里问题很多,对测试结果影响巨大。大智慧好像默认是用中间价买入,真是笑话,都快收盘来确定买入,你怎么买到当天的中间价,除非收盘就在中间价这里。长期计算出来收益差别巨大,应当用收盘价来确定买入,这样基本可以在收盘前5分钟分析和确定,当天行情都快走完了,价格和成交量等等基本定型,是可以分析而且可以买入的价格。很多用中间价买入测试大赚的系统改用收盘价就会出现大亏,一定要注意。
四,手续费。
手续费一定要设置并加入测试系统,对短线交易系统来说,手续费相当重要。是否加入手续费的短线交易系统结果是天差地别。当然一年交易个几次的完全可以忽略。
五,熊市判断
好的交易系统在熊市一定不能大亏,否则这个系统是有问题的,比如在2007年大赚5-6倍的好系统如果在2008年大亏个70-80%就不行,这个系统就要改进,最起码要加入大盘判断代码,那怕加入大盘判断后使得牛市收益降低也是值得的。
再就是一个好的系统不但要几年合起来测试,更要分年测试,并且记录下来认真分析,不要怕麻烦,好系统是要千锤百炼的。
六、电脑是白痴
做过软件开发的都知道,电脑除了计算速度快以外根本就是个白痴,你一定要把一切可能都考虑到并告诉电脑,它才能办好事情。你认为理所当然的电脑却不知道,代码少写一条,选股条件少一个都不会给你预想的结果。因此交易系统出来后一定要把测试结果每一个都核对检查一遍,不能偷懒(虽然很累,好几百上千个啊),你会发现很多问题的。这也是提高系统交易胜率的一个方法,通过检查还能发现更好的没有考虑到的改进方法。
七、多交易系统干扰
两个各100%收益的系统合起来使用是否能达到200%呢?答案是不会,因为系统之间会因为多选和持股时间等原因而互相干扰,比如我的A、B系统合起来只有130%左右的收益,根本做不到200%。ABC三个加起来更不好,只能比单独使用C系统强一点点,因此实战中各系统也有个先后优选问题。
八、实战干扰
实战干扰是影响巨大的,人性弱点很难克服,就算是严格执行也会与测评有差别(降低收益),因此全自动交易系统被提上日程安排,但因为电脑是白痴,人总有考虑不到的各种正常与非正常原因,初期的系统也只是发出提示信号,人为确定后才能交易,当然最终目的是电脑全自动交易。