09.Uniswap V3 集中流动性
核心摘要 (Key Takeaways)
- 核心问题与解决方案:Uniswap V2 的流动性平均分布在
(0, +∞)的整个价格区间,导致对价格稳定的资产(如稳定币)或价格波动在可预测范围内的资产,资本效率极低。Uniswap V3 引入集中流动性,允许流动性提供者(LP)将资金集中在自定义的价格区间[Pa, Pb]内,从而极大地提高了资本效率。 - 虚拟流动性 (Virtual Liquidity):通过将流动性集中在特定区间,V3 能用较少的真实资产(
x_real,y_real)创造出等效于 V2 中巨大资金量的虚拟流动性。这个虚拟的k值(流动性深度)在进行交易计算时生效,能为交易者提供更低的滑点。 - 价格区间与资产构成:当市场价格在 LP 设置的
[Pa, Pb]区间内波动时,其持有的两种代币会根据交易进行兑换。一旦价格超出这个区间,LP 的全部流动性头寸会自动转换成区间边界上的一种代币(在Pa点全部变为 X 代币,在Pb点全部变为 Y 代币)。 - 价格区间的宽度是关键:LP 设置的价格区间越窄,资本效率的提升倍数就越高,但也面临着价格更容易偏离区间的风险。反之,区间越宽,其表现越接近于 Uniswap V2,资本效率越低,但管理更省心。
1. Uniswap V2 的核心问题:资本效率低下
Uniswap V2 使用一个非常简洁的恒定乘积做市商(AMM)公式来定义资产池的行为:
其中 x 和 y 是两种代币的数量,k 是一个常数。池中的瞬时价格 P 由两种资产的比例决定:
-
流动性分布:这个模型将流动性均匀地分布在从
0到+∞的整个价格曲线上。 -
资本浪费:在大多数实际场景中,代币的价格只在一个相对较小的范围内波动。这意味着分布在价格范围之外的绝大部分流动性从未被使用,造成了严重的资本浪费。
- 案例 (稳定币):像
USDC/USDT这样的稳定币对,其价格通常只在0.99到1.01之间微小波动。在 V2 中,为0到0.99和1.01到+∞价格区间提供的流动性几乎永远不会被触及,这部分资金完全被闲置。 - 案例 (主流资产):即使是像
ETH这样波动性较高的资产,其价格在特定时期(如一周内)也往往在一个可预测的范围内波动,例如1500到2000美元。超出此范围的流动性同样被浪费了。
- 案例 (稳定币):像
2. Uniswap V3 的解决方案:集中流动性 (Concentrated Liquidity)
为了解决 V2 的资本效率问题,Uniswap V3 提出了集中流动性(也称区间流动性)的核心概念。
- 核心机制:允许流动性提供者(LP)不再为整个
(0, +∞)价格曲线提供流动性,而是可以选择一个自定义的价格区间[Pa, Pb]来集中投入他们的资金。 - 目标:通过将资金集中在最有可能发生交易的价格附近,极大地提高资本的利用效率。
- 主动管理:LP 可以根据市场价格的变化,主动地撤出旧区间的流动性,并在新的、更合适的价格区间内重新提供流动性,以持续追踪市场价格,保持高效率。
3. 核心概念:虚拟流动性 (Virtual Liquidity)

此图展示了一个 的函数曲线图。为了满足让用户可以选择只在 价格区间内提供流动性。对于图中 区间的任意点,都有:
$$ x = x_{virtual} + x_{real} ,
y = y_{virtual} + y_{real} $$
集中流动性机制创造了一个强大的效果,即虚拟流动性。
-
定义:在 V3 中,LP 使用的真实代币数量(, )虽然有限,但通过集中在
[Pa, Pb]区间,它们所能产生的交易深度(即等效的k值)被极大地放大了。这个被放大的流动性被称为虚拟流动性 (, )。 -
作用:这个虚拟流动性仅用于交易滑点的计算。它并不代表池子里有那么多的真实资产,但它能确保在指定价格区间内的交易滑点非常低,体验远超 V2。
-
为什么需要更高的流动性 (更大的k值)?
- 对交易者:
k值越大,单笔交易对价格的影响就越小,意味着滑点越低,交易体验越好。 - 对 LP:价格变动更平滑,理论上可以减少无常损失。
- 对交易者:
-
案例 (数据对比):
- V2 场景: 假设用户投入
100个 X 代币和100个 Y 代币。- 流动性常数
- V3 场景: 用户同样投入
100个 X () 和100个 Y (),但将它们集中在一个较窄的价格区间内。- 系统计算出的虚拟流动性可能等效于一个拥有
300个 X 和300个 Y 的 V2 池子。 - 虚拟流动性常数
- 这意味着,用同样数量的真实资产,V3 在该区间内实现了
3倍于 V2 的流动性深度。
上图展示了用户选择在价格 之间提供流动性时,通过虚拟 token 的参与,将曲线 (橘红色)向右上方移动至 (绿色),实现了价格计算的一致性(即满足 )。
- 系统计算出的虚拟流动性可能等效于一个拥有
- V2 场景: 假设用户投入
4. 价格变动对流动性头寸的影响
当市场价格在 LP 设置的 [Pa, Pb] 区间内移动时,其资产构成会发生变化。如果价格移出区间,资产会完全变为单一币种。
资产状态变化流程图
graph TD
A[开始: LP在价格区间 Pa, Pb 内提供X和Y] --> B{市场价格 P 发生变动};
B --> C{价格 P 上涨 --> Pb};
C --> D[交易: 卖出X, 买入Y
LP资产: x_real减少, y_real增加];
D --> E[状态1: 价格到达 Pb
LP资产: x_real = 0
头寸100%为 Y 代币];
B --> F{价格 P 下跌 --> Pa};
F --> G[交易: 卖出Y, 买入X
LP资产: y_real减少, x_real增加];
G --> H[状态2: 价格到达 Pa
LP资产: y_real = 0
头寸100%为 X 代币];
subgraph "区间内"
direction LR
A
B
C
D
F
G
end
subgraph "区间外"
direction LR
E
H
end
graph TD
A[开始: LP在价格区间 Pa, Pb 内提供X和Y] --> B{市场价格 P 发生变动};
B --> C{价格 P 上涨 --> Pb};
C --> D[交易: 卖出X, 买入Y
LP资产: x_real减少, y_real增加];
D --> E[状态1: 价格到达 Pb
LP资产: x_real = 0
头寸100%为 Y 代币];
B --> F{价格 P 下跌 --> Pa};
F --> G[交易: 卖出Y, 买入X
LP资产: y_real减少, x_real增加];
G --> H[状态2: 价格到达 Pa
LP资产: y_real = 0
头寸100%为 X 代币];
subgraph "区间内"
direction LR
A
B
C
D
F
G
end
subgraph "区间外"
direction LR
E
H
end
graph TD
A[开始: LP在价格区间 Pa, Pb 内提供X和Y] --> B{市场价格 P 发生变动};
B --> C{价格 P 上涨 --> Pb};
C --> D[交易: 卖出X, 买入Y
LP资产: x_real减少, y_real增加];
D --> E[状态1: 价格到达 Pb
LP资产: x_real = 0
头寸100%为 Y 代币];
B --> F{价格 P 下跌 --> Pa};
F --> G[交易: 卖出Y, 买入X
LP资产: y_real减少, x_real增加];
G --> H[状态2: 价格到达 Pa
LP资产: y_real = 0
头寸100%为 X 代币];
subgraph "区间内"
direction LR
A
B
C
D
F
G
end
subgraph "区间外"
direction LR
E
H
endgraph TD
A[开始: LP在价格区间 Pa, Pb 内提供X和Y] --> B{市场价格 P 发生变动};
B --> C{价格 P 上涨 --> Pb};
C --> D[交易: 卖出X, 买入Y
LP资产: x_real减少, y_real增加];
D --> E[状态1: 价格到达 Pb
LP资产: x_real = 0
头寸100%为 Y 代币];
B --> F{价格 P 下跌 --> Pa};
F --> G[交易: 卖出Y, 买入X
LP资产: y_real减少, x_real增加];
G --> H[状态2: 价格到达 Pa
LP资产: y_real = 0
头寸100%为 X 代币];
subgraph "区间内"
direction LR
A
B
C
D
F
G
end
subgraph "区间外"
direction LR
E
H
end
图表解释:
这个流程图展示了当市场价格变动时,一个 Uniswap V3 流动性头寸的演变过程。
- 初始状态: LP 在
Pa和Pb之间同时提供 X 和 Y 两种代币。 - 价格上涨: 如果价格从当前点
P向Pb上涨,池子会不断卖出 X 代币换取 Y 代币。因此,LP 持有的 X 代币 () 逐渐减少,Y 代币 () 逐渐增多。 - 触及上边界: 当价格达到
Pb时,LP 的所有 X 代币都被卖光,其头寸完全由 Y 代币构成。 - 价格下跌: 反之,如果价格从
P向Pa下跌,池子会卖出 Y 代币换取 X 代币。LP 持有的 Y 代币 () 减少,X 代币 () 增多。 - 触及下边界: 当价格达到
Pa时,LP 的所有 Y 代币都被卖光,其头寸完全由 X 代币构成。
- 流动性贡献 (Liquidity Contribution):
- 当价格从
P移动到Pb时,是 X 代币在为交易提供流动性(因为它被卖出)。 - 当价格从
P移动到Pa时,是 Y 代币在为交易提供流动性(因为它被卖出)。
- 当价格从
5. 价格区间宽度的影响
价格区间的宽度是决定资本效率的核心变量。
-
宽区间 (Wide Range):
- 如果 LP 设置的区间非常宽,例如
Pa接近0,Pb接近+∞。 - 这种情况下,V3 的行为和资本效率将无限接近于 Uniswap V2。虚拟流动性的放大效应会变得很小。
- 如果 LP 设置的区间非常宽,例如
-
窄区间 (Narrow Range):
- 如果 LP 设置的区间非常窄,资本效率会得到惊人的提升。
- 案例 (稳定币):假设为稳定币对设置一个
0.9到1.1的价格区间。同样投入100个 X 和100个 Y。- 视频中的演示显示,在这种情况下,资本效率(以 L 值衡量)可以提升约 200 倍。这意味着用
100对代币达到的交易深度,在 V2 中可能需要20000对代币才能实现。
- 视频中的演示显示,在这种情况下,资本效率(以 L 值衡量)可以提升约 200 倍。这意味着用
- 权衡:区间越窄,效率越高,但价格也更容易偏离这个区间,导致流动性失效(头寸变为单一资产)并停止赚取手续费。这要求 LP 进行更主动的管理。