如何规避程序化交易中滑点的影响?

2016-06-16 23:09:25    来源:量化基地    作者:
首先说说什么是程序化交易中的滑点。我眼中程序化交易中的滑点就是,你的期望价格与实际成交价格之间的点差。可以给出一个滑点的计算公式:滑点=行情tick级别波动速度*网络延迟时间。
 
由于行情永远是波动的,所以行情并不是产生滑点的原因。而在历史回测和模拟盘中,由于没有任何网络延迟时间,所以就不会产生滑点(但此时行情波动依然,但是没有滑点),你可以在模拟盘中,对每一张单子设定止盈止损,你会发现,每笔都是按照你期望的价格激发止盈或者止损的。
 
按照上述计算公式,行情的波动,你是无法左右的,但是网络延迟时间,却是你可以把控的。一定要清楚,你在你电脑上看到的行情,是重播而不是直播,而程序根据这一行情下发的指令,中间也需要传递的时间,才能生效。所以行情波动速度大以及网络延迟严重,会加大滑点的影响。而这一影响,其实对小周期交易级别甚至会产生颠覆性的结果。
 
规避滑点的影响,可以采取以下三条道路:
 
1、加大程序化交易的级别
 
在程序化交易的过程中,大周期的交易级别,其平均盈利点数和亏损点数必然大于小的交易级别。如果一个大级别的模型是平均盈利50点,平均亏损30点,而小级别是平均盈利5点,平均亏损3点,在历史回测和模拟盘中,两者看不出什么大的区别,都是可以取得稳定盈利的模型,但是实盘中,就会截然不同,前者一定比后者有效的多,因为滑点的尺度,和平均盈亏点数,不在一个数量级。
 
2、降低程序化交易过程中的网络延迟
 
采取一切办法,寻找连接你程序化交易服务器最快的途径,降低网络延时。
 
3、规避特定的行情波动速度快的时间点
 
比如有的人对非农,采取完全规避的做法,数据公布前15分钟全部清仓。行情的波动速度,你是无法左右的,但是惹不起可以躲得起,非农公布时间,精确到秒,此时不持仓,那滑点再大,对你也毫无影响。
 
综上,2和3是对计算公式两个乘数进行调整而降低或者规避程序化交易中的滑点,而方法一,其实并不降低滑点,只是使得降低滑点的影响效果,使其不影响你的收益率曲线。最后说一点,程序化交易中的滑点有的时候还可以增加你的收益,这需要你去理解你开单和平仓的方式,一句话,如果你开单方式是逆tick级别的势,那滑点对你有利,如果你平仓方式是顺tick级别的势,滑点也对你有利,此时,你的网络延迟较大,其实是好事!
 
比如回踩方式的下单,还有固定点数的止盈,滑点都是你的朋友。当你有两个以上的交易主机的时候,就需要对所有的下单和平仓进行甄别,如果滑点对你有利,则这些指令放到慢速网络主机上去操作,如果滑点对你不利,则要将这些指令拆分到快速网络主机去操作。
本文标签: