Crypto OS
Non-Technical Crypto OS第三阶段 · Crypto 如何重新创造金融

第 15 章 · 流动性是什么

市值十亿的币,为什么卖十万就能砸穿?

练习的能力
Financial LiteracyOnchain LiteracyResearch
动手
挑一个小市值代币,算出它「卖出 5% 流通量会跌多少」,把计算过程写下来。
AI Lab
让 AI 解释市值与流动性的区别,再让它用真实池子数据算一次,检查它有没有把 FDV 当成可兑现价值。

一个现实问题

行情网站上写着:市值 8 亿美元。

你持有这个代币总量的 0.5%。界面很贴心地帮你算好了:你的持仓价值 400 万美元。

你决定退出。点开交易界面,输入全部数量,确认。

交易成功了。到账 61 万美元。

中间那 339 万去哪了?没有人偷走它,没有合约漏洞,没有滑点设置错误。那 339 万从来就没有存在过。

「市值 8 亿」这个数字是这样算出来的:最后一笔成交的价格,乘以流通中的代币总数。它的完整含义是——如果所有人都能按最后一笔成交价卖出,总共值 8 亿。 而「所有人都能按最后一笔成交价卖出」这件事,从来没有成立过。

这一章要回答的问题很具体:在按下卖出之前,怎样知道自己真正能拿回多少?

思想实验

一个小镇,镇上所有房子加起来值一亿。镇上只有一家当铺,当铺的柜台抽屉里,今天放着五十万现金。

现在问:这个镇「值」多少钱?

一亿是对的——有足够的时间,一栋一栋慢慢卖,最终确实能卖到接近一亿。五十万也是对的——如果今天下午所有人同时想换成现金,全镇能拿到的总额就是五十万,多一分都没有。

这两个数相差 200 倍,而且都不算错。一亿回答的是「按最后一笔成交价估算,这些东西值多少」;五十万回答的是「现在立刻,最多能变出多少现金」。

把当铺换成一个链上池子,把镇民换成代币持有者,整件事就搬到链上了。而且链上这个版本更极端,因为规则更死板:

池子另一侧有多少钱,就是这个代币此刻能被兑换出的现金上限。一分不多。

你卖 100 万枚也好,卖 1 亿枚也好,池子里那 50 万美元就是天花板。卖得越多,你越接近这个天花板,但永远够不到——因为按恒定乘积,你要拿走全部 50 万,得投入无穷多的代币。

现在,把它变成一个能算的东西。

你来决定

你持有一个小市值代币,账面价值 40 万美元。你想全部退出。

观察结果

先用手感建立直觉。拖下面这个模拟器:把左边的池子深度拉到最小,把右边的金额拉到最大,看看成交均价偏离了多少。

你实际拿到
45,455
成交均价比市价高
10.00%
成交后池子价格被推高
21.00%

没有做市商在报价,价格只由 x·y=k 这条曲线决定。池子越浅、买得越多,你付的价格就越偏离市价—— 这笔差价不会凭空消失,它被套利者和 LP 拿走了。

你会看到两件事。一是深度减半,池子价格被推动的幅度不止翻倍——它不是一条直线。二是不管你把金额拉到多大,能从池子里换走的东西始终有一个够不到的上限。

好消息是,这两件事有一个非常干净的形式。对恒定乘积池子来说:

设 x = 池子里的代币储备量(枚数,不是美元)
   y = 池子里另一侧的资金量(美元)
   你卖入 D 枚代币

令 r = D ÷ x         (你的卖单相当于池子储备的多少倍)

卖完之后:
  池子价格变成原来的  1 ÷ (1 + r)²
  你实际拿到的美元     y × r ÷ (1 + r)

两个式子,整章都在用它们。注意第一个式子里的平方——价格跌幅对卖单规模是平方级的敏感。 这就是「不线性」的来源。

把它列成一张表。这张表是纯数学,不会过期:

你卖的量相当于池子储备的价格变成原来的也就是跌了你拿到池子资金的
10%(r = 0.1)82.6%17.4%9.1%
25%(r = 0.25)64.0%36.0%20.0%
50%(r = 0.5)44.4%55.6%33.3%
100%(r = 1)25.0%75.0%50.0%
200%(r = 2)11.1%88.9%66.7%
500%(r = 5)2.8%97.2%83.3%
1000%(r = 10)0.8%99.2%90.9%

最后一列是这张表里最重要的一列。看它的上限:无论你卖多少,永远拿不到池子另一侧资金的全部。 卖到池子储备的 10 倍,也只能拿走 90.9%。

现在回到开头那个「市值十亿的币,卖十万就砸穿」。它是怎么发生的:

代币 A代币 B
流通量10 亿枚10 亿枚
最后成交价1 美元1 美元
市值10 亿美元10 亿美元
池子里的代币储备500 万枚5 万枚
池子另一侧的资金500 万美元5 万美元
卖 10 万美元的代币会跌3.9%88.9%
卖 5% 流通量能拿回455 万(名义 5000 万)4.99 万(名义 5000 万)

两个代币在行情网站上看起来完全一样。它们唯一的区别是那两行你在行情网站上看不到的数字。

代币 B 就是标题里那个「卖十万砸穿」的例子。它的 10 亿美元市值,是由 5 万美元的池子撑起来的——这不是异常情况,这在新发行的代币里非常常见。

建立模型

把上面的东西固化成一个四步动作。这是这一章唯一需要你带走的东西,以后看任何一个代币都可以跑一遍,三分钟。

  1. 查池子里的代币储备量 x
  2. 查流通量 S
  3. 算 r = 你要卖的量 ÷ x
  4. 查表得出跌幅与实际回款
四步都不需要判断,只需要查数和除法。判断留给最后一眼。

逐步说明:

步骤具体做什么常见的坑
1. 查 x在区块浏览器上打开池子地址,看代币一侧的余额(枚数)看成了 TVL。TVL 是两侧加起来的美元数,不是 x
2. 查 S流通量,不是总供应量,也不是最大供应量用了总供应量,会高估可卖出的比例
3. 算 r要卖的枚数 ÷ x把美元数除以枚数,量纲就错了
4. 查表上一节那张表,或者直接算 1 ÷ (1+r)²以为可以按市价成交

两个现实情况:多个池子、多条链时,把每个池子的 x 加起来是一个乐观的近似,真实结果更差;有订单簿时公式不直接适用,但动作一样——看买一档往下累积到某个价位总共有多少钱,那就是你的 y。

最后,把三个经常被混为一谈的数放在一起:

数字它回答什么它不回答什么谁在用它
Market Cap按最后成交价估算,流通部分值多少能不能卖出排行榜、媒体、比较大小
FDV假设全部代币都流通,按当前价值多少那些币现在根本不存在于市场上项目方宣传、估值对比
Liquidity / Depth现在立刻能换出多少钱,代价是多少长期价值真正要进出仓位的人

前两个是估算,后一个是事实。第 19 章会专门拆 FDV,这里只需要记住:FDV 是把还没出生的代币也算了价格的数字,它和你能拿回的钱距离最远。

它叫什么

Liquidity流动性

一项资产在不显著改变其价格的前提下,能被买入或卖出的能力。

注意定义里的两个限定:不显著改变价格能被买卖。缺任何一个,资产就不是流动的。一栋房子有价值但流动性差,一张一百元钞票价值不高但流动性完美。

Depth深度

在某个价格区间内,市场能吸收的成交量。

在 AMM 里,深度就是池子的储备量;在订单簿里,深度是各档挂单量的累积。它是流动性唯一可被直接测量的形式,也是你查完就能算的那个 x。

Spread买卖价差

买一价和卖一价之间的差距。它是「立刻买入再立刻卖出」的即时成本。

价差反映的是小额交易的成本,深度反映的是大额交易的成本。两者可以背离:一个代币的价差可能只有 0.1%,但池子里只有 5 万美元——小单看起来很便宜,大单照样砸穿。只看价差是不够的。

Slippage滑点

你实际的成交均价与下单时看到的价格之间的偏差。

它和「价格冲击」(Price Impact)是两个数:滑点是你付出的均价偏离了多少,价格冲击是成交之后池子里的新价格偏离了多少。后者总是大于前者,因为你是沿着曲线一路滑上去的,均价落在起点和终点之间。

Volume成交量

一段时间内的总成交额。

它常被当作流动性的代理指标,但两者不是一回事:成交量是过去发生的事,深度是此刻存在的东西。 更麻烦的是成交量很容易被制造——同一个人左手倒右手,成交量就上去了,深度一分钱没增加。判断的经验是:拿 24 小时成交量除以池子深度,如果这个比值高得离谱,值得怀疑。

Market Cap市值

最后成交价 × 流通量。

它是一个估算,用途是横向比较不同资产的规模,不是衡量「能拿回多少钱」。把它当成可兑现金额,是这一章要纠正的首要误解。

动手

