1.1 股指日内策略
在2012-2015年,最受欢迎的期货量化策略是股指日内策略。国内有很多期货程序化交易平台,如TB开拓者、金字塔交易系统等,很多本土的量化交易团队都会使用这些平台。这些平台的优点主要是回测、优化、模拟、交易都是同一个程序,不需要修改,而且平台会自动维护数据库,另外只需要支付很低的费用(如金字塔当时是1800元/年)就可以实现自动交易。以至于很多初创公司都会使用这类平台。
1.1.1 日内策略简单介绍
这类平台的期货历史数据主要是连续合约和指数合约。所谓连续合约,比如螺纹钢现在成交量最大的是rb1305,那么连续合约对应的数据就是rb1305的数据,如果过了一段时间螺纹钢成交量切换到rb1310,那么连续合约的数据就是rb1310。所谓指数合约,指的是该品种上市的所有合约的加权合约。因此,实际上并不存在指数合约这个交易标的。之所以使用指数合约,是因为商品策略一般是隔夜策略,而连续合约在换月上会有较大跳空,回测的时候不准确,因此使用指数合约可以缓解跳空带来的影响。
我们可以看一个连续合约跳空的例子,如图1-1所示。
图1-1 螺纹钢连续合约
图1-1中价格曲线的两个圆圈表示合约换月的日子,可以看到合约价格有较大的跳空。如果回测的时候没有注意到,就很可能捕捉到这个虚假盈利。如果要更精确地进行回测,则需要在换月之前平仓。第三方平台要将此写入程序里,不是那么的方便,如果用R语言等更通用的统计分析语言则方便得多。
有些人可能会问,现在很多微信号和淘宝店铺都有销售基于第三方平台的程序化交易策略,售价几十元到几百元不等,资金曲线也挺好看,既然如此,为何还要使用这么复杂的基于机器学习的量化交易呢?
事实上,很多上述策略设置了极低的手续费,比如万分之一,而且没有设置滑点,只能用最新价交易,这对商品来说每交易一次其实还能获得不少便宜。另外它们使用的是指数合约,对跳空没做专门处理,很可能策略捕捉的是不存在的行情。
正是因为使用第三方平台写隔夜策略有这些麻烦,所以很多人喜欢做日内策略。日内策略由于强制性日内平仓,因此就不会有赚取换月虚假跳空获利的情况。然而,国内上市期货品种虽然大约有50个,但绝大多数不适合日内策略。日内平仓可以看作一种风险控制手段,规避了隔夜的风险,放弃了潜在的利润,也避免了潜在的损失。然而,要规避这种风险是需要付出代价的。每天的平仓操作就是代价:一来需要支付手续费;二来需要牺牲滑点。因为平仓操作是必须成交的,所以一般会主动成交。
说到成交方式,一般有两种:一种称为被动成交;另一种称为主动成交。一般来说,如果需要立即成交,则会采取主动成交的方式,比如市价成交,或者加入很大滑点的限价成交。对于被动成交,则一般都是限价成交,比如说要买入,一般是当前的买1价,也可以是比买1价低的价。对于流动性比较差的品种,买卖价差非常大,被动成交可能是买1与卖1之间的某个价位挂单。
如果是第三方平台的程序化交易,一般都是趋势型策略,不会涉及频繁的挂撤单操作,因此基本可以假设是市价成交。对于上海期货交易所这种没有市价指令的交易所,一般是加了3个价位的限价指令,它的目的是立即成交。
好了,下面我们更仔细地介绍股指日内策略。
1.1.2 曾经辉煌
前面说过第三方平台非常适合股指日内策略。由于程序化交易、私募基金等是在2012年开始大规模兴起的,所以当时规模都还很小,几百万到几千万的水平,而股指日内策略的容量一般也是这么大。一个比较好的股指日内策略其实交易频率并不高,一般1周1次,即5天1次,如果一个团队储备了50个比较好的策略,那么平均下来每天有10个策略触发,可以做10手。当时股指合约的价值为50~100万元,因此,10个策略对应的容量是几千万元。日内策略的收益回撤比较隔夜策略好,如果每个策略的收益/最大回撤有1~2倍,50个策略合起来应该可以达到3~5倍,这已经是非常好的策略组合了。
如图1-2所示,这是一个股指日内策略组合的效果图。
图1-2 股指日内策略组合
这是5个策略的组合,每个策略配50万元资金,初始资金250万元,总收益66.83%,最大回撤5.38%,收益回撤比超过10倍。由此可以看出,策略在2013年8—12月持续振荡,因为在经历大跌之后的那个时期股指每天均窄幅波动,真正获利多的是2014年年底开始的大牛市,一直持续了很长时间。一般股指日内策略回测标准是最新价加合约价值万分之三的成本。
2015年8月开始股指实盘,其中2015年10月之后持续稳定,实盘结果如图1-3所示。
图1-3 股指日内策略实盘交易
2015年10月—2016年3月:夏普比3倍,累计收益/最大回撤5.68倍。应该说这段时间的股指日内表现都还是很不错,主要原因是在股指受到限制后很多厉害的量化团队放弃了这块业务,因此市场有效性降低,盈利变得更加容易。
1.1.3 近期发展
然而,2015年8月,证监会已经对股指进行了开仓限制,每天只能开仓10手,之后买卖价差变大,流动性变低,使股指日内策略的盈利难度变大。其实2015年8月—2016年3月还是可以的,毕竟当时的波动还很大,基本上还可以每个月都能盈利,但2016年1月经历了熔断,之后波动开始下降,2016年3月之后股指日内盈利就比较困难了,于是很多人采取了折中的办法,比如日内收盘不再硬性平仓,毕竟日内的波动已经无法覆盖平仓的成本了。
2015年8月之后日内平仓手续费增加了100倍,要规避这个限制,只能采取锁仓的方式。国内的交易方式跟国外不大一样,国内有“开仓”“平仓”的概念。比如现在没有仓位的话,买入操作其实是买入开仓,给交易所增加新的持仓量;如果现在已经有了仓位,比如现在是空仓,那么可以选择买入平仓,相当于为交易所减少当前的持仓量。然而,即使现在已经有了空仓,也可以选择买入开仓,这样就规避了日内平仓高额的手续费,只需要在第二天再买入平仓和卖出平仓,即可平掉仓位,实现日内交易。
一开始交易所对保证金的措施是“单向较大金额”,即买入开仓和卖出开仓都要占用保证金,但只收取更大的那一边。后来交易所为了抑制日内交易,取消了这一规定,而且把保证金调整至40%,双向就是80%,几乎没有杠杆了,这进一步降低了日内交易的吸引力。
2017年开始了大盘股的牛市,俗称“漂亮50”和“悲惨3000”,或者说一九行情。即大盘股开启了持续上涨的趋势行情,这也给股指日内交易提供了机会。很多在2016年长期不盈利的策略在2017年也开始盈利。随着股指限制从10手到20手,保证金比例也相应下调,相信未来会越来越好。