1

深度解析三大头部自动做市商机制

 2 years ago
source link: https://www.tuoniaox.com/news/p-509563.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

深度解析三大头部自动做市商机制

鸵鸟区块链要闻 2021-07-17 10:10
article_qmarks.svg 摘要:

从定价模型、滑点、无常损失、交易费等角度比较分析 Uniswap V3、Curve V2 和 Balancer V2。

自动做市商机制(AMM),以其常数级别的时间空间占用的优势,被许多去中心化交易所(DEX)采用,迄今为止已有许多此类项目大获成功。说到其中佼佼者,必须要提到 Uniswap、Balancer 和 Curve,它们都在近期推出了新的版本, 以针对流动性提供者所关注的各种问题和风险。 本文将会从多个方面对这三个协议的最新版本做出比较。

定价模型和不变式

参与到自动做市商机制中的人群,包括两种不同的角色:流动性提供者(LP)和交易者。流动性提供者向机枪池存入资金,而交易者用一种货币从池中换取另一种代币。AMM 协议需要解决的第一个问题就是如何定价,以一个二币池为例,即如何用代币 2(t2) 的数量表示代币 1(t1) 的价格。

假设池中两种货币的数量分别为 R1 和 R2,在一笔交易中一个交易者想用Δ2 数量的 t2 来买Δ1 数量的 t1。我们可以用一个交易函数ψ来描述一个 AMM 协议,其必须满足在交易前后函数值不变,不变式表示为:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

根据这个等式,我们就可以由Δ1 推出Δ2 (或反之)。而这笔交易同时也会影响价格,因为池中的代币总量在交易之后改变了。实际上,因为机枪池的交易价格和外部参考市场的价格有差距,所以套利者会不断交易知道价差回归,AMM 正是利用这种机制来矫正池内的交易价格。每次交易的平均价格定义为:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

当 dΔ1->0 时,我们可以计算得到边际价格。 三种协议的边际价格总结如下表

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Table 1 边际价格

Uniswap V3

Uniswap 的交易函数定义如下:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

由此可得不变式为:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

推导出Δ2 的表达式为:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

边际价格为:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

当 Δ1->0 时,

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

在新版本 V3 中,由于在不同价格区间的流动性密度不同,需要对每个同一流动性密度的小区间单独计算。当跨过区间边界时,需要的下一个区间做类似计算。

Balancer V2

Balancer的交易函数定义如下:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

由此可得不变式为:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

推导出Δ2 的表达式为:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

边际价格为:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

当 Δ1->0 时,

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

权重ω1,ω2 也代表两种代币总市值的占比,如果指定ω1=ω2=1/2,那么该池就等价于 Uniswap 的池子。特别的,Balancer 允许至多 8 种代币的混合池,当代币种类大于两种时,其交易函数扩展为:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

其他推导步骤也可类似地拓展到多币的情形,推导步骤在此略过。

Curve V2

Curve 协议的交易函数是恒定和函数和恒定积函数的线性组合:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

类似的,我们可以推导出边际价格,当 Δ1->0 时,

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

价格影响和滑点

根据上一步得出的边际价格公式,我们可以通过比较单次交易前后边际价格的变化,来定义这次交易的价格影响。比较三种协议的价格影响,我们能得出以下结论:假定交易同等数量的代币 1,设定ω1 越高的 Balancer 池,其价格影响越大,如果ω1>1/2,那么价格影响大于相同交易在 Uniswap 池中的影响,反之亦然。而在平衡点附近(即价格偏移不严重) Curve V2 的价格影响最小。

在下面的例子中,我们比较四个不同池子的单次交易价格影响,假设初始池中代币总量 R1=R2=10000:

一个 Uniswap V3 池,初始价格为 1

一个 Balancer V2 池,ω1=0.4,ω2=0.6,初始价格为 0.666

一个 Balancer V2 池,ω1=0.6,ω2=0.4,初始价格为 1.5

一个 Curve V2 池,α=1,β=3,初始价格为 1

