Skip to content
全部期权指南
DeFi 流动性提供约 12 分钟阅读

DeFi 流动性池:LP 手续费、再平衡与无常损失

了解 AMM 交易如何改变 LP 持有的代币数量,计算一个不含手续费的无常损失示例,并比较 LP 手续费、v3 价格区间和直接持有。

本指南内容流动性提供者做什么

简短摘要

提供流动性,就是把代币存入池合约,让其他人可以进行兑换。作为回报,LP 头寸可能获得一部分 swap 手续费。但交易者与池子交易时,也会改变归属于 LP 的各类代币数量。因此,应把累计手续费与另一种情形比较:如果最初的代币一直被直接持有,最终价值会是多少?这种相对差距通常称为无常损失;这个名称并不意味着头寸的名义价值必然下降。

流动性提供者做什么

AMM 池不是承诺支付固定利息的储蓄账户,而是存放代币并执行兑换规则的智能合约。Uniswap v2 的一个池配对两种 ERC-20 代币。用户添加流动性时,合约会发放 LP 代币,记录用户在池中的份额。份额决定用户按比例拥有多少储备和手续费,并不保证两种代币的数量始终不变。

例如,某个池有 100 ETH 和 200,000 USDC。 若有人持有 1% 的 LP 代币,那么在份额不变时,其基础份额相当于 1 ETH 和 2,000 USDC。 发生 swap 后,池储备和这部分资产的价值都可能变化。 v2 的 swap 手续费会加入储备;v3 则将累计手续费单独记为与每个头寸关联、可领取的余额。

Uniswap 官方文档介绍了 swap 和流动池的工作方式 其他 AMM 可能采用不同的曲线、LP 份额记账方式、手续费规则或退出限制;因此下面的示例使用简化的 v2 模型,并非所有 DeFi 的通用规则。。

LP 获得的份额不是固定利率。收入取决于符合条件的 swap 交易量、池的手续费设置、当时处于活跃状态的流动性份额、适用的手续费分配方式以及退出时的交易成本。评估结果时,应将退出头寸可取回的代币价值与实际可领取的手续费相加,扣除交易成本后,再和合适的替代方案比较。根据历史交易量算出的 APR 或 APY,并不保证未来交易量或收入相同。

v2 中的 x × y = k

在 v2 的恒定乘积池中,x 和 y 表示池储备中两种代币的数量,k 是它们的乘积。忽略 swap 手续费时,池会维持:

x × y = k

一种代币相对于另一种代币的边际价格与储备比例有关。交易者从池中买走一种代币时,这种代币的储备减少,支付进去的另一种代币储备增加。比例发生变化,池内价格也随之移动。与现有流动性相比,swap 越大,成交价格偏移可能越明显。这种机制让池子无需订单簿也能给出价格,但不会把外部市场价格固定在合约中。

池内价格可能暂时偏离其他市场。套利者会考虑成本和交易限制,在池中买入看起来便宜的代币,或卖出看起来较贵的代币,使池价逐渐接近其他市场。对 LP 来说,这一过程会改变资产组合:当 ETH 相对 USDC 升值时,交易者往往从池中取走 ETH 并存入 USDC。因此,LP 份额中 ETH 会减少,USDC 会增加。

Uniswap v2 核心白皮书介绍了 pair 合约和恒定乘积设计。真实池子中的手续费、其他交易、流动性的增减、合约配置和代币特性,会让计算比无手续费模型更复杂。尤其在 v2 中,swap 手续费会进入储备并可能使 x × y 的乘积增加;因此,有手续费的交易发生后,k 不一定保持原值。

示例:ETH 从 2,000 美元涨到 4,000 美元

假设 LP 在 ETH 价格为 2,000 美元时,投入其全部比例份额 1 ETH 和 2,000 USDC,初始价值为 4,000 美元。为简化计算,假设没有 swap 手续费、gas、税费、额外流动性或其他交易,并且套利将池价调整至新的市场价格,即 1 ETH = 4,000 美元。初始储备乘积为:

这些数量可以代表整个池子,也可以代表任一 LP 的比例份额;按比例缩放只会改变美元金额,不会改变百分比。

k = 1 × 2,000 = 2,000

在新价格下,储备比例应对应每 1 ETH 配有 4,000 USDC。结合 x × y = 2,000,新的储备约为:

  • ETH ≈ √(2,000 ÷ 4,000) ≈ 0.7071 ETH
  • USDC ≈ √(2,000 × 4,000) ≈ 2,828.43 USDC

