Decode程序化交易滑点规避技巧

首先,我们来了解程序化交易中的滑点概念。在Decode的视角中,滑点指的是期望成交价与实际成交价之间的点差。可以给出一个滑点的计算公式:滑点=行情tick级别波动速度*网络延迟时间。

由于行情始终处于波动状态,因此行情本身并不是滑点的成因。而在历史回测与模拟盘中,因为没有网络延迟,所以不会出现滑点(此时行情仍在波动,但滑点不存在)。在模拟盘中,你可以为每一笔订单设置止盈止损,会发现每笔交易都能按预期价格触发止盈或止损。

根据上述公式,行情波动我们无法控制,但网络延迟却是可以优化的。要明确一点:你电脑上看到的行情属于重播而非直播,程序根据该行情下达的指令也需要一定传输时间才能生效。因此,行情波动速度快、网络延迟高都会放大滑点的影响,这对小周期交易级别甚至可能产生决定性影响。

Decode建议通过以下三种途径来减轻滑点的影响:

1、加大程序化交易的级别

在程序化交易中,大周期的交易级别其平均盈利点数和亏损点数通常大于小周期级别。假设大级别模型平均盈利50点、平均亏损30点,小级别模型平均盈利5点、平均亏损3点,在历史回测和模拟盘中两者都能稳定盈利,但实盘中的表现截然不同——前者的有效性远高于后者,因为滑点的量级与平均盈亏点数不在同一水平。

2、降低程序化交易过程中的网络延迟

采取一切可行的方式,寻找连接程序化交易服务器的最高效路径,以降低网络延迟。

3、规避特定的行情波动速度快的时间点

例如,有些交易者在非农数据公布前15分钟完全清仓,以此完全规避数据行情。行情波动速度无法改变,但可以主动避开。非农公布时间精确到秒,此时不持仓,滑点再大也与你无关。

综上,第2和第3种方法是通过调整公式中的两个乘数来降低或规避程序化交易中的滑点,而方法一并不直接降低滑点,而是让滑点的影响变得不再显著,从而不干扰收益率曲线。最后要说明的是,程序化交易中的滑点有时反而能增加收益,这取决于开单与平仓的方式。简单来说,如果你的开单方式逆tick级别之势,或平仓方式顺tick级别之势,那么滑点对你有利,此时网络延迟较大反而是好事。

比如回踩方式的下单以及固定点数的止盈,滑点都能成为助力。当你拥有两台以上交易主机时,需要对所有下单和平仓指令进行甄别:若滑点有利,则将指令放至慢速网络主机执行;若滑点不利,则将指令拆分至快速网络主机执行。