四个池子的价格影响曲线如下图所示:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Figure 1 价格影响曲线

明显的,对于交易相同数量 Δ1 的代币 1,对价格的影响排序如下:Balancer V2 w1=0.6 > Uniswap V3 > Balancer V2 w1=0.4 > Curve V2。

对于 Curve 来说,因为其在一定范围内价格影响最小,所以最适合稳定币的交易对。根据以往 AMM 协议的经验,价格影响曲线的形状往往和流动性提供者的收益相关。距上图所示,因为 Curve 的价格影响曲线最平缓,导致滑点较低,从而使交易者在这个区间中更频繁地(或更大量)交易,最终流动性提供者赚取了更多的交易手续费。

无常损失

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Table 2 无常损失

对于 Uniswap V3 来说,来自单一提供者的流动性是被放置在某一封闭区间上的,当一种代币的价格下降时,LP 对该种代币的风险敞口逐渐增大,直到价格来到区间边界。此时,该 LP 只有对该种代币的风险敞口,对另一种代币的敞口为 0,若价格继续往同方向移动,则敞口维持不变。

对于 Balancer V2 和 Curve V2 来说,流动性是对整个价格区间提供的,所以敞口会在整个区间上逐渐变化,不会到达最大 / 最小值。

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Figure 2 Balancer 池在不同权重配置下的相对价格变化对无常损失影响

对于 Balancer 协议来说,代币 1 的权重ω1 越小,相同价格波动下的无常损失越小,这是符合直觉的,因为 LP 持有代币 1 的量变小了。

出金与入金

对于想要参与这三种协议的流动性提供者来说,它们对于出金和入金的规则比较起来并没有绝对的优劣,不过根据个人的资产类别和风险偏好,每个协议都有更适合的情形:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Table 3 出金与入金

对于 Uniswap V3 来说,入金时存入两种代币的配比由两点因素决定(1)区间的两个边界 (2)当前交易价格。 简单来说,如果当前交易价格等于两个边界价格的几何平均数的话,LP 需存入 50:50 等量的两种代币。若当前价格更偏向一侧,那么 LP 需要存入的代币中,更便宜的那种代币占据更高的比重。若当前价格在区间之外,LP 只需提供更便宜的一种代币即可。

具体计算方法如下:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

当出金时,两种代币的本金提取量可做类似计算。已赚取的手续费部分,以交易发生时的代币类型收取并提取。对于 Balancer V2,LP 入金时总是需要提供池中所有种类的代币,其配比决定与该池的权重设置

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

对于Curve,当入金时,LP 可以按任意比例存入代币,或仅存入单一种类的代币。但是,若存入比例和当前池内的代币总量比例不符合,LP 将承受一定程度的损失(或奖励)。因为当 LP 获取 LP 代币时,获得的量由以下公式计算:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

其中 D 是在平衡点时池内代币总量,在流动性增加前其值为 D0,在流动性增加后其值变为 D1。但是,(假设投入相同数量的代币)当池内代币比例离平衡点越远,D 值会相对越小,导致 LP 得到的 LP 代币量较少,即产生了损失。相反的,若投入的代币使得池内代币比例趋向于回归平衡点,那么 LP 将得到更多的 LP 代币,即获得了奖励。

流动性聚集

就流动性聚集来说,Uniswap V3 给予了 LP 最大程度的灵活性,LP 们可以根据自己的意愿聚合出任意形式的流动性分布曲线。相较之下,Balancer 和 Curve 以更多的固定参数设定代替了这种灵活性。

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Table 4 流动性聚集方式

Uniswap V3 允许每个 LP 设置任意的流动性范围,以期望总体流动性聚集在一个最活跃的区间。但是,理论上,根据每个 LP 的自主决定,流动性可以被塑造成任意分布。

举例来说,一个和 Uniswap V2 等效的流动性分布入下图所示:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Figure 3 流动性分布 Uniswap V2

