用简单例子讲解无常损失
通过计算示例讲解无常损失:为什么流动性提供者最终可能比单纯持有代币拿到的更少、如何估算这一损失,以及如何加以控制。
无常损失是指你的代币在流动性池中的价值,与你只是把它们放在钱包里持有时本应具有的价值之间的差额。它之所以发生,是因为自动做市商(AMM)会随着价格变化不断重新平衡你的存款,结果让你持有更多下跌的代币、更少上涨的代币。
如果你正在考虑在去中心化交易所提供流动性,无常损失是你最需要理解的一项成本。手续费和奖励看起来可能很诱人,但只有当它们大于你因留在池中而放弃的价值时才划算。本指南使用简单的数字,让你可以自己估算其影响。
无常损失为什么会发生
大多数简单的 AMM,例如 Uniswap 最初的设计,会在一个池子里保存两种代币,并遵循 x × y = k 规则:代币 A 的数量乘以代币 B 的数量必须保持不变(不计手续费)。价格不是由订单簿决定的,而是由池中代币的比例决定的。
当一种代币的市场价格在别处上涨时,池内价格会短暂地滞后。套利交易者会从池中买入这种便宜的代币,直到它的价格与市场一致。他们把上涨的代币拿走,把另一种代币放进去。作为流动性提供者,你拥有这个池子的一部分份额,所以最终你持有的上涨代币变少,而没有上涨的那种代币变多。套利者的利润,实际上就是你的无常损失。我们的文章收益耕作详解对此有进一步阐述。
如果你刚接触池子,可以先阅读我们关于流动性池和自动做市商的讲解文章。
一个简单的计算示例
以下价格均为假设,选取它们是为了便于计算。
当 1 ETH = 2,000 USDC 时,你向一个 ETH/USDC 池存入 1 ETH 和 2,000 USDC。你的存款价值 4,000 USDC,池子的常数为 1 × 2,000 = 2,000。
现在 ETH 的市场价格翻倍至 4,000 USDC。套利会重新平衡池子,直到比例匹配。你的份额现在包含:
- ETH:√(2,000 ÷ 4,000) ≈ 0.707 ETH
- USDC:√(2,000 × 4,000) ≈ 2,828 USDC
| 情景 | ETH | USDC | ETH = 4,000 时的价值 |
|---|---|---|---|
| 放在钱包中持有 | 1.000 | 2,000 | 6,000 USDC |
| 存在池中 | 0.707 | 2,828 | 5,657 USDC |
| 差额 | −343 USDC(约 −5.7%) |
与最初的 4,000 USDC 相比你仍然赚了钱,但比单纯持有少赚了约 343 USDC。这个差距就是无常损失,还没有计入你赚到的交易手续费。我们在交易前如何阅读 DEX 池子页面中对此有更详细的介绍。
损失能有多大?
对于标准的 50/50 恒定乘积池,无常损失只取决于价格比率偏离你入场点的程度:
| 一种代币相对另一种的价格变化 | 相对持有的无常损失 |
|---|---|
| 1.25 倍(或 0.8 倍) | 约 0.6% |
| 1.5 倍(或 0.67 倍) | 约 2.0% |
| 2 倍(或 0.5 倍) | 约 5.7% |
| 3 倍(或 0.33 倍) | 约 13.4% |
| 4 倍(或 0.25 倍) | 约 20.0% |
| 5 倍(或 0.2 倍) | 约 25.5% |
公式为:损失 = 2 × √r ÷ (1 + r) − 1,其中 r 是新的价格比率除以原来的价格比率。注意其中的对称性:代币价格减半与价格翻倍造成的损失百分比相同。如果你想进一步了解,请阅读 DeFi 收益从何而来?
为什么叫“无常”
如果价格恰好回到你存入时的水平,池子的构成也会恢复原样,损失随之消失。在此期间,你赚到的交易手续费仍归你所有。这是流动性提供者的最佳情况。我们的文章 Uniswap vs Curve 对此有进一步阐述。
实际上,价格很少能如此整齐地回到原位。如果你在比率已经变化时提取,损失就被锁定了。因此,许多人认为“无常”这个说法有误导性;你还会看到一个更准确的名称——“背离损失”(divergence loss)。关于相关代币的前景,请参阅我们的 SushiSwap 2026–2027 年价格预测。
集中流动性会放大损失
较新的 AMM 设计允许你在选定的价格区间内提供流动性。只要价格保持在区间内,每一美元就能赚取更多手续费,但这也会放大无常损失。如果价格移出你的区间,你的头寸会全部变成较弱的那种资产,并且不再赚取手续费。在使用这类池子之前,请先阅读集中流动性详解。相关阅读:协议自有流动性详解。
如何控制无常损失
- 1选择相关性高的交易对。 稳定币交易对,或由某种代币与其流动性质押版本组成的交易对,会同步变动,因此比率变化很小。不过要留意脱锚风险。
- 2先算清楚。 用上表估算合理价格变动下的损失,并与现实的手续费收入进行比较,而不是与宣传的收益率比较。
- 3谨慎对待奖励代币。 以项目自有代币支付的高收益可能迅速贬值,未必能弥补损失。
- 4检查池子的交易量。 手续费来自交易活动。存款很多但交易量很少的池子,收益也很少。
- 5不要为你不愿持有的代币提供流动性。 无常损失意味着你最终会持有更多下跌的那种代币。
- 6别忘了其他风险。 智能合约漏洞、恶意代币和跑路骗局(rug pull)造成的损失可能远远超过无常损失。
总结
无常损失是让 AMM 自动重新平衡你的代币所要付出的代价。对于给定的价格变动,它是可以预测的;在大幅波动时会迅速扩大;只有当交易手续费超过它时才划算。在存入资金之前,请估算几种价格情景下的损失,与实事求是的手续费预期进行比较,并阅读我们关于如何在 DEX 上提供流动性并了解相关风险的指南。
常见问题
无常损失是真实的损失吗?
与单纯持有两种代币相比,它是一种真实的机会成本。之所以称为无常,是因为如果价格回到你存入时的水平,这部分损失就会缩小。如果你在价格不同的时候提取,损失就会变成永久性的,不过交易手续费可能抵消其中一部分甚至全部。
交易手续费能弥补无常损失吗?
有时可以。在交易活跃的池子里,随着时间推移,手续费可能超过无常损失;但在交易量低或价格波动大的池子里,往往做不到。两种情况都没有保证,所以在存入资金前,请把预估手续费与不同价格情景下你将面临的损失进行比较。
稳定币池会有无常损失吗?
由两种保持锚定的稳定币组成的池子,无常损失非常小,因为价格比率几乎不变。更大的风险是其中一种稳定币脱锚,这时池子往往会让你持有更多较弱的那种币。
价格上涨和下跌时都会产生无常损失吗?
是的。无常损失取决于两种代币之间的价格比率变化了多少,而不是变化的方向。与持有相比,一种代币价格翻倍和价格减半所造成的无常损失百分比相同。关键在于比率偏离你入场时的点位有多远。
