滑点本质:什么是滑点?

做外汇做市这么多年,我见过太多人一上来就问「怎么避免滑点」。其实这个问题本身就有点问题。滑点不是你能「避免」的,它是市场结构的一部分。你想想看,如果完全没有滑点,那流动性去哪了?

先给个最直白的定义:滑点,就是你预期成交的价格,和实际成交价格之间的差值。注意,这个差值可以是正的,也可以是负的。正向滑点你赚了,反向滑点你亏了。但大多数人只记得亏的时候。

核心观点:滑点不是bug,是feature。它是市场微观结构的直接反映。

滑点产生的三个根本原因

我习惯把滑点原因分成三类。这三类不是互斥的,很多时候是叠加的。嗯,咱们一个一个说。

1. 流动性缺口

说白了,就是市场上没有足够的对手盘来接你的单子。

举个例子。你在EUR/USD上挂了一个1.1050的买单,市价单冲进去。结果发现,1.1050这个价位上只有100万欧元的挂单,而你的单子是500万。那剩下的400万怎么办?系统只能去更差的价位吃单。1.1051、1.1052……直到把你的单子填满。

这个过程中产生的价差,就是流动性缺口导致的滑点。

我在项目中遇到过一个典型场景:非农数据公布前30秒,整个市场的流动性几乎被抽干。做市商集体缩窄挂单量,甚至直接撤单。这时候你冲进去,滑个5-10个点都是常事。

避坑指南:我曾经在数据行情前用市价单做对冲,结果滑了8个点。后来我学乖了——数据前30秒,要么用限价单,要么干脆不做。

2. 延迟

延迟这个东西,做市商最敏感。为什么?因为延迟直接决定了你能不能抢到好价格。

你的交易指令从客户端发出去,经过网络、服务器、撮合引擎,最后到达流动性提供商。这个过程中,每一毫秒的延迟都可能导致价格变化。尤其是在高频交易环境下,价格每秒变化几十次甚至上百次。

我举个例子你就明白了:

  • 你在T0时刻看到价格是1.1050
  • 你点击下单,指令发出
  • 指令到达交易所时已经是T0+50ms
  • 这50ms里,价格已经变成了1.1053
  • 你最终成交在1.1053,滑了3个点

这就是延迟导致的滑点。说白了,你看到的价格已经是过去时了。

注意:延迟不只是网络问题。交易系统的处理速度、API的响应时间、甚至你电脑的CPU性能,都会影响延迟。我见过有人用老旧的笔记本做高频交易,那滑点简直不忍直视。

3. 订单簿深度不足

这个和流动性缺口有点像,但侧重点不同。流动性缺口说的是「有没有对手盘」,订单簿深度说的是「对手盘能扛住多大的单子」。

你想想看,一个订单簿就像一摞盘子。浅的订单簿,你放一个大单子上去,直接砸穿好几层。深的订单簿,同样的单子可能只吃掉一层。

我习惯用「市场深度」这个概念来衡量。市场深度通常用「在最优买卖价上下N个tick内的总挂单量」来表示。

市场深度等级 典型特征 滑点风险
深度好 每个价位挂单量>500万 低(<1个点)
深度一般 每个价位挂单量100-500万 中等(1-3个点)
深度差 每个价位挂单量<100万 高(3个点以上)

这个表是我自己总结的,不同货币对的标准不一样。EUR/USD这种主流货币对,深度通常很好。但像USD/ZAR这种冷门货币对,深度差得离谱。

三个原因的关系

这三个原因不是孤立的。它们经常一起出现,互相放大。

举个例子:

  • 流动性缺口导致价格跳空
  • 跳空后订单簿深度进一步恶化
  • 你的指令因为延迟,正好撞在这个最差的时刻

三个因素叠加,滑点直接起飞。

我的经验:做市交易中,80%的滑点问题都可以归结为「在错误的时间,用错误的方式,下了错误的单子」。时间、方式、单子大小,这三个变量控制好了,滑点就能控住。

知识体系结构图

下面这张图是我自己画的,把滑点的本质和原因串起来了。你看一眼就明白了。

滑点本质与原因分析 滑点 定义 预期价 vs 实际价之差 原因一:流动性缺口 没有足够对手盘 大单吃穿多个价位 原因二:延迟 网络/系统处理耗时 看到的价格已过时 原因三:深度不足 订单簿浅 大单容易砸穿 三个原因叠加 → 滑点放大 流动性缺口 + 延迟 + 深度不足 = 最坏情况

这张图把滑点的定义、三个根本原因以及它们的叠加效应都画出来了。你仔细看看,其实每个原因背后都有对应的优化手段。后面几章我会一个一个拆开来讲。

一个小技巧:我平时做交易前,会先看一眼订单簿的深度。如果某个价位的挂单量突然变少,我就知道滑点风险上来了。这时候要么缩小单量,要么改用限价单。

好了,滑点的本质和原因就讲到这里。记住一句话:滑点不是敌人,它是市场的语言。你读懂了它,就能更好地控制它。


公众号:蓝海资料掘金营,微信deep3321