all_lessons/市场的逻辑/03第 4 课 / 共 32 课

第一部分 · 价格是怎么形成的(市场怎么动)

流动性与冲击成本:为什么大单会自己推高价格

上一课结尾我们卡在一个问题上:如果我想买的,比卖一档挂出来的还多,会怎样?答案不太友好——你会被迫越买越贵,自己把价格推上去。这一课要把这件事讲透,并由它引出整门课最重要的一个约束:流动性。它将一路跟到最后一课。

本课路线
(1) 让一笔大市价单逐档吃穿订单簿,看平均成交价怎样一档比一档差,定义冲击成本 (market impact / slippage);(2) 把这件事提炼成一个名字——流动性 (liquidity),并拆出它的三个维度(深度 · 价差 · 韧性);(3) 动手玩一台「冲击成本台」,亲手拉大下单规模、看冲击曲线怎么往上翘;(4) 区分「屏幕上的报价」和「你真能成交的价」,把它接回主线一的市值幻觉,并预告流动性会在最需要时蒸发。

一、一笔大单,是怎么把自己推贵的

回到上一课那张订单簿。卖方挂出了一排限价单 (limit order),从便宜到贵排成一个「阶梯」。最便宜的那一档叫卖一 (best ask),假设是 100.05,上面只挂着 500 股。它上面是 100.10 挂 800 股、100.20 挂 1200 股,再往上越来越贵、越来越厚。

现在你下一笔市价单 (market order)——「按现在能成交的价,立刻买」。如果你只买 400 股,事情很简单:它们全部和卖一那 500 股成交,你的成交价就是 100.05。干净利落,几乎没把价格推动分毫。

可如果你要买 3000 股 呢?卖一只有 500 股,根本不够。于是你的订单开始逐档往上吃——先吃光 100.05 的 500 股,再吃光 100.10 的 800 股,再吃 100.20 的 1200 股,剩下的 500 股只好吃到 100.35……这个过程有个很形象的名字:吃穿订单簿 (walking the book)。你像爬楼梯一样,一档一档往上爬,每爬一档,下一批股票就更贵。

结果是:你最终的平均成交价,远高于你下单那一刻看到的卖一 100.05。这中间的差,就是你这笔交易付出的冲击成本 (market impact,也叫滑点 slippage)

冲击成本 = 平均成交价 − 下单时的卖一价

注意这件事的诡异之处:没有任何新消息,没有任何人改变对公司的看法,价格就被推上去了——纯粹是因为你的订单太大,自己把浅层的便宜货吃光了。这就直接回答了 00 课埋下的一个伏笔:价格的变动,根本不需要「价值」发生变化,一笔足够大的订单本身就能让它动。

一个数量上的直觉
为什么大单的冲击会加速变差,而不是匀速?因为订单簿通常是「近处薄、远处厚,但你得先穿过近处」。买得越多,你被迫触及的档位就越高、越贵,而且这些更贵的成交会稀释你的平均价。所以「平均成交价 vs 下单规模」这条曲线不是一条直线,而是一条向上弯的曲线——规模翻倍,冲击成本往往不止翻倍。下面的 widget 会把这条曲线当场画给你看。

二、给这件事起个名字:流动性

上面这整个现象,金融里用一个词概括:流动性 (liquidity)。它常被含糊地说成「容不容易买卖」,但我们要给它一个能操作的定义——这也是整门课对「流动性」的口径:

流动性的可操作定义
流动性 = 你能交易多少,而不显著推动价格它不是「这只股票有没有人买」这种是非题,而是一个带规模的问题:买 400 股不动价、买 4 万股推动 2%、买 40 万股推动 15%——同一只股票,对小单是「高流动性」,对大单可能是「低流动性」。流动性永远要连着「多大的单」一起问。

这个定义可以拆成三个互相独立的维度,后面的课会反复用到:

深度 (depth)每一档挂了多少量、阶梯有多厚。深度越大,同样一笔单要爬的档位越少、冲击越小。这是上面那台「吃穿」过程的主角。
价差 (spread)买一和卖一之间的缝隙(卖一 − 买一)。哪怕只买 1 股,你也得先跨过这条缝——它是流动性的「入场费」,下一课《做市商》会专门讲它从哪来。
韧性 (resilience)你这一大口吃下去之后,订单簿多快能重新填满、价差多快收回去。韧性差,意味着一笔大单的伤口久久不愈合,下一个人接着还得付高价。

