OKEX欧易API入门量化交易机器人,完全免费,办公环境运行,适合小白入门,支持币安和欧易。
此前笔者uniswap V2的兑换滑点做了详细计算,而由于uniswap V3的流动性是关于价格的分段函数,因此它的滑点计算则相对比较复杂,当然我们也可以通过在uniswap网页前端获取到滑点情况:
那么如何通过自己计算获得这个滑点呢?下面我们对他进行详细的分析,以ETH-USDT为例,我们知道uniswap V3上的价格是由tick表示的,即 p(i)= 1.0001^i,, i为tick顺序,那么我们首先对他的流动性进行分段处理,假设分成n段,那么n段中包括的每一个tick space中的流动性均相同,我们他标记为L1,L2………Ln,每段的价格范围为[Pan,Pbn],当前价格为P0,,我们需要计算你有u0个usdt能兑换出多少个ETH,那么先计算出当前段中USDT和Ep的数量分别为
显然的在当前段的端点Pan和Pbn将具有Epn个ETH和Upn个USDT
当u0+up<=up时,将本段内兑换完成,此时满足:
根据(1)到(6)可以计算得到
那么兑换价格Pswap
那么即可得到滑点slipgage(%)
当u0+up>up时,即出现tickcross的时候,只需在本段兑换后剩余的部分在下一段中进行重复的计算,最后也可以计算出最终的滑点。