深入分析 Uniswap V3 流动性供应的数学原理_UNI:unisat网址

撰文:MellowProtocol编译:Blake

大家好,客套话就不说了,让我们谈谈UniswapV3的数学逻辑吧!

我们将深入探讨UniswapV3中流动性供应的工作原理,以及如何调整两种代币的投资组合,以便您产生最大的LP头寸,同时将IL降至最低。接下来会有很多的公式和数字。

UniswapV2回顾:交易者的角度

UniswapV2是一个自动化的做市商,它允许:

交易者将一种资产换成另一种资产;

流动性提供者(LP)提供流动性并赚取交易费用。

每个池有两种代币:X和Y。如果池内有Xp?个X代币和Yp?的Y代币,则池流动性L定义为:

当前池中代币的比例定义了当前的交换价格p:

如果交易者想要交换y个Y代币,他们将y个代币存入池中并收到x个X代币。x由池使用以下等式决定:

这里的?是池费。对于UniV2来说,它的数值是0.3%。

现在假设当?=0时,让我们看看如果当前价格p=1,池储备Xp=1,Yp=1,并且交易者想要交换y=1个单位的Y代币会发生什么。

图1:UniswapV2交易者的角度

交易者将收回X的x=0.5代币。池储备和价格将更新为Xp?=0.5,Yp?=2,p=4。

我们预计当前价格p=1时x=1,但实际x金额会受到损失,我们称之为滑点:

好消息是sl→0,因为池流动性L增加或交换量减少,即对于足够小的交换量,您以价格p交换的费用较小。

现场 | 观点:区块链技术需要深入场景才能形成产业:金色财经现场报道,10月15日,华山论剑2020网络安全大会于西安召开,在大会的区块链安全与应用创新分论坛圆桌讨论环节,

基石基金管理合伙人秦少博分享表示,区块链创新型的业务需要承担比较大的沉默成本,在区块链领域创业需要考量自身能力。区块链技术需要深入场景才能形成产业,过去5年由币引发的热潮已经越发理智。把区块链作为技术、生产力讨论更合适。不宜与太大的市场概念结合。

中国移动研究院安全技术研究所所长何申分享表示,从通信行业看待区块链,会从系统工程高度去看,当区块链从节点成网形成共识,需要考虑节点的安全。此外,可信是一种保障预期方案,区块链是一种方案,两种方案的协同,是通信领域的重点。对于区块链透明性带来的隐私问题可以通过隐私技术解决,但可能在公链场景里比较难实现。[2020/10/15]

UniswapV2回顾:流动性提供者的角度

现在让我们看看如果p=4,池准备金Xp?=0.5,Yp?=2,L=1并且流动性提供者想要放置x=0.25的代币X和y=1的代币Y会发生什么。

图2:UniswapV2流动性提供者的角度

在这种情况下,池的新储备将为Xp?=0.75、Yp?=3和L2=Xp·Yp?=2.25,因此L=1.5并且流动性提供者以UniV2lp代币的形式收到ΔL=0.5的流动性。现在,在每笔交易中,流动性提供者将收到ΔL/L=1/3份额的费用。

在这个例子中,我们故意使用x=0.25和y=1作为流动性提供者的投资,因此y/x=4=p。

声音 | 大连港:将继续开拓区块链技术 深入开展创新工作:金色财经报道,大连港(601880)被提问“除了区块链电子放货平台之外,接下来还有什么区块链项目落地”时表示,目前,大连港利用区块链的去中心化、不可篡改、共享账本等特征所建立的区块链信任机制,使业务信息公开透明公正,借助区块链的数据加密作用强化数据信息安全功能,确保数据的安全性、完整性和一致性,使船、轮驳公司、智慧港口平台各方都能实时、安全、无缝地传递拖轮作业信息,实现全程留痕和全程可追溯,满足轮驳业务的安全性和准确性要求。未来大连港还将继续开拓区块链技术业务实现场景,深入开展创新工作,在全港口领域推行区块链技术应用落地。(上证e互动)[2019/10/30]

如果y/x≠p会发生什么?在这种情况下,一部分代币Δx或Δy会被返还给流动性提供者,使得剩余比率(y-Δy)/x=p或y/(x-Δx)=p。如果流动性提供者想要充分利用他们的代币并获得最大的流动性,他们首先必须交易他们的代币,以便y/x=p然后将它们放入池中。

对于UniV2,调整您的代币组合以获得最大流动性非常简单。UniV3会怎么样呢?事实证明这越来越复杂。

UniswapV3:单仓

2021年5月,Uniswap团队推出了V3。在UniV3上,您可以将流动性置于任何价格区间。只要价格在范围内,您就有流动性L并赚取费用。当价格超出范围时,您不会赚取任何费用,直到价格回到范围内。

