滑点本质:什么是滑点?
做外汇做市这么多年,我见过太多人一上来就问「怎么避免滑点」。其实这个问题本身就有点问题。滑点不是你能「避免」的,它是市场结构的一部分。你想想看,如果完全没有滑点,那流动性去哪了?
先给个最直白的定义:滑点,就是你预期成交的价格,和实际成交价格之间的差值。注意,这个差值可以是正的,也可以是负的。正向滑点你赚了,反向滑点你亏了。但大多数人只记得亏的时候。
核心观点:滑点不是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%的滑点问题都可以归结为「在错误的时间,用错误的方式,下了错误的单子」。时间、方式、单子大小,这三个变量控制好了,滑点就能控住。
知识体系结构图
下面这张图是我自己画的,把滑点的本质和原因串起来了。你看一眼就明白了。
这张图把滑点的定义、三个根本原因以及它们的叠加效应都画出来了。你仔细看看,其实每个原因背后都有对应的优化手段。后面几章我会一个一个拆开来讲。
一个小技巧:我平时做交易前,会先看一眼订单簿的深度。如果某个价位的挂单量突然变少,我就知道滑点风险上来了。这时候要么缩小单量,要么改用限价单。
好了,滑点的本质和原因就讲到这里。记住一句话:滑点不是敌人,它是市场的语言。你读懂了它,就能更好地控制它。
公众号:蓝海资料掘金营,微信deep3321