按未四舍五入的余额计算,此时 LP 头寸价值约为 0.70710678 × 4,000 + 2,828.42712 ≈ 5,656.85 美元。如果直接持有最初的代币,价值则是 1 × 4,000 + 2,000 = 6,000 美元。相对于直接持有的价值,差额约为 343.15 ÷ 6,000 ≈ 5.72%。对价格比率从初始值变为 r 的代币对,理想化公式是:

无常损失 = 1 − 2√r ÷ (1 + r)

该公式假设这是一个全价格范围的双代币恒定乘积池,初始价值按 50/50 配置,没有手续费,也没有增加或撤出流动性,并且池价已反映外部市场价格。如果 r = 0.5,同一公式也会得出约 5.72%;这不是适用于所有 AMM 或 v3 头寸的通用估算。

当 r = 2 时,结果约为 5.72%。这个数字衡量的是在同一个比较时点,LP 表现比持有最初代币落后多少;它不代表名义价值已经低于投入本金。5,656.85 美元仍比 4,000 美元初始价值高约 41.4%。Uniswap 对无常损失的说明解释了为什么 LP 结果应与持有策略比较,而不能只和最初存入的金额比较。

这只是数学示例,并非对任何特定池子收益的预测。实际数量取决于 LP 在整个池中的份额和交易条件。计入手续费后,储备变化会不同于无手续费模型,实际数字也不会完全一致。本例特意排除 swap 手续费、gas、税费和其他因素。

无文字概念图:对比代币构成会变化的流动性池与直接持有原始代币数量。
概念性对比:流动性池中的代币构成会变化,而直接持有会保留原始数量;图中未显示实际价格或数量。

为什么称为无常损失

无常损失把 LP 头寸价值与另一种假设比较:在相同的最终价格下,最初的代币一直被持有。它是相对于某个基准的差距,并不是所有投资亏损的统称。上面的例子中,LP 价值低于持有策略,但仍高于初始金额。在理想且不计手续费的模型中,如果相对价格回到起点,池内代币构成也可能接近初始比例,差距随之收窄。不过,手续费、交易、LP 份额变化或其他损失,不会在价格反转时自动消失。

“无常”一词容易让人误以为差距一定会恢复。价格可能继续朝同一方向移动,代币可能失去价值或流动性,LP 也可能在不利时点撤出流动性。撤出时的持有对比,就成为这次退出决定的实际结果。与持有策略比较有助于单独观察 AMM 改变代币构成的影响,但还没有包含 gas、税费、合约风险或其他可能获得的收益。

在没有手续费、储备集合不变的理想 v2 模型中,某一时点的代币构成由最终价格比率决定。但价格路径仍会影响总结果,因为途中发生的 swap 决定手续费累计额、LP 调整头寸所需的 gas,以及交易过程中的风险。波动可能带来更多手续费,却不能保证手续费足以弥补相对差距。Uniswap 的无常损失说明以持有策略作为比较基准。

swap 手续费可能有帮助,但不保证盈利

交易者 swap 代币时会支付手续费。v2 手续费加入池储备;v3 手续费则单独累计,供头寸持有人领取。手续费按比例分给交易发生时处于活跃状态的 LP 流动性。Uniswap 的 LP 手续费说明介绍了 swap 手续费和 LP 实际获得部分之间的关系,也说明 v2 与 v3 的费用处理差异。具体配置取决于版本、池子和当前设置,因此不应假设所有池的费率相同。

LP 净收入不能简单用交易量乘费率来算。还要考虑当时活跃的流动性、LP 的份额、池的费用分配方式、进入和退出成本,以及最终实际领取了多少费用。如果收到的手续费足够多,可能弥补相对于持有的差距。但交易量低、价格单向变化、流动性竞争激烈或头寸不活跃,都会让收入变少。手续费能否覆盖无常损失没有保证,历史 APR 也不代表未来的净结果。

swap 频率同样会改变结果。大量来回交易可能产生手续费,但也会不断改变代币构成,并让 LP 支付网络费用。ETH 单边上涨时,LP 可能持有较少的上涨资产,而直接持有者仍保留原有数量。不要把“交易量高”直接等同于“LP 盈利高”:交易量、价格、费率层级、活跃流动性份额和成本都会起作用。

AMM 不会读取其他交易所的价格后独立调整投资组合。每次 swap 都会改变储备比例,套利交易则可能把池价与其他市场连接起来。在这个过程中,池子会卖出一部分正在升值的代币,并接收相对涨幅较小的代币。这与不交易、直接持有两种代币不同。Uniswap 关于 swap 工作方式的文档解释了交易如何改变池价和储备。

ETH 价格可能缓慢上涨、快速上涨后下跌,也可能反复波动,最终停在 4,000 美元。在无手续费的理论模型中,如果起点和最终价格比率相同,最终代币构成也相同。但途中 swap 的数量和时间可能不同,累计手续费、LP 调整头寸的 gas 和净结果也会不同。即使价格回到起点,中间已经发生的费用和交易影响也不会自动让结果重新等同于持有策略。

因此,无常损失计算器只回答一个有限问题:在某个价格比率下,不计手续费的 LP 头寸与直接持有相差多少?评估真实头寸时,还要看头寸实际触及的交易量、归属它的费用、池内竞争、市场变动、gas 和退出方式。Uniswap 的无常损失说明讨论了与持有策略的比较;v2 白皮书介绍了合约机制。

v3 集中流动性的关键差异

v2 将流动性分布在整个理论价格区间。v3 允许 LP 选择一个价格范围来集中资金。较窄的范围可能使更多资金在当前价格附近发挥作用,但需要管理头寸,也承担价格移出区间的风险。只有处于有效价格范围内的流动性,才会从相关 swap 中获得手续费。

价格越过所选范围后,v3 头寸会完全变成范围末端一侧的一种代币,并且不再为该价格下的交易提供活跃流动性。价格在区间外时,头寸不会赚取手续费,直到价格回到范围内。LP 可以选择新范围,但调整交易需要 gas,也可能让代币构成的变化成为已实现结果。 Uniswap 的v3 新建流动性头寸指南说明如何选择范围;Uniswap v3 核心白皮书进一步介绍集中流动性设计。LP 手续费说明指出,区间外的头寸不会累计手续费。

因此,不能直接把 v2 全区间的无常损失数字当成 v3 净收益预测。价格移出区间会改变单边代币风险、手续费活动和管理决策。较高的费率也不自动代表更有利:交易量可能很低,头寸可能不活跃,价格变动也可能超过累计手续费。

无常损失百分比未涵盖的风险

手续费和无常损失并非全部风险。智能合约或集成中的错误、配置变化、代币特殊转账机制、攻击、跨链桥问题或代币价值下跌,都可能影响资产。市场承压时,池流动性可能消失。池内代币价格可能偏离其他市场;添加、调整或撤出流动性的交易也可能失败或延迟。

如果池价与更广泛市场价格不一致,代币可能以非预期的相对价格成交。作为交易对一方的稳定币也可能偏离其目标锚定价。

Gas 是执行合约交易的网络成本。代币授权、存入、领取手续费、调整区间和撤出流动性都可能产生重复费用;网络拥堵时,费用或延迟会增加。应计算实际支付的交易成本,而不是只看池页面显示的收入,并阅读Uniswap 提供流动性的风险提示。

提供流动性前的检查清单

操作前,核实链和合约地址、代币与池子、AMM 版本、适用的 invariant 和 fee tier、可观察到的流动性和交易量、LP 份额计算方式及退出流程。 还要区分 v2 和 v3:v2 手续费加入储备,可能使乘积 invariant 增大;v3 手续费则单独作为头寸可领取的余额保存。 确认有效价格区间,并了解价格离开范围后会怎样。 构建价格下跌、上涨、单边移动和反转情境,在相同时间点比较 LP 与直接持有的价值。

把 gas、交易滑点、适用税费、合约风险和头寸管理成本一并纳入。 不要把 APR、“无常”这个名称或审计状态当作安全或盈利保证。

如需了解相关机制,可继续阅读 DEX swap 滑点指南、DeFi 借贷与清算指南,以及加密桥和包装代币指南。

常见问题

Q1无常损失是否意味着我真的亏钱了?

不一定。它表示 LP 价值低于在同一最终价格下持有初始代币的价值。在 1 ETH 和 2,000 USDC 的示例中,LP 头寸约值 5,656.85 美元,高于 4,000 美元初始投入,但低于 6,000 美元的持有价值。示例未计入手续费、gas 或税费。

Q2swap 手续费能弥补无常损失吗?

可能,但没有保证。手续费取决于交易量、池的费用结构、活跃流动性份额和分配规则。价格变化、网络成本和头寸管理也可能让净结果低于持有策略。

Q3v3 价格在区间外时,头寸还能赚手续费吗?

不能,只要该头寸的流动性尚未恢复为活跃状态。价格越过范围后,头寸会变成区间末端一侧的单种代币。只有价格重新进入区间后,头寸才可能重新累计手续费,具体取决于池和协议规则。

资料来源与延伸阅读

报告问题

我们会准备一封包含本文链接的邮件。发送后,Mark 才会收到你的反馈

快速检查

读完指南后,用 3 道题检查一下

问题 1 / 3

问题 01

在比较 LP 表现时,无常损失指什么?

选择答案即可查看解释

期权术语表