让我们看看它是如何运作的。首先,让我们考虑只有一个持仓且价格区间为=的矿池。当前池准备金为Xp?=Yp?=0.5,价格为p=1。在这种情况下,随着交换发生且价格在变动,我们观察到以下池行为:

声音 | 中国科学院院士:区块链等已经深入到市民生活的方方面面:9月10日至11日,2019世界计算机大会在湖南长沙举行,中国科学院院士张平文说,计算机包括5G、云计算、大数据、人工智能、区块链等,已经深入到市民生活的方方面面。(中国新闻网)[2019/9/12]

图3:UniswapV3单仓

这里绿色曲线是用于交换的实际代币储备,红色曲线是虚拟流动性曲线,模拟用户在UniV2上进行交换。

只要价格在范围内,池的行为就与拥有红色流动性曲线的UniV2池完全相同。当价格越界时,虚拟流动性降至零,实际流动性集中在X或Y代币中,不用于交换。

UniswapV3:多仓

现在让我们看看如果在上有两个流动性投资x?,y?和在上有x?,y?会发生什么。这些投资中的每一个都意味着虚拟流动性L?和L?

图4:UniswapV3两个仓位

可以看出,当两个区间都覆盖价格时,两个实际储备都被使用,池虚拟流动性等于流动性总和。当只有一个区间覆盖价格时——仅使用其流动性。当价格在两个区间之外时,池流动性为零。

这为UniV3提供了一个独特的特点——分段流动性函数。当价格沿着虚拟曲线移动时,流动性价值在某些价格点上变化了一些ΔL。您可以在图3中看到在价格p??和p??处发生这种跳跃。

刻度和刻度间距

UniswapV3的实际情况比上图中显示的要困难一些。在真正的UniV3中,您不能将流动性置于任意价格区间。取而代之的是,所谓的刻度在价格范围内形成了一个离散的网格。刻度由公式定义:

动态 | 报告:随着区块链技术的深入应用 引发的网络安全问题将逐渐增多:据齐鲁网6月11日消息,今天下午,《2018年山东省互联网网络安全报告》在济南发布。报告提到,随着区块链技术的深入应用,引发的网络安全问题将逐渐增多,以数字加密货币为基础的黑产交易、网络勒索等行为出于不可控状态,挖矿恶意软件持续猖獗。[2019/6/11]

对于每个池,还有一个刻度间隔的概念。刻度间距是刻度之上的另一个网格,它限制了您可以放置流动性的刻度。例如,对于0.3%-费用的池刻度间隔是60,这样你可以只在每个60的刻度上放置流动性,例如,0,-60,60,120,-120,...下图显示了刻度间距刻度和刻度

图5:刻度和刻度间距

因为您的流动性价格区间界限只能是刻度间距刻度,所以任何空间刻度间隔内的流动性都是恒定的,并且只有在价格穿过刻度间距刻度时才会改变。

因此,我们有一个分段流动性函数,其中可能在刻度间隔刻度处发生跳跃。

仓位的流动性价值

让我们看看流动性L是如何计算的,给定初始代币x和y、价格区间和当前价格p。

从这些等式中可以看出,如果x和y代币的比例不正确,则一些代币将返回给流动性提供者。这与我们在UniV2中观察到的行为类似。

但是对于UniV3,它更复杂,因为我们有分段流动性函数,在刻度间隔刻度处跳跃。在下一章中,我们将展示如何在UniV3上以最有效的方式放置代币。

有效的流动性提供

如果我们有一个由x个代币X和y个代币Y组成的投资组合,并且我们想为价格范围提供流动性,我们应该交换多少代币X或Y以从中获得最大的流动性?

动态 | 北大光华成立金融科技联合实验室 向区块链等五大领域深入研究:10月12日,北京大学光华管理学院与度小满金融宣布合作成立金融科技联合实验室,并在北京大学为实验室揭牌。联合实验室主任刘晓蕾表示实验室将围绕数字化资产配置、超大规模关联网络、在线机器人、监管科技、区块链技术等五大领域深入研究,积极探索前沿技术在金融场景中的应用,同时推动跨学科人才的培养和输出。[2018/10/12]

为了回答这个问题,让我们用R=y/x来表示——我们投资组合中代币的比率和r??(p)——最佳代币比率,使得Lx=Ly。从Lx和Ly的公式我们可以得出:

所以我们的目标是使R=r??。

然而,这项任务比仅仅将x和y对齐到指定的比率r??稍微复杂一些。当我们开始将x交换为y或反之亦然时,池价格p开始变化,r??也是如此。这种行为如下图所示:

图6:将R对齐到r??

另一层复杂的是,随着价格p的变化以及跨越分时间隔分时池流动性L也在变化!为了解决这个问题,让我们首先了解在流动性L不变的情况下,当我们用代币Y交换代币X时,比率R如何演变。

从方程L2=xy和p=y/x很容易推导出:

因此,如果我们用Y交换X,从Y中减去费用,交换后的价格结算为p?(p?>p?):