动手算出「卖出 5% 流通量会跌多少」一个区块浏览器 + 一个行情网站 + 计算器0 元,全程只查数据

挑一个市值在几千万到几亿之间的代币——太大的算不出戏剧性,太小的数据不全。全程不需要任何资金,不需要连接钱包。

找到它的主要池子。 在行情网站的交易对列表里找成交量最大的那个,点进去拿到池子的合约地址。

顺手数一下:它总共有几个池子?分布在几条链上?记下来。

查 x 和 y。 在区块浏览器上打开这个池子地址,看它持有的两种代币余额。

  • x = 代币一侧的枚数
  • y = 另一侧的美元金额(如果另一侧是 ETH 之类,先按当前价格折成美元)

记下查询时间。这两个数每分钟都在变。

查 S。 在行情网站上找流通量,不是总供应量。两个数往往差很远,用错会让你的结论偏乐观。

算 r,查表。

要卖的枚数 D = S × 5%
r = D ÷ x
价格变成原来的 = 1 ÷ (1 + r)²
实际拿到 = y × r ÷ (1 + r)
名义价值 = D × 当前价格

写下完整的计算过程和一句结论。

数值
池子代币储备 x
池子资金 y
流通量 S
5% 流通量 = D
r = D ÷ x
价格跌幅
名义价值
实际拿回
实际拿回 ÷ 名义价值

再算一遍 1%。 把 5% 换成 1%,看跌幅变成多少。

两种结果都有意义:如果跌幅大致按比例降下来了,说明你的 r 还在小数区间,拆单确实有用;如果跌幅几乎没变(从 99% 降到 89% 这种),说明这个池子相对你的仓位已经完全不够用了,拆单救不了,只能换问题

最后一行的比值是这个 Lab 的产出。记住它的数量级,以后看到任何一个「市值」,你的第一反应会不一样。

AI Lab

AI Lab让 AI 分清市值与流动性,你去抓它把 FDV 当钱的那一刻Level 2 · AI Copilot

分两步。第一步先让它讲概念,第二步逼它落到真实数据上——出错几乎都发生在第二步。

第一步:
用一个具体的数字例子说明 Market Cap、FDV 和 Liquidity 三者的区别,
并说明为什么前两个不能当作「持有人能拿回的钱」。

第二步:
代币 [名称],池子地址 [地址],链 [链名]。
请:
1. 查出该池子当前的两侧储备量,给出你的数据来源和取数时间
2. 查出该代币的流通量与总供应量,分别列出
3. 计算:卖出流通量的 1%、5%、10% 分别会让池子价格下跌多少,
   以及每种情况下实际能拿到多少美元
4. 把「名义持仓价值」和「实际回款」并排列出,算出回款比例
5. 说明你的计算用了什么公式,写出每一步的代入数字

查不到的数据写「未找到」,不要估算,不要用记忆里的旧数据。

然后自己按上一个 Lab 的四步重算一遍,逐行对。

这个任务的设计意图是制造一个特定的陷阱:模型非常容易在第 3 步里,用「市值 × 5%」当作可卖出的金额,或者用 FDV 去算持仓价值。这两个错误在语言上完全通顺,只有你手算过才抓得住。

另外注意它的训练数据里有大量「某代币流动性充足」这类表述。追问依据,你会发现依据往往是成交量而不是深度。

AI 说完之后,你必须自己验证

  • 它给的池子储备量,你能在区块浏览器上打开那个地址核对到
  • 它用的是流通量还是总供应量——这里出错会让结论偏乐观好几倍
  • 它有没有在某一步把 FDV 或市值当成「可以卖出的金额」
  • 它算的价格跌幅,是否符合平方关系:把卖出量翻倍,跌幅应该明显超过翻倍
  • 它说「流动性充足」时,依据是成交量还是深度——如果是成交量,追问它怎么排除刷量
  • 它有没有把多条链上的池子直接相加,却没说明这个加法是乐观近似
  • 凡是数字,是否标注了取数时间:池子储备分分钟在变

真实案例

成交量可以被制造,深度不行持续发生

在一些交易场所,同一批资金反复自成交,可以把 24 小时成交量做到一个很大的数字,而池子深度毫无变化。

分辨方法不复杂:拿成交量除以深度。一个健康的市场,这个比值通常在个位数到几十之间;如果一个池子里只有几万美元,却报出几百万的日成交量,那么这个成交量在讲一个与你无关的故事。

成交量是宣传材料,深度是你的退出通道。

做市商撤走的那一天多次发生

