DeFi流动性挖矿必懂,无常损失的原理与计算方法

admin 2026-09-21 09-21-07 6 0

在DeFi生态中,流动性挖矿是吸引用户参与的核心玩法之一,而“无常损失”(Impermanent Loss)则是流动性提供者(LP)最需要警惕的风险之一,很多新手在参与AMM类协议(如Uniswap、PancakeSwap)的流动性挖矿时,常因忽略无常损失而低估实际收益,本文将从原理出发,详细拆解DeFi无常损失的计算方法,帮你快速估算潜在风险。

DeFi流动性挖矿必懂,无常损失的原理与计算方法

先懂AMM:无常损失的根源

要理解无常损失,首先得明白AMM自动做市商的运作规则,以Uniswap V2这类恒定乘积模型为例,两种代币(如ETH和USDT)的储备量满足核心公式:
*xy = k**
x是代币A的储备量,y是代币B的储备量,k是恒定值(当价格变动时,储备量会自动调整,保证乘积不变)。

无常损失的本质是:当代币价格偏离初始水平时,LP将资产存入AMM池子获得的收益,不如直接持有两种代币的收益高,这个差值就是“无常损失”。

无常损失的计算步骤(附简化公式)

我们可以通过“价格变动前后的价值对比”来计算无常损失,具体步骤如下:

定义初始状态

假设LP在某时刻投入代币A(数量a₀)和代币B(数量b₀),此时代币A相对于B的价格为P₀(即1个A = P₀个B),则:

  • LP初始总价值(以B计价):V₀ = b₀ + a₀*P₀
  • AMM池子的恒定值:k = a₀*b₀

价格变动后的状态

当代币A的价格变为P₁时,根据恒定乘积公式,池子中两种代币的储备量会自动调整为a₁b₁,此时满足:

  • 价格关系:P₁ = b₁/a₁(A的价格 = B储备量 / A储备量)
  • 推导新储备量:a₁ = √(k/P₁)b₁ = √(k*P₁)

两种场景的价值对比

我们需要对比两种选择的收益:

  • 场景1:存入AMM池子:此时总价值(以B计价)为:
    V_pool = b₁ + a₁*P₁
  • 场景2:直接持有代币:不存入池子,初始资产的总价值(以B计价)为:
    V_hold = b₀ + a₀*P₁

无常损失的计算公式

无常损失(以B计价)为V_hold - V_pool,通常用百分比表示:
*IL% = [(V_hold - V_pool) / V_hold] 100%**

为了简化计算,我们可以用价格变动率r = P₁/P₀(即价格涨跌倍数)推导通用简化公式:
*IL% = (2√r)/(1 + r) - 1**
这个公式不需要初始储备量,只要知道价格变动倍数就能快速估算,非常实用。

实际计算例子(一看就懂)

举个直观的例子:
假设LP投入1ETH和1000USDT,初始价格P₀=1ETH=1000USDT,则a₀=1b₀=1000k=1*1000=1000

情况1:ETH价格涨到2000USDT(r=2)

  • 新储备量:a₁=√(1000/2000)≈0.707ETHb₁=√(1000*2000)≈1414USDT
  • 池子总价值:V_pool=1414 + 0.707*2000=2828USDT
  • 直接持有的价值:V_hold=1000 +1*2000=3000USDT
  • 无常损失:IL%=(3000-2828)/3000≈5.73%,和简化公式计算结果一致。

情况2:ETH价格跌到500USDT(r=0.5)

代入简化公式:IL%=(2*√0.5)/(1+0.5)-1≈-5.73%,和价格翻倍的损失相同,说明价格涨跌幅度相同时,无常损失的绝对值一致

关键提醒:“无常”的含义与实际影响

这里的“无常”是指:如果代币价格回到初始水平,无常损失会完全消失,只有当价格偏离初始水平时,损失才会