说明

公式推导基于uniswap v2,不适用于uniswap v3。

非永久性损失

用户为流动性池提供流动性时,由于交易对价格变化使池内的交易对的代币数量发生变化,相比较于不参加提供流动性的情况下,这种变化会导致用户资产有一定的损失,而这种损失被称为非永久性损失(国内很多人将其称为无常损失)。

CFMM的原则

uniswap v2是典型的Const Product Market Maker。其遵守以下三条原则:

  1. 交易对(x,y)流动性池内的两种资产价值永远视为相等,v(x) = v(y)
  2. 改变流动性池的k值,保证价格不变, p(x) = y/x
  3. 交易的时候k值不变,k = x*y

推导

0. 说明

  1. 在公式推导过程中,以y对应的token为币本位,或者说以y对应的token作为计价单位。
  2. 不考虑交易费用收入与流动性挖矿收入等任何收入

1. 引入原则

上面CFMM的原则是进行无常公式推导的基础。具体公式如下:

2. 推导x与y

用p(x)与k来表示x与y,方便后面的替换。

3. 定义非永久性损失

首先确定因变量r,然后确定holder及流通性提供者的价值计算公式,最后根据定义得到非永久性损失的定义公式。

4. 推导非永久性损失与价格变化倍数之间的关系

前面提到以y对应的token作为计价单位,那么就假设y对应的token在任何时间价格都不变,永远为1.

具体过程如下:

5. 可视化

利用mania对公式进行可视化,具体如下: