13:15:08,上海。一家私募基金的执行交易员收到指令:在今天收盘前清仓 5,000 万元的沪深300 中盘成分股 ETF——招商银行 300ETF 增强(一只跟踪沪深300 的策略 ETF)。她打开盘口:买一 1.218 / 卖一 1.219,盘口报价价差只有 1 tick,看上去「很有流动性」。但她真正要算的不是价差,是另一个问题:把 5,000 万元的卖单整笔砸进去,订单簿能不能吃下?吃完之后市场会反弹回原价,还是永远低半个 tick?答案藏在两个量里——深度(depth,订单簿现在的承接能力)和冲击(impact,订单本身改变价格的程度)。
上一节我们把买卖价差拆成三种经济成本——订单处理、存货、逆向选择。这一节回答下一个量级的问题:当你的单子超过最优档的承接能力时,会发生什么?把「这只标的有没有流动性」从感觉转化成可计算的数字。
1. 流动性的三个维度
「流动性」不是一个数字,是三件相互独立的事。SSE 招商银行 300ETF 增强可能在第一个维度上表现极佳,在第三个维度上一塌糊涂。一定要把它们拆开看:
- 紧度(tightness):盘口报价价差 。这是单笔小订单跨过买卖价差的成本。上一节的全部内容都在度量这个维度。经验代理量:日均盘口报价价差 / 日均中间价(单位 bp)。
- 深度(depth):在最优档及附近的 N 档上挂着多少量。深度告诉你「不移动价格的前提下,你能成交多少」。经验代理量:买卖五档总量、中间价 ± 10 bp 内的累计量。
- 韧性(resilience):被市价单吃光一档后,订单簿多久能补回去?韧性高的标的,吃一档后 1 秒内有新挂单填回;韧性低的标的,吃一档后市场要 30 秒-数分钟才能恢复深度。经验代理量:消耗最优档后到该档恢复一半深度的时间间隔。
一只 ETF 可能:紧度极好(1 tick 价差)、深度中等(最优档 30 万股)、韧性极好(被吃光 50 毫秒后就被做市商补回);一只小盘股可能:紧度差(5 tick)、深度低(最优档 1,000 股)、韧性也差(吃光后 2 分钟没人补)。同一个「成交 5,000 万」的指令,在两只标的上面对的成本完全不同。
2. 走盘口:滑点的逐档计算
回到那位交易员。她的 5,000 万指令对应的标的 ETF 单价 1.219,所以名义上要卖 5,000万 / 1.219 ≈ 41,000,000 股——这个数字对一只中盘 ETF 来说远超最优档深度。她先看一下当前买方深度:
买一 1.218 × 3,800,000 (3.8M)
买二 1.217 × 6,500,000
买三 1.216 × 9,000,000
买四 1.215 × 12,000,000
买五 1.214 × 15,000,000
深度合计买五档以上 = 46.3M 股
「滑点」(slippage)的定义:成交价相对到达时刻中间价的偏差。中间价 。假设她一次性发 1,000 万股市价卖单(约 1,220 万元名义,远小于深度合计 46.3M),逐档成交过程:
- 买一 3.8M @ 1.218
- 买二 5.0M @ 1.217(吃光买二的 5.0M,剩余 1.5M 未消耗)
- 总成交 8.8M = 3.8M + 5.0M ❌——不对,待卖 10M,所以继续到买二的全部 6.5M,再到买三的 0.5M。重算:3.8M + 6.5M = 10.3M ✗ 仍超。
- 实际:买一 3.8M @ 1.218,买二 6.5M @ 1.217(吃光),余 10M - 3.8M - 6.5M = -0.3M ⇒ 不需吃买三。
- 修正:3.8M (买一) + 6.2M (买二的前 6.2M) = 10.0M ✓
VWAP 执行价:
滑点(卖方角度,越低越差):
深度消耗率:吃光买一(3.8M)+ 部分买二(6.2M / 6.5M = 95.4%),相当于把订单簿前两档的「皮肉」啃掉。这是单次执行后剩下的事情:买一变成 1.217 ×(6.5 - 6.2 = 0.3M),市场看到深度被消耗,做市商和挂限价单的参与者会立刻重新评估。
3. 平方根冲击:把订单规模转换成 bp
走盘口能告诉你这一笔的精确滑点。但策略层面经常面对的是另一个问题:「这个名字上我可以一天交易多大单不显著抬价?」业内的经验法则是平方根冲击模型(square-root impact rule):
各符号:
- :相对到达时刻中间价的执行成本,单位 bp(1 bp = 0.01%)。
- :经验常数,跨标的、跨市场拟合得到。境内 A 股的标定值通常落在 ,美股 。本节计算用 。
- :标的的日收益率波动率(年化波动率 / ),以小数形式(不是 bp)。
- :父订单规模,以股数或名义价计。
- :日均成交量(ADV,average daily volume),与 同单位。
这个公式不是从一阶原理推出来的,是从大量执行数据拟合出来的。它告诉你的不是某一笔订单的精确滑点,而是「订单占 ADV 一定比例时的期望冲击」量级。
工作例子。招商银行 300ETF 增强(沪深300 中盘策略 ETF):
- ADV: ≈ ¥3B = ¥3,000,000,000
- 日波动率:(A 股大盘 ETF 年化 24% ⇒ 日 1.5%)
- 父订单: = ¥5,000万 = ¥50,000,000
订单占 ADV:。
代入:
单位:上式中 是小数,所以输出也是小数 = 9.7 bp。
把这个数和上一节走盘口算出来的 9.2 bp 对比——量级一致。这是平方根公式作为「热身估算」的价值:在做单子之前,30 秒就能算出量级,决定要不要切片、要不要拖时间。
4. 临时冲击 vs 永久冲击
冲击有两段。一笔大单成交后第二天再看价格:有的回弹了(市场吸收了流动性,但没相信你的方向),有的没回弹(市场相信你的卖出反映了真实价值)。区别如下:
| 维度 | 临时冲击(temporary) | 永久冲击(permanent) |
|---|---|---|
| 定义 | 成交瞬间的偏移,几分钟到几小时内回归原均衡价 | 永久改变市场对真实价值的估计,不回归 |
| 经济含义 | 流动性 / 库存补偿;你付钱让做市商接你的单 | 信息泄露;市场把你的成交解读为有信息含量 |
| 谁付钱 | 主动跨价差的一方付给做市商;可回收一部分通过被动挂单 | 整体市场重新定价;卖出后真实价格永久下移 |
| 经验特征 | 大单后 30 分钟内的价格反弹 = 临时部分的镜像 | 大单后第二天开盘价 vs 前日 VWAP 的差异 = 永久部分 |
| 实务策略 | 切片、TWAP、被动挂单可压缩临时成本 | 永久成本只能通过隐藏意图(暗池、冰山)减少 |
一笔 5,000 万的 300ETF 卖单的典型分布:总冲击 9 bp 里大约 6 bp 是临时(盘后 30 分钟内回归),3 bp 是永久(次日开盘价偏低)。这个比例对单只股票(信息不对称大)会偏向更高的永久占比。
A 股有一个独特的永久冲击「天花板」叫涨跌停(limit-up / limit-down):主板 ±10%、科创板 / 创业板 ±20%、ST 股 ±5%。当价格接近涨跌停板,需求侧(涨停)或供给侧(跌停)一侧的深度会瞬间消失——所有买单挂涨停价等不到成交(涨停),所有卖单挂跌停价吃不到(跌停)。这是一种二元流动性事件:要么你能成交,要么冲击成本变成无穷大。详细机制在第 5 节讲。另一个 A 股专属变量是融资融券(margin financing and securities lending):只有「标的证券」名单内的股票才能融券做空。不在名单内的股票,自然「卖压自然供给」缺一条腿,冲击的对称性差。
5. 流动性的「盘中分布」
A 股的盘中流动性不是均匀的:
- 09:30–10:00 集合竞价后第一段:成交量大、深度厚、价差紧。机构集中开盘委托。
- 10:00–11:30 上午中段:成交量回落到日均的 50–60%,深度回落。
- 11:30–13:00 午休:订单可以挂,但不撮合。流动性事实上为零。
- 13:00–14:30 下午前段:成交量恢复到日均的 60–70%。
- 14:30–14:57 收盘前:成交量加速到日均的 1.5–2 倍。
- 14:57–15:00 SSE 收盘集合竞价:单次撮合,承接收盘指令。SSE 收盘集合竞价的成交可以占当天 3–7% 的成交量。
如果你在 11:25 发一笔大单 vs 在 14:50 发同样规模——后者的冲击成本通常显著低于前者,因为后者的 远高于前者。平方根公式的 ADV 通常按全日累计,但实战中要根据剩余时段的预期 调整。
6. 练习
Exercise
你管理一只沪深300 增强策略,今天的指令是买入 300ETF 头寸价值 ¥80,000,000。已知:
- 300ETF(510300.SH)日均成交量 = ¥40 billion = ¥40,000,000,000
- 日波动率 = 0.012(年化约 19%)
- 经验常数 = 50
- 用平方根公式 估算总冲击(bp)。
- 同样的指令在一只日均成交量只有 ¥400 million 的沪深300 中盘成分股 ETF 上执行,其他参数不变( = 0.018,因为中盘波动率更高)。计算冲击。
- 用一句话解释为什么第 2 个标的的冲击不是第 1 个的 100 倍,而是大约 14 倍。
提示
是订单占 ADV 的比例。对题 1,;对题 2,,差 100 倍。但公式里取平方根,所以 只差 10 倍;再乘上 的 1.5 倍差距,总差距大约 15 倍。
提示
单位检查: 用小数(0.012 表示 1.2% 日波动率,不是 12%)。最终 是小数,乘以 10000 转成 bp。题 1 的答案应该在个位数 bp,题 2 的答案应该在 100 bp 量级——如果你的结果差几个数量级,先检查单位是否一致。
7. 下一节:交易摩擦与微观结构效应
到这里你能区分流动性的三个维度、走盘口算单笔滑点、用平方根公式做量级估算、把冲击拆成临时和永久两部分。但有几个我们一直在「预告」但没展开的东西——涨跌停、最小变动单位的下界、T+1 的卖出限制、印花税、暗池的非显示性——它们不是市场的「主菜单」,但是任何一只活的策略都必须把它们算进总成本。下一节把这些摩擦全列出来,给你一张涵盖显性成本(手续费、印花税)、机械约束(tick、lot)、清算规则(T+1)、市场状态(涨跌停、停牌)、场所碎片化(暗池)的完整地图,再做一个把所有摩擦折算成「年化拖累」的迷你案例。