这表示,若所有的 LP 都将流动性区间设置为最大可能区间,那么 Uniswap V3 池将会同 V2 等效。

以下是一个和 Curve 近似的流动性分布,所有的流动性都聚集在平衡点附近的一个狭小区间内

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Figure 4 流动性分布 Curve

然而,上图仅仅是 Curve V3 的近似,其实际要更复杂。随着市场条件变化,最活跃价格区间偏离原平衡点太多时,Curve V3 会根据内置 Orcale 来重新调整平衡点和价格曲线。

以下是一个等效于 Balancer V2 的流动性分布,其聚集于更大权重的代币价格更低的一侧

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Figure 5 流动性分布 Balancer V2

然而,以上都不是实际观察到的 Uniswap V3 池常见流动性分布,常见的分布更类似于以下:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Figure 6 实际观察到的流动性分布 Uniswap V3

交易费用

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

Table 5 交易费用

Uniswap V3

每个交易对有三个费用梯度的池子供 LP 选择:0.05%,0.3%,1%。直观上看,LP 更偏向于高费用池,但当高费用池的交易活跃度远低于低费用池时,LP 就不得不参与低费用池。交易者更偏向低费用池,但当低费用池的流动性过于稀薄而滑点过高时,交易者就会被迫从高费用池中交易。

根据实际观察,对于稳定币交易对来说,0.05% 费用的池子最活跃。对于其他交易对,当市场波动率高时,高费用池变得更活跃,当波动率低时,低费用池更活跃。

Balancer V2

Balancer 协议收取两种费用:(1)交易手续费,以交易额的一定百分比对交易者收取 (2)出金费用,当 LP 从协议中出金时按提取额度收取

交易手续费可设置为 0.05% 到 1% 之间,由池子创建者设置初始值,并由协议根据多因子来动态调整,因子包括:波动率,交易额,无常损失,流动性总量,流动性挖矿奖励,等等。

出金手续费可由协议设置,但迄今为止未采用。

Curve V2

费用可设置为 0.04% 到 0.4% 之间,可根据目前池内代币比例做动态调整,当前比例距离平衡点越远,费用率越低:

多维度解析头部 AMM:Uniswap V3、Curve V2 与 Balancer V2

结论

通过多方面的比较,可以看出每个协议都采取的不同的方法来契合 LP 和交易者们的多方面不同需要。

Uniswap V3 给予了 LP 最大的灵活性,几乎所有参数都可以由 LP 自主决定,而团队并没有额外加入更多辅助特性,以保持协议的简单化。而 LP 则需要管理自己的各种风险。

Curve 历史上曾专注于稳定币交易对,此新版本 V2 致力于扩展所涵盖代币的种类。不同于稳定币,非稳定币交易对的市场中价可能会偏移到新的活跃区间,所以此协议可根据内置 Oracle 的喂价调整流动性聚集范围,而无需 LP 自己重部署流动性区间。此种设计对个人投资者更加友好,但限制了开发更复杂的定制化做市策略的可能性。

Balancer V2 在同一流动性池中容纳了多于两种的代币,并且赋予不同的权重,这满足了一部分 LP 差别对待不同种代币风险敞口的需求。通过增加一侧风险波动的方式,来降低另一侧的风险。

来源:链闻ChainNews (ID:chainnewscom)

和2万人一起加入鸵鸟社群

添加QQ群:645991580

添加TG群:鸵鸟中文社区 https://t.me/tuoniaox

RB9A77KD8LIPXYP22Z0VBZMJAR6P4HFRFH3LM4526UDJSWKAQ.png

本文经「原本」原创认证,作者鸵鸟区块链,访问yuanben.io查询【RB9A77KD】获取授权信息。

声明: 鸵鸟区块链所有发布内容均为原创或授权发布,如需转载,请务必注明文章作者以及来源:鸵鸟区块链(微信公众号:MyTuoniao),任何不尊重原创的行为鸵鸟区块链都将进行责任追究!鸵鸟区块链报道和发布内容,不构成任何投资建议。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK