DeFi流动性挖矿已经持续了这么久,可是很多人依然不知道如何计算自己注入流动性池LP的资金量到底如何变化。
先确定两条原则:
第一,你的LP资金量的变化,多数时候根本用不着计算所谓的“无常损失”,不要纠结于此。
第二,你的LP资金量的变化,关键因素是币价的变化,更精确地说,是一个币价相对于另一个币价的变化。
核算公式
一般的LP池子,采用的和Uniswap规则一致,为1:1等值加密资产注入。
这两个加密资产的数量定义为:a和b
加密资产a最新的价格定义为:Pa
K=a*b
加入流动性池的那一刻,决定了K,K是常数,不变化。
以b为基准,谁更加有价值或者说谁的波动更小,谁就是基准。我们统一将此定义为b。
计算方法:
a*b=K 先把K得出来,这个值为常数,不变化
数量b=根号下(K*Pa)
现在你的LP的总价值就等于:b的二倍
简易公式总结为:资金量=2*根号下(K*Pa)
备注:为表达方便,下文USDT和美金通用,1USDT=1美金。
计算a现在的数量也可以,不过不需要记忆,记住b怎么算就好了,因为计价以b为基准。
a=根号下(K/Pa)
用ETH-USDT举个例子:
注入LP时的状态
ETH-USDT LP流动性挖矿
上文中的基准是b,这里的基准b就是USDT。
注入流动性的时候,1ETH价格为1000USDT。
10个ETH为10000USDT,a=10
10000USDT,b=10000
所以:
LP注入时你个人的资金量为20000美金
K=a*b=100000
现在的状态:
ETH价格涨到2000美金,池子里还有多少钱?
公式:b=根号下(K*Pa)=根号下(100000*2000)=14142
资金变化为:14142*2=28284USDT
所以,你的LP池子的资金从20000美金变成了28284美金。
无常损失产生了吗?产生了。资金量增长了吗?增长了。两者并不矛盾。
如果当初我不参与LP挖矿,只是拿着ETH和USDT,现在值多少钱?
10个ETH涨了一倍,所以价值20000美金;
手上的1万USDT没动,所以两者合起来就是30000美金。
3万美金和28248美金之间的差值,就是无常损失。
不过,参与流动性挖矿的时候往往不需要去计算无常损失,我更要算的是我当时的资金现在是不是增长。以b为基准,只要a的价格相对于b增长了,我的资金(以b为基准)就是增长的。
反过来,条件不变,ETH价格从我加入LP的时候的1000美金,现在变成600美金了。我LP本金损失多少?
同样的,现在资金量=2*根号下(K*Pa)=2*根号下(100000*600)=15492USDT
本来是20000美金,现在变成15492美金了。
如果持有不动不添加LP,应该是多少?
1万USDT不变,ETH从价值1万美金变成,10*600=6000美金。
总共16000美金。
15492和16000之间的差值就是无常损失。
用BTC-ETH举个例子:
ETH为基准,也就是b
放进去的时候1BTC=27ETH。
你放进去了1BTC和27ETH,价值为1:1。
K=1*27=27
现在ETH涨价了(对BTC涨价了),现在1BTC=10ETH。
也就是Pa=10
如何计算池子里现在价值多少钱?如何计算池子里还有多少BTC和多少ETH?
b=根号下(27*10)=16.43个
这就是b的数量也就是说,现在池子里有16.43个ETH,现在1BTC=10ETH,所以比特币的数量应该是16.43÷10=1.643个
现在的池子里躺着:1.643BTC与16.43ETH
加入的时候是:1BTC和27个ETH
现在的总价值当然等于:16.43*2=32.86ETH
加入的时候总价值等于:27*2=54ETH
以ETH作为基准计价,现在你的资金量就是从54ETH变成了32.86ETH。
更进一步:
以BTC作为基准计价,现在的资金量就是从2BTC变成了1.643BTC*2=3.286 BTC
那么,以比特币计价资金量变多了,以ETH计价资金量变少了,我的资金量是变多了还是变少了?找到当时ETH或者BTC的实际价格,乘一下就知道了。
这也就是小币种-ETH的池子,小币种对ETH大幅度下跌的时候ETH会迅速变少,而手上留下 一堆这个小币种的原因,因为数量b就是ETH的数量,随着Pa的上升而上升,随着Pa的下降而下降。
计算时要选定一个基准,一般情况下LP池子组成方式为小币种加一个稳定币(DAI或USDC或USDT等)或者ETH或者BTC,那么就将这些后者更加稳定的币种(USDT、DAI、USDC、BTC、ETH等等)作为基准也就b来计算就好了。资金量增减也是以这些更加稳定的标的物来核算的。
上文核算各位读者如果用心研究反复推演就会豁然开朗。
备注:为方便阅读,本文公式用“根号下”表达。如果在Excel表格中添加公式可以使用“Sqrt”进行根号计算。