Skip to main content

无偿损失

什么是无偿损失

Uniswap上添加流动性挖矿的时候,由于价格波动,偏离了添加流动性时的价格,会导致一种总资产价值损失。成为无偿损失。这种损失的原因是在Uniswap恒定积机制下代币价格背离产生的。如果价格回归到了添加流动性时的价格,这种损失就会为 0.价格背离越大,损失越大。无论价格上涨或下跌,都会有无常损失。 例如我们添加ETH/DAI的交易对来挖矿。则无论 ETH 价格上涨还是下跌,移除流动性以后,拿到手的 ETH 和 DAI 的总价值会有损失

无偿损失的原因

根据Uniswap恒定积公式,可以做以下推导。 设恒定积为K tokenA: 数量为a,价格为Pa tokenB: 数量为b,价格为Pb

根据恒定积公式:

ab=Ka * b = K

tokenA的价格: Pa=baPa = {b \over a}

tokenB的价格: Pb=abPb = {a \over b}

{ab=K Pa=ba=>b=aPa \begin{cases} a * b = K &\ \\ Pa = {b \over a} => b = a * Pa &\ \end{cases} => a=KPaa = \sqrt{K \over Pa}

同理

{ab=K Pa=ba=>a=bPa \begin{cases} a * b = K &\ \\ Pa = {b \over a} => a = {b \over Pa} &\ \end{cases} => b=KPab = \sqrt{K * Pa}

设: 添加流动性时,所占池子比例为 n。当 A 以 B 记价的价格上涨了一个比率 r 后,我们有多大比率的无偿损失

如果不参与挖矿,上涨后,两个代币总价值

当前池子中代币 A 的数量: KPa\sqrt{K \over Pa}

我们占池子的比例是 n,则,我们手里代币 A 的数量为: nKPan\sqrt{K \over Pa} 价格上涨后,代币 A 价值: nKPaPa(r+1)n\sqrt{K \over Pa} * Pa(r+1)

同理: 当前池子中代币 B 的数量: KPa\sqrt{K * Pa},我们占池子的比例是 n,则我们手里代币 B 的数量为: nKPan\sqrt{K * Pa} 价格上涨后,代币 B 价值(这里是以 B 为单位计价): nKPan\sqrt{K * Pa}

两个代币的总价值: nKPaPa(r+1)+nKPan\sqrt{K \over Pa} * Pa(r+1) + n\sqrt{K * Pa}

如果参与了流动性挖矿,上涨后,两个代币的总价值

上涨后代币 A 的价格: Pa(r+1)Pa(r+1)

上涨后代币 A 的数量: KPa(r+1)\sqrt{K \over Pa(r+1)} 代币 A 的价值为: nPa(r+1)KPa(r+1)=>n(Pa(r+1))2KPa(r+1)=>nKPa(r+1)nPa(r+1)\sqrt{K \over Pa(r+1)} => n\sqrt{(Pa(r+1))^2 * {K \over Pa(r+1)}} =>n\sqrt{K * Pa(r+1)}

上涨后代币 B 的数量: KPa(r+1)\sqrt{K * Pa(r+1)} 代币 B 的价值: nKPa(r+1)n\sqrt{K * Pa(r+1)}

两个代币总价值: nKPa(r+1)+nKPa(r+1)=2nKPa(r+1)n\sqrt{K * Pa(r+1)} + n\sqrt{K * Pa(r+1)} = 2n\sqrt{K * Pa(r+1)}

比较计算无偿损失

通过不参与流动性挖矿和参与流动性挖矿后,两个代币总价值相减得出: nKPaPa(r+1)+nKPa2nKPa(r+1)n\sqrt{K \over Pa} * Pa(r+1) + n\sqrt{K * Pa}-2n\sqrt{K * Pa(r+1)}

=> nKPa(r+1)+nKPa2nKPar+1n\sqrt{K*Pa}(r+1) + n\sqrt{K*Pa} - 2n\sqrt{K*Pa} * \sqrt{r+1}

=> nKPa(r+22nr+1)n\sqrt{K*Pa}(r + 2 - 2n\sqrt{r+1})

我们要计算无偿损失率。就拿无偿损失/不添加流动性时的总价值 将不添加流动性时的总价值做一下简化得出: nKPaPa(r+1)+nKPan\sqrt{K \over Pa} * Pa(r+1) + n\sqrt{K * Pa} => nKPa(r+2)n\sqrt{K * Pa}(r+2)

计算比率: nKPa(r+22nr+1)nKPa(r+2)n\sqrt{K*Pa}(r + 2 - 2n\sqrt{r+1}) \over n\sqrt{K * Pa}(r+2) => r+22nr+1r+2r+2-2n\sqrt{r+1} \over r+2

所以可以看出,无偿损失率只与波动率有关。与上涨下跌无关。Uniswap官方给出的损失模型如下

或者换一种说法:

  • 相对于 HODL,1.25 倍的价格变化导致 0.6% 的损失
  • 相对于 HODL,1.50 倍的价格变化导致 2.0% 的损失
  • 相对于 HODL,1.75 倍的价格变化导致 3.8% 的损失
  • 相对于 HODL,2 倍的价格变化导致 5.7% 的损失
  • 相对于 HODL,3 倍的价格变化导致 13.4% 的损失
  • 相对于 HODL,4 倍的价格变化导致 20.0% 的损失
  • 5 倍的价格变化导致相对于 HODL 损失 25.5%

注意,无论价格变化发生在哪个方向,损失都是相同的(即价格翻倍导致与减半相同的损失)。

参考资料