一些代币的深度并非由分散的 LP 提供,而是由项目方与一两家做市机构按协议提供。协议到期、合作终止或机构自身出问题时,深度会在很短时间内消失。

价格在撤离之前可能毫无异常——因为深度消失本身不产生成交,它只是让下一笔成交变得昂贵。 这是为什么「查深度」必须定期重做,而不是建仓时做一次。

崩盘时,流动性在你最需要的时刻最少2022 年多个市场

市场剧烈下跌期间,大量 LP 和做市商同时撤出或缩窄报价,深度在几小时内大幅收缩。于是形成一个恶性组合:想卖的人变多,能接的钱变少。 平时算出来能承受 5% 跌幅的卖单,在那一天可能造成 30%。

对研究的含义是:用平静时期的深度去估算压力时期的退出成本,会系统性低估。 保守的做法是把算出的深度打一个折扣,再看结论还成不成立。

低流通、高市值持续发生

一种反复出现的结构:项目方只释放很小比例的代币进入流通,并只为其中一部分提供池子。价格由这个小池子决定,而市值和 FDV 按全部供应量计算。

结果是一个几十万美元的池子,撑起一个上亿美元的估值数字。这个数字本身是算术上正确的,问题在于它被当成了别的东西用。

第 19、20 章会从代币供应的角度再看一次同一个结构。

改一个变量

如果同一个代币在五条链上各有一个池子

表面上深度变成五倍,实际上要打折扣。

原因有三:你的资产分布在某一条链上,跨过去要时间和成本;每一条链上的卖出都需要单独发交易;而且你在一条链上砸下去之后,套利者会把其他链的价格也拉平——你等于在跟自己的下一笔单竞争。

更实际的算法是:分别算每条链上你能拿回多少,加总,再打一个折。分散的流动性是流动性,但不是相加的流动性。

如果流通量只有总量的 3%

市值和 FDV 之间会差出 30 倍以上。

真正的风险不在今天,而在解锁表上:那 97% 会在未来某些日期进入流通。用今天这个小池子去承接未来几十倍的供应量,是算不过来的。

判断动作:把每次解锁的数量除以当前池子储备 x,用那张表读一次跌幅。第 19 章会把这件事做成一条完整的解锁曲线。

如果有人拿出一大笔钱给这个池子加流动性

深度上去了,你的退出成本立刻下降。这对你是好事。

但要问一句:这笔钱是谁的,为什么愿意放进来。 如果它是靠补贴吸引来的,那么它会在补贴停止时离开;如果它是项目方自己放的,那么它可以被项目方在任何一刻取走(除非被锁定,而是否锁定你可以去链上查)。

别人提供的深度,随时可能被别人收回。 第 17 章会讲补贴的寿命怎么算。

如果你把卖单拆成 100 笔,每笔间隔一小时

单笔的价格冲击被大幅摊薄,这是真实的改善。

但引入了两个新东西:一是时间暴露,100 小时里价格自己会动,而且如果链上能看到你在持续出货,别人会提前行动;二是套利者需要真的把池子补回来,而补回来的资金来自外部愿意在这个价格接货的人——如果外面没有买盘,池子被补回的速度会一次比一次慢。

拆单解决的是「冲击成本」,它不能凭空创造买家。这就是为什么正确的动作是在建仓时就算一遍,而不是在退出时。

带走的问题

8
谁提供流动性?

这一章把这个问题变成了可执行的:谁提供流动性、提供了多少、在什么条件下会撤走。 前两个去链上查,第三个去看补贴与锁仓安排。三个都答不上来,这个代币的市值对你就没有意义。

9
谁承担风险?

深度不足时,风险由最后想退出的人承担。这是一个排队结构:前面的人按较好的价格走掉,后面的人按越来越差的价格走。看懂这一点,你就知道为什么「流动性风险」永远在事后才被所有人同时意识到。

11
如果 Token 价格归零,产品还能运行吗?

如果代币价格归零,池子里另一侧的资金会被换代币的人全部取走,LP 手上只剩下归零的那一种。流动性会随着价格一起消失,而且消失得更快。 这两件事是同一个循环里的两个环节。

12
如果补贴停止,还有用户吗?

补贴停止之后,LP 会撤走,深度下降,滑点上升,交易者也会走。流动性是最先被补贴吸引来、也最先离开的东西。 评估任何一个依赖流动性的产品,这一条都要单独问一遍。

本章自测

一句话带走

Market Cap 是估算,Liquidity 才是你真正能拿回来的钱。

做完这一章的动手环节了?勾上它查看全部进度

本页目录