首先提一下程序化交易中的滑点都有哪些。其实在小编眼里程序化交易中的滑点就是:实际成交价格与你的期望价格之间的点差。
由此我们就可以给出一个滑点的计算公式:网络延迟时间*行情tick级别波动速度=滑点。
行情并不是产生滑点的原因,因为行情永远是波动的。而在模拟盘和历史回测中,由于网络没有任何延迟,滑点也就不会产生(但行情在这个时候依然会有波动,却不会产生滑点),在模拟盘中,如果对每一张单子都设定止损止盈,就不难发现,每笔交易中激发的止损或止盈都是100%按照你期望价格出现的。
首先,行情的波动,我们是无法改变的,但是我们却可以把控网络延迟时间。我们必须要清楚我们在电脑上看到的行情,并非直播而是重播,根据这一行情我们程序下发的指令,也是需要传递的时间才会生效的。所以会加大滑点的影响有网络延迟严重和行情波动速度大。对于这一影响,对小周期交易级别可能会产生颠覆性的结果。
在程序化交易的过程中,大周期的交易级别的平均盈利点数和亏损点数必然大于小的交易级别。如果一个小级别是平均盈利10点,平均亏损7点,而大级别的模型是平均盈利100点,平均亏损70点,在模拟盘和历史回测中,两者几乎没有区别,两种模型都可以稳定盈利,但是实盘中,就会截然不同,后者一定比前者相差很多,因为平均盈亏点数,和滑点的尺度,根本不是一个量级。
想尽所有办法,寻找最快的途径连接程序化交易服务器,降低网络延迟。
比如针对非农,就可以采取完全规避的做法,全部清仓的时间保持在数据公布15分钟前。你是无法左右行情的波动速度的,但是想要躲避开还是很好做到的,对于精确到秒的非农公布时间,这个时间我们不持仓,就算再大滑点的,也根本影响不到我们。
根据上述内容,对计算公式两个乘数进行调整而降低或者规避程序化交易中的滑点是第二和第三点,而第一点,只是使得降低滑点的影响效果而不是降低滑点,我们的收益率曲线率根本不会受到影响。程序化交易中的滑点有的时候还可以增加你的收益,这需要我们队开单和平仓的方式有一个更好的理解,总而言之,如果我们用的是逆tick级别的势的开单方式,那滑点对我们是有好处的,如果我们用的是顺tick级别的势的平仓方式,滑点对我们也有好处,此时,网络延迟较大对我们来说,倒是一件好事!
比如靠回踩方式去下单,还有靠固定点数的止盈,我们和滑点都可以成为朋友。当我们有两个以上的交易主机的时候,就需要去甄别所有的下单和平仓,如果滑点对我们有利,则用慢速网络主机去操作这些指令,如果滑点对我们不利,则要将这些指令拆分到快速网络主机去操作。
FeiyangEA开单方面,回踩方式达到六成以上,所以最好用国内慢速网络主机去开单,而对于平仓方面,都是滑点对程序化交易中不利的方向,所以目前都是由美国快速网络VPS负责平仓操作。这些改进,使得同期历史回测不如实盘的成绩,从而确保了,实盘与回测一致的高度,这个前提是程序化交易中最为重要的,否则根本无法做出交易模型的编制和优化。
转载自 程序化交易与量化投资