计算器

集中流动性无常损失计算器(Uniswap v3)

设定价格区间和价格变动:查看相对持币的无常损失、回本所需的手续费,以及仓位相对全区间仓位的集中程度。然后看看真实池子里每个区间扣除无常损失后实际赚了多少。

不同区间和价格变动下的无常损失

价格变动±5%±10%±20%全区间
-50%-33.00%-32.54%-31.22%-5.72%
-30%-16.91%-16.03%-13.78%-1.57%
-20%-10.17%-9.08%-6.36%-0.62%
-10%-4.13%-2.83%-1.43%-0.14%
-5%-1.33%-0.67%-0.34%-0.03%
+5%-1.20%-0.61%-0.31%-0.03%
+10%-3.50%-2.32%-1.18%-0.11%
+20%-7.79%-6.57%-4.34%-0.41%
+30%-11.71%-10.45%-8.14%-0.85%
+50%-18.63%-17.34%-14.92%-2.02%
+100%-31.97%-30.66%-28.16%-5.72%

怎么看结果

  • 无常损失:新价格下仓位的价值,与直接持有你存入的代币相比的差距,不计手续费。
  • 回本所需手续费:仓位要追平持币,需要赚到的手续费占存入金额的比例。
  • 集中度:每一美元对应的流动性,相对全区间仓位的倍数。在区间内时,手续费和无常损失都按它放大。

公式

对于从 pa 到 pb 的区间,价格 p 在区间内时,一单位流动性持有 x = 1/√p − 1/√p_b 个 token0 和 y = √p − √p_a 个 token1;价格在区间下方时只持有 token0,在上方时只持有 token1。无常损失 = 这些数量在新价格下的价值 ÷ 开仓时数量在新价格下的价值 − 1。对全区间仓位,它就变成熟悉的 2√r / (1 + r) − 1,其中 r 是价格比。

为什么窄区间损失更大

同样的存入金额,±10% 区间的流动性约是全区间仓位的 20 倍。价格留在区间内时,它赚的手续费也约是 20 倍。如果价格上涨 20%,它最终比持币落后 6.6%——要赚到相当于存入金额 7.2% 的手续费才能回本——而全区间仓位只落后 0.4%。集中度同时放大手续费和损失。

从计算器到回测

计算器假设只有一次价格变动,也不计手续费。一个区间的真实回报取决于价格走过的路径,以及价格在区间内时池子付出的手续费。LPSignal 用每个覆盖池子的真实逐小时历史、按池子手续费增长计数器的精确手续费回测每个区间,并按净 APR(手续费减无常损失)排序。参见机会列表、各链最佳池子——Ethereum、Base、Arbitrum、BNB Chain——以及回测方法。

常见问题

Uniswap v3 的无常损失怎么计算?

取一单位流动性在开仓价格和新价格下、在该区间内持有的代币数量(区间内 x = 1/√p − 1/√p_b,y = √p − √p_a;区间外只有一种代币),都按新价格估值,用仓位价值除以持有开仓数量的价值,再减一,就是无常损失。

集中区间的无常损失更大吗?

是的。窄区间每一美元对应的流动性更多,所以同样的价格变动下相对持币损失更多——价格留在区间内时赚的手续费也更多。±10% 区间的集中度约是全区间仓位的 20 倍。

价格离开我的区间会怎样?

仓位只剩一种代币:价格跌破区间时全是 token0,涨过区间时全是 token1。它不再赚手续费,价格离得越远,与持币的差距就越大。

要赚多少手续费才能回本?

等于以金额计的无常损失:计算器把它显示为存入金额的比例。LPSignal 的净 APR 对真实池子做的正是这件事——一个区间在最近一天、一周、一个月里赚到的手续费减去它的无常损失。