把这三者放一起看,你会发现一件事:「价格是多少」其实是个次要问题,真正要命的问题是「你能在不推动价格的前提下交易多少」。这就是这门课的主线二,从这一课正式立起来——

主线二 · 流动性是核心约束
从这里开始,流动性会一路跟着我们:下一课 04 讲谁来提供流动性(做市商靠赚价差兜底);17 讲速度最快的玩家如何在微秒尺度上抢流动性;19 讲大资金如何把自己的大单拆碎、藏起来,专门为了少付冲击成本(直接闭合回本课);20 讲最惊悚的一幕——当所有人同时夺门而出,流动性会整个蒸发,价格瀑布式下跌。记住这条线,你就抓住了市场微观结构的命门。

三、动手:冲击成本台

下面这台机器只有一个旋钮:你要买的股数。它会拿一张固定的卖盘订单簿,让你的市价单逐档吃穿它(被吃掉的档位会变暗),同时在右边画出「平均成交价 vs 下单规模」这条曲线,并把你这一笔的冲击成本(用基点 bps 表示)报出来。亲手验证两件事:买得很少时(比如 ≤500 股),你贴着卖一成交、冲击几乎为 0;单越大,平均价越往上爬、曲线越陡。

冲击成本台 · 大单怎样把自己推贵
拖动滑块设定下单股数。左边是一张固定的卖盘订单簿,你的市价单从最便宜的卖一开始往上吃,吃掉的档位会变暗。右边曲线是「平均成交价 vs 规模」——它向上弯,说明买得越多、每多买的部分越贵。下方 KPI 里的「冲击成本」= 平均成交价比卖一贵了多少(基点 bps,1% = 100 bps)。试试 400 股(冲击≈0),再拉到 8500 股(吃穿全部档位)。
下单股数
400
平均成交价
100.05
最差成交档
100.05
冲击成本
0 bps
拉动滑块,看你的单要爬多少档、把价格推多高。

玩过之后你会得到一个朴素却深刻的结论:价格不是一个点,而是一条「随你下单规模上升的曲线」。屏幕上那个 100.05 只是第一股的价格。你要的越多,市场要你付的平均价就越高——而且是你自己的订单把它顶上去的。

四、报价 ≠ 你真能成交的价:把它接回市值幻觉

现在我们可以把这一课接回 主线一(00、01 课)。01 课说过:把屏幕上的股价乘以全部股本,得到的「市值」是一种纸面幻觉,你根本无法按那个价把股票全部卖出。当时这只是一句断言;现在你已经能自己证明它了。

道理就是冲击成本:屏幕上的价格(卖一/买一)只是「下一笔很小的交易」能成交的价。它是一个报价 (quote),不是一个承诺。一旦你想成交的量超过了那一档的深度,你就得吃穿订单簿,平均价立刻变差。所以——

这也顺手解释了一个常见困惑:为什么一只「市值千亿」的股票,有时一笔几亿的卖单就能把它砸下去 5%?因为市值衡量的是存量(纸面),流动性衡量的是流量(你此刻真能换手多少)——两者经常差出好几个数量级。市值大不等于流动性好。

最后留一个伏笔:上面我们假设订单簿是「固定」摆在那儿的。但流动性不是常数。挂单的人随时可以撤单;当行情剧烈、所有人都想往同一个方向走时,挂单会瞬间消失,深度蒸发、价差爆开——这就是 20 课要讲的流动性黑洞。先记住:你今天测到的那条冲击曲线,明天可能陡得面目全非。

五、常见误解

一句话带走
一笔大单会逐档吃穿订单簿,把自己越买越贵——这部分多付的钱叫冲击成本;于是「价格」不是一个点,而是一条随下单规模上翘的曲线。由此引出整门课的主线二:真正的约束不是「价格是多少」,而是流动性——你能在不推动价格的前提下交易多少(深度 × 价差 × 韧性)。它服务于引擎的第一问「价格怎么被一笔订单做出来」,并解释了为什么屏幕上的报价从来不是你真能全部成交的价。
下一步
这一课我们一直把订单簿当成「天上掉下来、固定摆好」的东西。可那些挂在每一档的限价单,是挂的?尤其是——谁愿意一直站在那儿,同时挂着买价和卖价、接住每一笔飞来的小单的另一边、随时给你提供这份流动性?这听起来吃力不讨好,却有一整类玩家专门在做。 → 第 04 课《做市商与价差:谁来兜住每一笔单》会告诉你他们靠什么活着(赚价差),又怕什么(库存风险)——价差,正是「即时成交」这件事的价格。