前言

在DeFi世界中,流动性提供者(LP)是去中心化交易所的血液,他们通过提供资金池让交易成为可能。然而,参与流动性挖矿的朋友们可能都有过这样的疑惑:明明池子里的数字在变化,但当取出资金时却发现,价值竟然变少了!这就是困扰许多人的"无常损失"问题。

本文将从零开始,深入探讨这个复杂但极其重要的概念,揭示其背后的数学原理和经济逻辑,帮助读者理解和应对无常损失。

什么是无常损失?

简单来说,**无常损失(Impermanent Loss)**指的是流动性提供者将资产存入AMM(自动做市商)池后,由于价格波动导致的资产价值损失,这种损失是相对于直接持有资产而言的。

有的文章里觉得 Impermanent Loss 这个说法不够准确,所以也会有人把它叫做 Divergence Loss(背离损失)。

关键点:虽然叫"无常"损失,但在取出资金时,这个损失就变成了"现实"损失。名字中的"无常"只是因为理论上价格可能回到初始水平从而消除损失,但在实践中这种回归往往不会发生。

经典案例解析:ETH暴涨4倍

让我们用一个具体的例子来理解这个过程。假设你存入了1 ETH和1000 USDT到一个流动性池,当时的ETH价格是1000 USDT。

你最初存入时的池子状态(t=0)

项目数量当时价格价值(USDT)
你存入1 ETH10001000
你存入1000 USDT11000
你占比假设你是第一个LP,占比 100%(方便算,实际也一样)
池子总量1 ETH
池子总量1000 USDT
恒定乘积 k1 × 1000 = 1000(k 永久不变)

外界疯狂买ETH,价格涨到4000 USDT(t=1)

有人用USDT不断从池子里买走ETH → 池子自动再平衡:

  • 池子里的ETH变少
  • 池子里的USDT变多
  • 但k永远 = 1000

设现在池子里还剩x个ETH,那么USDT必须是1000/x 当前市场价 = USDT数量 / ETH数量 = (1000/x) / x = 1000 / x²

现在市场价变成4000,所以:

1000 / x² = 4000
x² = 1000 / 4000 = 0.25
x = √0.25 = 0.5

→ 池子里现在只剩0.5 ETH → USDT数量 = 1000 / 0.5 = 2000 USDT → k = 0.5 × 2000 = 1000(k 完美守恒!)

你现在把LP取出(按你最初100%份额)

你取出:

  • 0.5 ETH
  • 2000 USDT

按当前4000的价格算价值: 0.5 × 4000 + 2000 = 2000 + 2000 = 4000 USDT

如果你当初什么都不干,直接持有

你现在还有:

  • 1 ETH(现在值4000)
  • 1000 USDT

总价值 = 4000 + 1000 = 5000 USDT

无常损失就出来了

4000(LP取出) − 5000(直接持有) = −1000 USDT → 损失20%

核心机制:AMM再平衡的被动套利效应

“明明x × y = k没变,为什么我取出来的钱变少了?",答案在于AMM的再平衡机制逼你"高抛低吸”

  • ETH涨 → 别人买走你的ETH(你被强制卖了)
  • ETH跌 → 别人卖给你ETH(你被强制买了)

这一机制本质上是LP将资产定价和交易执行权委托给AMM算法,导致在外部市场价格波动时,LP的持仓比例被套利者强制调整,从而产生相对于简单持有策略的机会成本。

详细数学原理:为什么会出现无常损失

为了更深入地理解无常损失的产生机制,我们需要从数学角度来推导。我们知道 Uniswap 提供了自动做市商的协议。池中的代币 A(数量为 $a$)和代币 B(数量为 $b$)之间的交换过程始终要保持 $a$ 与 $b$ 的积为一个常量 $c$:

$$a \times b = c \tag{表达式1}$$

如果我们考虑以代币 B 来计价代币 A,我们用 $P_A$ 标识这个价格。当前市场价格下: $$P_A = \frac{b}{a} \tag{表达式2}$$

根据表达式 1、2,我们可以推导出价格变化后池中代币数量的计算公式。

代币 A 数量公式推导

价格变化因子为 $r$,即新的价格为 $P_A’ = P_A \times (1 + r)$:

$$a’^2 = \frac{c}{P_A (1 + r)} \implies a’ = \sqrt{\frac{c}{P_A (1 + r)}} \tag{表达式3}$$

$$b’^2 = c \times P_A (1 + r) \implies b’ = \sqrt{c P_A (1 + r)} \tag{表达式4}$$

价值对比:LP策略 vs HODL策略

(1) HODL策略的价值变化

如果我们不提供流动性而在初始时以价格 $P_A$ 持有:

  • A代币数量:$n \sqrt{\frac{c}{P_A}}$ (占池子 $n$ 比例)
  • 价格上涨后,这部分价值:$n \sqrt{\frac{c}{P_A}} \times P_A (1 + r)$
  • B代币数量:$n \sqrt{c P_A}$
  • 这部分价值:$n \sqrt{c P_A}$

总价值(HODL策略): $$V_{HODL} = n \sqrt{\frac{c}{P_A}} \times P_A (1 + r) + n \sqrt{c P_A} \tag{表达式5}$$

