多写代码,多看书,坚持虚心学习。

[转]主流量化策略回测平台的撮合机制是怎样的?是否有可能开发一个回测平台模拟真实市场撮合机制?

学习信息 博主 655℃ 0评论

不清楚开放性回测平台的成交撮合机制。

我个人对那些回测平台是不太信任的。所以,自己开发了几套回测平台。全部集中在国内的A股市场。

我写啰嗦点,也算是对自己这几年来在这方面工作的一个回顾吧。

第一个回测平台:

当年写这个平台的时候,规模在千万级别,持股数量在20到50的范围,等权重购买,所以,单一持仓金额大概在百万的水平。

由于规模不大,所以,回测时,最主要的考量,就是避免低级错误,比如,在一字板的涨停价格成交、当日模拟成交金额超过实际成交金额、调用未来数据等。

因此,当时的解决办法是,今日发出的买入信号,以次日的最高价作为买入价格,模拟成交额不超过当日实际成交金额的15%;卖出信号发出后,以次日的最低价格作为卖出价格,成交量同上。

排除一字板的情况下的任何交易,全部顺延到开板当日对交易方向最为不利的价格进行成交。一字板的判定 就很简单了, Open==Close & High==Low。

需要的数据为前复权的日线OHLC。

这个回测平台是我到现在为止最为喜欢的,一切底层逻辑不出错的策略,能够在这个平台下实现盈利的,那么,就值得用更深入的回测方式来抠出更多的利润和放更大的规模与杠杆。

第二个回测平台:

规模的量级和第一个平台一样,总量上大了一些,持股数量也大了一点。这个时期,杠杆的比例就比较大了,这个平台在这个时期的主要作用就是控制回撤和抠利润。

用到的是Level1的快照数据,带3档委托数据和1分钟的OHLC。

由于依然是盘后数据,所以,依然以信号发出后,第二日才进行交易。

以买入的回测为例,盘中以1分钟的OHLC作为计算数据,发出分钟级别的交易信号后,买入价格的跨度为卖一到卖5价,委托数量为交易信号当下卖1到卖3的总量(假设总量不超过个股允许的交易数量),发出委托单,延迟10秒,查看10秒后的Level1快照,计算这10秒内委托价格的变化和委托数量的变化,得到剩余的可成交的价格和数量。然后一笔全部扫完。未成交的部分,全部撤单,再重新根据上面的方法进行委托。

当需要交易的金额,超过这3档委托的总额时,残值部分进入循环,同样以1分钟的OHLC作为回测的信号发生器,发现一次机会,就进行一次委托。

一般,每日需要买入的股票,可以通过这样的方式成交的规模基本都在200w以上。

用这样的方式,可以降低平均买入价格,即不用以次日最高价作为买入价,同时也不用以最低价作为卖出价。这样的方式,一轮交易大概可以抠出2%到 3%的利润出来。然后在回撤方面,可以减少1%到1.5%。

而盘中,同样可以用这样的方式,对持有个股做T+0的交易,这时,在30个交易日的周期中,可以抠出3%以上的增量利润,并且在这个周期中,进一步降低2%到4%的回撤。

这样,就可以带着杠杆到处浪了。

第三个回测平台:

规模更大,持股数量不变,但是由于某些原因吧,市场活跃程度降低了,原本可以在一个交易日内实现的交易,这个时候,就需要2到5个交易日来进行。

用到的数据为Level2的tick数据,和Level1的快照数据带5档委托。

这个平台的作用,在于测试市场在某一时刻的深度,了解某一时刻如果用扫单成交的方式,造成的冲击成本。所以,就需要模拟还原市场的交易情况,受限于数据的精度,我谦虚点说,大概可以还原出80%以上。偶尔有些个交易日,只能做到40%到50%的真实度。

由于可以在一定程度上还原市场的深度情况,这时,匹配的策略就不再是之前的策略了,而是根据市场深度的变化来发出交易信号。也就到了这个时候,我的杠杆达到10倍。年度净值就不说了,最大回撤都控制在15%以下。

第四个回测平台:

规模更大了,想来,我还是不细说了,简直是屌中之屌。用来吹牛的话简直就是吹牛利器。

就说下拿这个平台干了件啥事吧。有个王八蛋瞎扯了一份净值数据,然后托某个关系户找到了我,让我根据净值的规模、回撤、收益的特点,生成对应的交割单,还带有仓位水平数据。

嗯嗯,我一个通宵搞定了这份2年周期的虚假交割单。精确到tick,也就是说,拿着这份单子,哪怕你去对当日对应的tick,你是不可能找不到任何漏洞的。

第五个回测平台:

做人太装逼,依然高杠杆,而且特么的是杠上杠,导致净值回撤太狠,差点爆仓后,痛定思痛,折腾出了这个东西。因为规模又大了不少,前面几个回测平台在这时就出现了一个非常严重的问题,就是冲击成本。市面上值得交易的标的,大概也就那么些,为了控制回撤,那么即使更加分散持股,但是更大的总体规模,落实到具体每一个股票的实时市场环境,依然会产生非常不靠谱的价格冲击。

所以,这个平台的主要解决的问题,就是计算出冲击成本,包括买入和卖出。

用到正途上,那么可以用来做更高级的算法交易,最大程度的减少乌龙指的影响,比如,我去年底还是今年初,有一次手痒,然后多敲了一个0。然后还能把信号发出后的交易所需时间缩短的情况下,控制住冲击成本,委托金额占当日总成交金额的比例更大……这货好处多多啊。

用在歪路上,那么可以估算出某一个股票如果要拉涨停需要多少的资金量,封一个板要多少的资金量。这样,就能通过更少的资金,来更大程度的影响市场。

当然了,我是老实人,只走大路。

 

综上啊,不是我看不起人,没点规模的人,直接用我第一个回测平台思路去自己写个回测平台得了。搞那么精确的回测用在那么几个小钱上,真不知道是回测平台的悲哀还是策略开发者的悲哀。

除了高频策略以外,剩下的策略,如果需要那么 高精度的回测去抠利润,才能产生合适的盈亏比、损益比,那么这个策略本身就是有问题的。

好的策略,必须具备非常好的容错性,就是意味着,哪怕有一定程度的失真数据,依然不应该产生较大的负面影响。

作者:枯禅
链接:https://www.zhihu.com/question/59134265/answer/162404628
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

转载请注明:量化交易 » [转]主流量化策略回测平台的撮合机制是怎样的?是否有可能开发一个回测平台模拟真实市场撮合机制?

喜欢 (0)
发表我的评论
取消评论

表情