滑点本质:什么是滑点?

做量化交易的朋友,应该都吃过滑点的亏。

我刚开始实盘的时候,就栽过跟头。策略回测年化30%,实盘一跑,直接缩水到15%。当时我百思不得其解,后来一查日志——好家伙,滑点吃掉了一大半利润。

说白了,滑点就是「你下单的价格」和「实际成交的价格」之间的差值。你挂单100块买入,结果成交在100.05,那0.05就是滑点。别小看这几分钱,高频交易里,滑点就是利润的隐形杀手。

滑点的数学定义:

S = P_executed - P_intended

其中,S为滑点,P_executed为实际成交价,P_intended为预期成交价。

对于买单,滑点通常为正(买贵了);对于卖单,滑点通常为负(卖便宜了)。

滑点的三个构成要素

滑点不是单一因素造成的。我习惯把它拆成三块来看:买卖价差、市场冲击、延迟成本。这三块加在一起,才是你实际付出的滑点。

1. 买卖价差(Bid-Ask Spread)

这是最直观的滑点来源。你打开订单簿,看到买一价和卖一价之间的差距,就是价差。

举个例子:

类型 价格 数量
卖一 100.05 1000股
买一 100.00 1000股

如果你市价买入,成交价就是100.05,比买一价高了0.05。这0.05就是价差成本。

我在做美股交易时遇到过,流动性差的股票,价差能到1%以上。你想想看,还没赚钱就先亏1%,这生意怎么做?

我的经验:流动性越好的品种,价差越小。比如沪深300成分股,价差通常只有1-2个tick。而一些小盘股,价差可能大到离谱。选品种时,先看价差,这是基本功。

2. 市场冲击(Market Impact)

市场冲击,说白了就是「你的订单本身影响了价格」。你买得越多,价格被推得越高;你卖得越多,价格被压得越低。

为什么会这样?

因为订单簿的深度是有限的。你吃掉卖一,还有卖二、卖三...每吃掉一层,价格就往上跳一档。这就是冲击成本。

我曾经做过一个实验:用100万资金去扫一个中等流动性的股票。结果刚吃到一半,价格已经跳了3个tick。后面的单子,全成交在更高的价位上。那次之后,我就再也不敢大单直接怼了。

注意:市场冲击和订单规模呈非线性关系。你下1000股和10000股,冲击成本不是10倍,可能是20倍。因为大单会吃掉更多档位的挂单,甚至引发其他交易者的跟风行为。

3. 延迟成本(Latency Cost)

延迟成本,是很多人容易忽略的。你下单的那一刻,到订单真正到达交易所,中间有时间差。这期间,价格可能已经变了。

我举个例子:

你看到买一价100.00,决定市价买入。你的订单从电脑发出,经过网络、券商服务器、交易所撮合引擎...整个过程大概需要10毫秒。就在这10毫秒里,有人抢先买走了卖一的单子。你的订单到达时,只能吃卖二的100.06了。

这0.06的差价,就是延迟成本。

我记得有一次做期货,网络突然卡顿了一下,延迟从5毫秒飙到了50毫秒。那天的滑点直接翻了三倍。嗯,从那以后,我就在服务器旁边放了个网络监控,随时盯着延迟。

延迟成本的构成:

  • 网络传输延迟:从你的机器到交易所服务器
  • 系统处理延迟:订单在交易系统内部的排队和处理时间
  • 撮合延迟:交易所撮合引擎的处理时间

滑点的综合公式

把三块加起来,滑点的完整公式就是:

S = Spread + Impact + Latency

其中:

  • Spread = 买卖价差的一半(因为你只吃一边)
  • Impact = 订单对价格的推动效应
  • Latency = 延迟期间的价格变动

这个公式看着简单,但实际计算时,每个部分都需要精细建模。我一般会在回测中分别统计这三块,看看哪个是主要矛盾。

知识体系结构图

下面这张图,是我自己梳理滑点知识时画的。它把滑点的本质、构成、以及它们之间的关系,一次性讲清楚了。

滑点本质与构成 滑点 S 买卖价差 Spread 市场冲击 Impact 延迟成本 Latency 买一卖一价差 订单簿深度 流动性水平 订单规模 订单簿斜率 跟风效应 网络延迟 系统处理延迟 撮合引擎延迟 滑点 = 价差 + 冲击 + 延迟 三者相互影响,共同决定最终滑点成本

避坑指南:我曾经犯过一个错误——只统计了价差,忽略了冲击和延迟。结果回测看起来很美,实盘一跑就露馅。后来我学乖了,回测时把三块都加上,至少留出0.1%的滑点余量。这样实盘才不会太难看。

好了,滑点的本质就讲到这里。记住三个关键词:价差、冲击、延迟。下次你看到滑点,就知道它从哪来的了。

专注资料整理