策略的量化过程
对收盘价的处理
对交易时间的处理
对仓位的处理
事后来看,如果我能预测到2016年5月31日!F1606会跌停,那我肯定就不会进场做多,但因为我不具备这样的能力,只能称这次跌停事件为“黑天鹅事件”。IF1606在剩余交易时间里的波动非常小。这不禁让我想到,如果在“黑天鹅事件”上无法赚钱的话,应该从哪里赚钱呢?我赚钱的方向在哪里呢?
后来,我花了很多时间来思考这个问题。
我给出的方向就是:大家可以去统计某些现象,以便能发掘出某些规律。你要总结出某些现象可能会发生的一个概率,然后针对这个概率去大量执行—不是凭人力去执行,而是让电脑去帮我们执行。
具体要怎么做呢?为了把这个问题讲清楚,我们可以利用市场存在的一个现象:大涨(跌)后次日容易出现震荡走势。也就是市场在每次大涨(跌)之后,在次日或者是接下来的几天里,行情得以延续的概率较低,反而容易出现震荡走势。具体来讲,我发现每一次指数涨(跌)到整数位时,就很容易跌(涨)回来(去)。什么意思呢?举个例子,如表2-1所示
假设目前指数在3000.4点,当它涨到3100点时,很容易又跌回到3000.6点;同理,当指数跌到了3000点后,很容易又反弹到3000.4点。其实,这就是大家所谓的支撑和阻力概念:指数碰到支撑就会弹起来;碰到阻力就会跌回来。根据这个现象,我制定了一个交易策略并把它编程,目的是当我休息或者是我不看盘时,该程序可以自动运行,帮我完成交易,这就是量化交易的实质。
表2-1 IF1606的成交价位
后来,我们对上述现象进行统计,发现其出现的概率特别高,并且适用于各个市场,尤其在市场大涨之后和市场没有效率的时候。至此,我们就可以把该现象当作一个规律来获利。
如果用该规律编程,我的策略如下:当看到3000点出现时,我就进场在3000点买入,成交之后,立刻在3000.4点挂卖出平仓单,希望能赚0.4个点(不考虑手续费和滑点);当看到3001点出现时,我就在3001点卖空,只要成交了,我就会挂单在 3000.6点平仓,希望能赚0.4个点(不考虑手续费和滑点)。
下面,我把该策略用可以编程的语言论述一下:
第一,对收盘价的处理。对收盘价取整数,然后以此为基础定义两个条件:一个条件是当指数的尾数为2和4时;另一个条件是当指数的尾数为6和8时。
第二,对交易时间的处理。假定自动交易时段介于9.30-11:28,如果时间超过11:28则全部清仓。
第三,对仓位的处理。分多单、空单和止损单的处理方式,使预期盈亏比为2:1。