如果是用X交换Y,则p?<p?,我们有:

下一个问题是:

R在什么比率时会穿过刻度间隔以及产生流动性变化?

如果我们将R+表示为穿越上刻度的比率,R-表示下刻度的比率,p?是初始价格,p-、p+是各自在刻度上对应的价格,L为刻度间隔的当前流动性,然后我们得到:

最后,我们已准备好解决问题。

首先,我们需要回答2个问题:

R>r??(p?)吗?如果是,我们需要将Y交换为X,否则的话将X交换为Y。

当我们交换时——矿池价格会跨越一个刻度间隔刻度吗?如果否-我们可以立即解决问题。如果是-我们需要调整我们的值,就像我们一直交换到刻度间隔,然后在新的流动性上重复我们的算法。

这些问题的答案将我们带到了4个不同的案例中:

在一个刻度间隔内用Y交换X:R>r??(p?),R+≤r??(p+)

在一个刻度间隔内用X交换Y:R<r??(p?),R-≥r??(p-)

在不同的刻度间隔中用Y交换X:R>r??(p?),R+>r??(p+)

在不同的刻度间隔中用X交换Y:R<r??(p?),R-<r??(p-)

情况1:在一个刻度间隔内用Y交换X:R>r??(p?),R+≤r??(p+)

图7:在一个刻度间隔内将Y交换为X。当我们从Y交换到X时,价格增加到p?,R减少到R+,而r??增加到r??+。由于最初R>r??且R+≤r??+,因此可以保证R=r在刻度间隔内。

如果我们用y交换x并且交换后的价格稳定在p?,我们只需要确保Ryx(p?)=r??(p?):

如果我们假设z=√p?并重新排列方程的项,我们将得到一个二次方程:

因此我们可以求解它并找到p?:

要交换的代币Y的数量是:

情况2:在一个刻度间隔内用X交换Y:R<r??(p?),R-≥r??(p-)

图8:在一个刻度间隔内用X交换Y。当我们从X交换到Y时,价格下降到p?,R增长到R-,而r??下降到r??-。由于最初R<r??并且R-≥r??-可以保证R=r在刻度间隔内。

这种情况与情况1非常相似,除了我们是将X交换为Y,因此我们需要确保Rxy(p?)=r??(p?):

与情况1类似,我们可以得到:

要交换的代币X的数量是:

情况3:在不同的刻度间隔中用Y交换X:R>r??(p?),R+>r??(p+)

图9:在不同的刻度间隔中将Y交换为X。当我们从Y交换到X时,价格会增长到p2,然后增长到p?,R减少到R+,而r??增加到r??+。由于最初R>r??和R+>r??+,因此当我们交换到R=r??时,可以保证价格将跨越刻度间距刻度

在这种情况下,我们将Y交换为X,直到R=R+并且p=p+并且我们处于具有新流动性的新刻度间隔中。我们记得我们交换了多少个Y标记,以便稍后将它们添加到最终数字中。然后我们重新开始算法并重复,直到我们遇到案例1。那我们就重新定义:

情况4:在不同的刻度间隔中用X交换Y:R<r??(p?),R-<r??(p-)

图10:在不同的刻度间隔中将X交换为Y。当我们从X交换到Y时,价格下降到p?然后到p?,R增加到R-,而r??减少到r??-。由于最初R<r??和R-<r??-可以保证在我们交换到R=r??时价格将跨越刻度间距刻度

与情况3完全相似,除了我们将X交换为Y,直到R=R-并重复直到我们遇到情况2。我们重新定义:

结论

在UniV3中以正确的比例提供流动性是一项非常复杂的任务。您需要考虑很多因素,例如刻度间隔内的不同流动性值。上面的算法描述了如何使用池数据来计算需要交换的代币数量以获得最高的流动性。

数字图表可在此处获得:

https://www.desmos.com/calculator/rqbrnapxbj

https://www.desmos.com/calculator/ys7kcfgjxe

https://www.desmos.com/calculator/ehdwkbtu7z

https://www.desmos.com/calculator/huzzwffze9

https://www.desmos.com/calculator/t9u9x8xgcy

在以后的文章中,我们计划讨论UniV3的其他有趣方面,如无常损失、多头投资组合、策略风险等。

MellowProtocol正在探索AMM的流动性提供和做市空间。您还可以在?此处查看我们的初步研究论文。Mellow的目标是建立一个强大的工具生态系统,以消除市场低效率并为用户创造成果。

我们不仅将其视为一种产品,而且将其视为复杂数学可以为DeFi领域带来的演变。与Uniswap和Curve创新用户交易体验的方式类似,我们相信LP优化也在推动tradfi的可能性。

在接下来的文章中,我们将讨论有关如何实施适当的再平衡策略的更多想法,并将继续讨论DeFi中更广泛的主题。

?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:46ms0-1:366ms