首先,简介一下这种工具的背景。这几款工具的目的都是生成交易策略,生成的过程都采纳了,或者基于遗传算法。遗传算法是一种快速搜索解向量的算法,可以看作遍历所有参数的效果。
先介绍SQ,这是我测试时间最长的一个工具。这个工具的思路非常明晰,就是将各种指标,比如均线,布林线,突破,以及各种逻辑关系,比如大于,小于,与或非等,看作一个个的语法元素,然后随机的组合这些语法元素,变成一个交易规则。
比如,假定有这么几个语法元素,MACD, 100, 10000, > , Vol, ClosePrice, if ,那可能组成一个
if(MACD(Vol,100) > Vol / 1000) then buy
类似这样的语句,然后,SQ可以读入历史数据,快速的根据这样的语句交易,作出交易是否可用的评价,如果不可用,那么继续遍历搜索其他的组合。
这个工具有试用版,免费试用两周,我在两周的时间内测试过一些品种,比如一些个股的K线,外汇的分钟线等。能生成一些“看上去不错的”交易策略。不过由于试用期到期了,我就没有继续研究下去。
然后介绍GXTools,这个工具并不是SQ那样专门作交易的建模工具,而是一个通用的,给予遗传算法的建模工具,因此,不仅支持时间序列的价格(方向)预测,还可以做分类,Regression之类的模式识别建模工作。我主要测试了他的时间序列建模功能。
这个工具会读入一组历史数据(一维向量),然后根据某些代价函数,生成一个模型,使得这个模型的输出,和这个历史数据比较匹配。这个模型同样,是基于一些基本语法元素随机生成的。但由于GXTools并非为股票专门设计的建模工具,所以这些语法元素并非均线,布林线这样的形势,而是与或非,基本计算,指数,三角函数等。
我考虑的一个使用模式是,每次需要交易股票的时候,都用这个工具建造一个模型,然后预测将来一段时间的走势是大于当前点,还是小于当前点,如果于当前持仓一致,就继续持有,否则反向交易。由于这个软件允许用脚本调用,所以这个模式大概是可用的。
这个软件有一个月的试用期。我在试用期内对某些股票能作出了不错的预测,但不知道是用的不正确,还是预处理之类的手工工作没做好,我测试的一组样本,预测正确的均值并不高。有兴趣的同学可以自己试测一下。
最后介绍一下TSL的工具,这个软件卖的非常贵,且没有试用版,所以我对他的认识都来自于别人的贴图或者仿真交易记录。首先,我了解到的是这个工具遍历搜索非常快,据说半个小时就可以搜索到非常好的策略。因此,我认为这个工具并非像SQ一样基于最基础的指标来进行遍历,很有基于某些默认的框架。其次,据说买TSL的授权时候,授权里面标明生成的交易策略不能卖给第三方,这个和SQ的授权是不一样的,SQ官方网站明确说明,可以任意处理自己生成的策略,比如销售,这大概说明,TSL生成的策略比较相似,互相会竞争市场容量。最重要的,据说TSL生成的算法性能非常之好,在FutureTruth的实盘排名中,一直排名靠前,而这个策略都是多年前生成的,之后没有改动过。
根据TSL的信息,完全都是道听途说,由于没有实际操作过,所以仅作参考。
与前面介绍的工具类似的还有很多,比如Active Traders, DeepThought。由于时间精力原因,以及有几款软件不向中国客户开放,所以没有继续测试。
关于一个问题,“遗传算法能否建立稳定可靠的交易策略”
这是一个OpenQuestion,目前我还没有很好的想法,由于遗传算法的解空间非常大,远超过了训练和测试数据的规模,所以检验算法的方法论是非常重要的。
|