程序化交易新手常犯的错误有4项,分别是把程序化交易当作成功交易的绝对法宝、把历史数据测试结果等同于实际交易结果、把股票指数当作实际交易标的、把极端适应优化结果当成普遍适用的,如图1.6所示。
图1.6 程序化交易新手常犯的错误
很多普通投资者认为,只要有了一套期望收益值为正的程序化交易系统,就可以在投资市场上战无不胜,大把银子就能唾手可得了,这实在是一种很天真的想法。投资者一定要明白,成功的投资交易由多个环节紧密相连,环环相扣,缺一不可,绝不是一组公式、几台计算机和几套系统就能完全做到的。如果一套程序化交易系统就能够战胜一切,那编程高手岂不是可以笑傲古今期史了?记得有位网友说过:“失败的投资者所缺乏的难道就是能赚钱的系统吗?君不见,均线、海龟遍地有,以此暴富有几人?”
历史数据测试是系统交易者常用的系统检验方法,投资者在使用时必须明白,很多历史数据测试结果只是理想化状态下的交易结果,绝不能等同于实际交易的结果。下面举一个简单的例子来说明:投资者的系统单笔最大开仓手数是1000手,试想这样的单笔交易量在目前的期货主力合约上能一次性成交吗?不能成交的情况如何统计?无论是选择追价全部成交,还是选择不成交,都有可能使最终的交易结果截然不同,系统交易者显然没有考虑这种很常见的情况。
我们知道,上证指数代表的是上海股市的走势,是上海证券交易所上市的所有股票的加权平均结果。从计算方法可以知道,其本身已经经过了多次平滑,所以其波动特征和一般股票或商品价格的波动特征具有根本的不同。这一点通过上证300指数和已经上市的上证300股指期货的日内走势对比就可以一目了然。正因为指数本身已经经过了多次平滑,所以可以推断,使用一个简单的均线或平滑性的程序化交易系统交易上证指数肯定能取得优异的交易结果,但实际上我们都明白,这样的交易标的在现实市场中是不存在的。
很多投资者的“系统”之所以能在上证指数上取得这种令巴菲特、索罗斯等世界级投资者大师都汗颜的骄人结果,无非是将该“系统”针对上证指数进行了极度的适应性优化。例如,有一个简单的程序化交易:1800点以下做多,6000点以上做空。这个系统用在上证指数上,20年来的收益率超过100倍,显然是很有效的。但我们试想,将这个系统应用在上证指数之外的市场上是否可以盈利呢?真正有效的系统需要在不同市场、不同交易品种上反复验证。