流动性挖矿无常损失计算器

选择计算方式
按投入资产比例
按投入资产金额
代币价格变化
资金池比例
资金1
%
%
资金2
%
%
开始计算
计算结果
资金1
--
资金2
--
无常损失
--
当前代币价格
投入时代币价格
投入代币数量
资金1
资金2
按投入资产金额的计算方式仅支持50:50的资金池
开始计算
计算结果
资金1
--
投入资产
--
资金2
--
当前资产
--
无常损失
--
资产涨幅
--

什么是无常损失?

无常损失(Impermanent Loss)是在进行流动性挖矿时会碰到的一种损失。这种损失是由于代币价格背离引起的。当价格回归时,这种损失也就没有了。我们这里说的是损失,不等同亏损。当我们把一对代币添加进流动性之后,如果一种代币以另一种进行计价的价格上升,那么在价格上升后你把他们取出,得到的总价格比直接手握这两种代币要低一些,低的这一部分就是损失,价格偏离越大损失就越大,所以可能造成亏损,特别是当两种代币在实际中都要以其他稳定币来计价时。

为什么会造成无常损失?

要了解为什么添加流动性有手续费收入,而流动性提供者的持币价值却会下降,我们需要仔细了解流动性挖矿交易公式,我们拿Uniswap流动性挖矿50:50的池子举例子,以下是公式:

• eth_liquidity_pool * token_liquidity_pool = constant_product

通过这个公式可以推导出ETH价格的公式:

• eth_price = token_liquidity_pool / eth_liquidity_pool

通过这两个公式,我们就可以计算出代币在任何价格时流动性池的大小:

• eth_liquidity_pool = sqrt(constant_product / eth_price)

• token_liquidity_pool = sqrt(constant_product * eth_price)

然后,我们看一下在代币价格产生变化后对流动性提供者的影响。

假设流动性池的大小是100 ETH和10,000 DAI,提供者添加流动性1 ETH和100 DAI,占池的1%,

当ETH价格产生变化,变成价格为1 ETH=120 DAI时,根据上面的公式,我们可以算出池中ETH和DAI的数量:

• eth_liquidity_pool = 91.2871

• dai_liquidity_pool = 10954.4511

而流动性提供者可以从池中领取0.9129 ETH和109.54 DAI,换算成DAI总价值219.09 DAI。如果流动性提供者当时没有添加流动性,换ETH新价格计算总价值为220 DAI。因此,流动性提供者损失了0.91 DAI。

根据以上公式,我们可以推导出无常损失的公式:

• impermanent_loss = 2 * sqrt(price_ratio)/(1 + price_ratio)- 1

最终结论:

1. 相对于持有现货

• 1.25倍的价格变化导致亏损0.6%

• 1.50倍的价格变化导致亏损2.0%

• 1.75倍的价格变化导致亏损3.8%

• 2倍的价格变化导致亏损5.7%

• 3倍的价格变化导致亏损13.4%

• 4倍的价格变化导致亏损20.0%

• 5倍的价格变化导致亏损25.5%

2. 无论价格变化发生在哪个方向,损失都是相同的