(2) LP策略的价值变化

价格变化后,我们在流动性池中占比 $n$:

  • A代币价值:$n \sqrt{\frac{c}{P_A (1 + r)}} \times P_A (1 + r) = n \sqrt{c P_A (1 + r)}$
  • B代币价值:$n \sqrt{c P_A (1 + r)}$

总价值(LP策略): $$V_{LP} = 2n \sqrt{c P_A (1 + r)} \tag{表达式6}$$

损失计算与通用公式

无常损失的绝对量: $$Loss = V_{HODL} - V_{LP} = n \sqrt{c P_A} \left[ (1+r) + 1 - 2\sqrt{1+r} \right] \tag{表达式7}$$

无常损失率(相对于HODL策略的价值): $$IL_{rate} = \frac{(1 + r) + 1 - 2\sqrt{(1+r)}}{(1 + r) + 1} = 1 - \frac{2\sqrt{(r+1)}}{r+2} \tag{表达式8}$$

实际验证案例:价格上涨50%

让我们用一个具体的例子来验证公式。假定在 Uniswap 的 ETH-USDT 池进行挖矿,初始条件为池中有 100 ETH 和 40,000 USDT,我们投入挖矿的代币占比为 1%(即 1 ETH,400 USDT)。

初始 $k = 100 \times 40000 = 4,000,000$。

如果 ETH 价格从 400 USDT 上涨 50% 到 600 USDT,即价格倍数 $r = 0.5$:

  • 价格涨50%后,根据公式 8,损失率 = $\frac{0.5 + 2 - 2\sqrt{0.5 + 1}}{0.5 + 2} = \frac{2.5 - 2\sqrt{1.5}}{2.5} \approx 2.02%$

这个结果与我们上面经典案例解析中的 20% 损失是相对应的(在我们更精确的例子中,初始占比 1% 使得损失率约为 2.02%)。

损失率曲线分析

无常损失率只与价格变化倍数 r 有关,我们可以绘制不同价格变化下对应的损失:

  • 当上涨率为 -1(也就是价格变成 0),损失率 -100%
  • 当上涨率为 0(价格不变),损失率 0.00%
  • 当上涨率为 0.25(价格涨25%),损失率约 0.6%
  • 当上涨率为 0.5(价格涨50%),损失率约 2.0%
  • 当上涨率为 1(价格涨一倍),损失率约 5.7%
  • 当上涨率为 4(价格涨 4 倍),损失率约 25.5%

机制详解

  1. AMM的价格发现与约束:
  • AMM通过恒定乘积不变量k维持池内资产X和Y的乘积恒定,确保任何交易后x’ · y’ = k。
  • 池内即时价格P = y / x(以X计价Y),由资产数量比率决定,而非外部市场价格主导。
  • 当外部市场价格偏离池内价格时,套利者介入,通过与池子的交易(如买入低估资产、卖出高估资产)强制池内价格向外部市场收敛。
  1. 被动再平衡的逆向操作效应:
  • 价格上涨情景(假设Y相对于X的价格从P上涨至rP,r > 1):套利者从池中买入Y(升值资产),卖入X(相对贬值资产)。这导致LP的Y持仓减少、X持仓增加,相当于LP被动"高卖"Y(在价格上涨时减持升值资产),从而错失进一步增值机会。
  • 价格下跌情景(r < 1):套利者卖出Y(贬值资产)至池中,买入X。这导致LP的Y持仓增加、X持仓减少,相当于LP被动"低买"Y(在价格下跌时增持贬值资产),放大损失放大。
  • 此过程违背投资者直觉偏好,如追涨杀跌,而强制执行反向操作,类似于"卖出赢家、买入输家"。
  1. 量化表述:
  • LP的最终价值V_LP = 2√(k · r)(归一化初始k=1后简化为2√r),而持有策略价值V_HODL = 1 + r。
  • IL = (V_LP / V_HODL) - 1 = (2√r / (1 + r)) - 1,反映了几何平均回报相对于算术平均回报的折损,源于持仓的动态调整。
  • 该损失具有对称性,即价格上涨r倍或下跌1/r倍产生相同IL百分比,源于√r的凸函数性质

最佳实践

1. 如何降低无常损失

  • 选择合适的交易对(稳定币对、相关资产对)
  • 使用更先进的AMM模型(如Uniswap V3的集中流动性)
  • 考虑手续费收入与无常损失的平衡

2. 风险管理策略

  • 根据市场波动情况动态调整流动性
  • 定期评估和调整LP策略
  • 组合多种资产降低单一资产风险

3. 投资时机选择

  • 在市场相对稳定时添加流动性
  • 在预期波动加剧前撤离
  • 结合技术分析和基本面分析做出决策

总结

无常损失是DeFi流动性提供机制的固有特征,理解它对于参与DeFi生态至关重要。虽然它会带来一定的损失,但通过选择合适的策略、交易对和时机,LP可以有效地管理这一风险,实现风险调整后的收益最大化。

最终,无常损失提醒我们:在DeFi世界中,简单的"存钱就能赚钱"的想法是不现实的,需要深入理解机制,制定科学的策略,才能在波动的市场中取得理想的收益。

参考: