从定价模型、滑点、无常损失、交易费等角度比较分析 Uniswap V3、Curve V2 和 Balancer V2。
自动做市商机制(AMM),以其常数级别的时间空间占用的优势,被许多去中心化交易所(DEX)采用,迄今为止已有许多此类项目大获成功。说到其中佼佼者,必须要提到 Uniswap、Balancer 和 Curve,它们都在近期推出了新的版本, 以针对流动性提供者所关注的各种问题和风险。 本文将会从多个方面对这三个协议的最新版本做出比较。
参与到自动做市商机制中的人群,包括两种不同的角色:流动性提供者(LP)和交易者。流动性提供者向机池存入资金,而交易者用一种货币从池中换取另一种代币。AMM 协议需要解决的第一个问题就是如何定价,以一个二币池为例,即如何用代币 2(t2) 的数量表示代币 1(t1) 的价格。
假设池中两种货币的数量分别为 R1 和 R2,在一笔交易中一个交易者想用Δ2 数量的 t2 来买Δ1 数量的 t1。我们可以用一个交易函数ψ来描述一个 AMM 协议,其必须满足在交易前后函数值不变,不变式表示为:
根据这个等式,我们就可以由Δ1 推出Δ2 (或反之)。而这笔交易同时也会影响价格,因为池中的代币总量在交易之后改变了。实际上,因为机池的交易价格和外部参考市场的价格有差距,所以套利者会不断交易知道价差回归,AMM 正是利用这种机制来矫正池内的交易价格。每次交易的平均价格定义为:
当 dΔ1->0 时,我们可以计算得到边际价格。 三种协议的边际价格总结如下表
Table 1 边际价格
数字银行Revolut在巴西提供加密投资:金色财经报道,数字银行应用Revolut首次进军拉丁美洲,在巴西进行现场发布。Revolut应用程序近期将在印度、墨西哥和新西兰推出。
在印度,该公司为即将推出的产品建立了一支由 400 多名员工组成的团队。墨西哥也计划扩大劳动力,计划到 2025 年在墨西哥和巴西之间雇用 250 多个新职位。该公司还表示,未来几个月将在新西兰上线,以补充其在澳大利亚的现有业务。[2023/5/2 14:38:32]
Uniswap V3
Uniswap 的交易函数定义如下:
由此可得不变式为:
推导出Δ2 的表达式为:
边际价格为:
当 Δ1->0 时,
在新版本 V3 中,由于在不同价格区间的流动性密度不同,需要对每个同一流动性密度的小区间单独计算。当跨过区间边界时,需要的下一个区间做类似计算。
Balancer V2
Balancer 的交易函数定义如下:
过去24小时加密市场总交易量556.71亿美元:金色财经报道,据 CoinGecko 数据显示,过去24小时加密市场总交易量556.71亿美元,比特币市值占比为37.7%,以太坊市值占比为18.3%。[2023/1/12 11:07:35]
权重ω1,ω2 也代表两种代币总市值的占比,如果指定ω1=ω2=1/2,那么该池就等价于 Uniswap 的池子。特别的,Balancer 允许至多 8 种代币的混合池,当代币种类大于两种时,其交易函数扩展为:
其他推导步骤也可类似地拓展到多币的情形,推导步骤在此略过。
Curve V2
Curve 协议的交易函数是恒定和函数和恒定积函数的线性组合:
类似的,我们可以推导出边际价格,当 Δ1->0 时,
根据上一步得出的边际价格公式,我们可以通过比较单次交易前后边际价格的变化,来定义这次交易的价格影响。比较三种协议的价格影响,我们能得出以下结论:假定交易同等数量的代币 1,设定ω1 越高的 Balancer 池,其价格影响越大,如果ω1>1/2,那么价格影响大于相同交易在 Uniswap 池中的影响,反之亦然。而在平衡点附近(即价格偏移不严重) Curve V2 的价格影响最小。
上海首支元宇宙产业基金启动,首期规模10亿元:12月7日消息,近日,上海数字科创股权投资基金正式签约揭牌,这是上海最早启动的元宇宙产业基金,计划首期规模10亿元人民币。据介绍,未来,该基金将采取“直投 + 母基金”模式,聚焦信创、数字孪生与元宇宙等数字经济产业,同时还将设立上海首个“青年设计师创投计划”。(人民网)[2022/12/7 21:28:22]
在下面的例子中,我们比较四个不同池子的单次交易价格影响,假设初始池中代币总量 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
四个池子的价格影响曲线如下图所示:
Figure 1 价格影响曲线
明显的,对于交易相同数量 Δ1 的代币 1,对价格的影响排序如下:Balancer V2 w1=0.6 > Uniswap V3 > Balancer V2 w1=0.4 > Curve V2。
对于 Curve 来说,因为其在一定范围内价格影响最小,所以最适合稳定币的交易对。根据以往 AMM 协议的经验,价格影响曲线的形状往往和流动性提供者的收益相关。距上图所示,因为 Curve 的价格影响曲线最平缓,导致滑点较低,从而使交易者在这个区间中更频繁地(或更大量)交易,最终流动性提供者赚取了更多的交易手续费。
Table 2 无常损失
对于 Uniswap V3 来说,来自单一提供者的流动性是被放置在某一封闭区间上的,当一种代币的价格下降时,LP 对该种代币的风险敞口逐渐增大,直到价格来到区间边界。此时,该 LP 只有对该种代币的风险敞口,对另一种代币的敞口为 0,若价格继续往同方向移动,则敞口维持不变。
Tether公布季度储备报告:综合资产超过综合负债:11月11日消息,Tether公布由独立公共会计师事务所BDO完成的最新季度鉴证意见,截至2022年9月30日,Tether综合总资产至少为68,061,618,458美元,综合负债总额为67,811,510,720美元(其中67,805,112,981美元与发行的数字代币有关),综合资产超过其综合负债。[2022/11/11 12:50:39]
对于 Balancer V2 和 Curve V2 来说,流动性是对整个价格区间提供的,所以敞口会在整个区间上逐渐变化,不会到达最大 / 最小值。
Figure 2 Balancer 池在不同权重配置下的相对价格变化对无常损失影响
对于 Balancer 协议来说,代币 1 的权重ω1 越小,相同价格波动下的无常损失越小,这是符合直觉的,因为 LP 持有代币 1 的量变小了。
对于想要参与这三种协议的流动性提供者来说,它们对于出金和入金的规则比较起来并没有绝对的优劣,不过根据个人的资产类别和风险偏好,每个协议都有更适合的情形:
Table 3 出金与入金
对于 Uniswap V3 来说,入金时存入两种代币的配比由两点因素决定(1)区间的两个边界 (2)当前交易价格。 简单来说,如果当前交易价格等于两个边界价格的几何平均数的话,LP 需存入 50:50 等量的两种代币。若当前价格更偏向一侧,那么 LP 需要存入的代币中,更便宜的那种代币占据更高的比重。若当前价格在区间之外,LP 只需提供更便宜的一种代币即可。
具体计算方法如下:
Frax Finance已上线以太坊流动性质押代币frxETH:10月21日消息,算法稳定币协议Frax Finance已上线frxETH,支持铸造和质押/解押功能。截至目前已铸造超过1655枚frxETH。
据此前报道,Frax Finance将在两周内公开其在以太坊上的流动性质押协议。此次发布将允许用户质押ETH并获得流动衍生代币Frax Ether(frxETH),旨在释放所质押代币的价值。该衍生品将反映ETH的价格,并可在其他DeFi协议上自由交易。[2022/10/21 16:34:36]
当出金时,两种代币的本金提取量可做类似计算。已赚取的手续费部分,以交易发生时的代币类型收取并提取。对于 Balancer V2,LP 入金时总是需要提供池中所有种类的代币,其配比决定与该池的权重设置
对于 Curve,当入金时,LP 可以按任意比例存入代币,或仅存入单一种类的代币。但是,若存入比例和当前池内的代币总量比例不符合,LP 将承受一定程度的损失(或奖励)。因为当 LP 获取 LP 代币时,获得的量由以下公式计算:
其中 D 是在平衡点时池内代币总量,在流动性增加前其值为 D0,在流动性增加后其值变为 D1。但是,(假设投入相同数量的代币)当池内代币比例离平衡点越远,D 值会相对越小,导致 LP 得到的 LP 代币量较少,即产生了损失。相反的,若投入的代币使得池内代币比例趋向于回归平衡点,那么 LP 将得到更多的 LP 代币,即获得了奖励。
就流动性聚集来说,Uniswap V3 给予了 LP 最大程度的灵活性,LP 们可以根据自己的意愿聚合出任意形式的流动性分布曲线。相较之下,Balancer 和 Curve 以更多的固定参数设定代替了这种灵活性。
Table 4 流动性聚集方式
Uniswap V3 允许每个 LP 设置任意的流动性范围,以期望总体流动性聚集在一个最活跃的区间。但是,理论上,根据每个 LP 的自主决定,流动性可以被塑造成任意分布。
举例来说,一个和 Uniswap V2 等效的流动性分布入下图所示:
Figure 3 流动性分布 Uniswap V2
这表示,若所有的 LP 都将流动性区间设置为最大可能区间,那么 Uniswap V3 池将会同 V2 等效。
以下是一个和 Curve 近似的流动性分布,所有的流动性都聚集在平衡点附近的一个狭小区间内
Figure 4 流动性分布 Curve
然而,上图仅仅是 Curve V3 的近似,其实际要更复杂。随着市场条件变化,最活跃价格区间偏离原平衡点太多时,Curve V3 会根据内置 Orcale 来重新调整平衡点和价格曲线。
以下是一个等效于 Balancer V2 的流动性分布,其聚集于更大权重的代币价格更低的一侧
Figure 5 流动性分布 Balancer V2
然而,以上都不是实际观察到的 Uniswap V3 池常见流动性分布,常见的分布更类似于以下:
Figure 6 实际观察到的流动性分布 Uniswap V3
Table 5 交易费用
每个交易对有三个费用梯度的池子供 LP 选择:0.05%,0.3%,1%。直观上看,LP 更偏向于高费用池,但当高费用池的交易活跃度远低于低费用池时,LP 就不得不参与低费用池。交易者更偏向低费用池,但当低费用池的流动性过于稀薄而滑点过高时,交易者就会被迫从高费用池中交易。
根据实际观察,对于稳定币交易对来说,0.05% 费用的池子最活跃。对于其他交易对,当市场波动率高时,高费用池变得更活跃,当波动率低时,低费用池更活跃。
Balancer 协议收取两种费用:(1)交易手续费,以交易额的一定百分比对交易者收取 (2)出金费用,当 LP 从协议中出金时按提取额度收取
交易手续费可设置为 0.05% 到 1% 之间,由池子创建者设置初始值,并由协议根据多因子来动态调整,因子包括:波动率,交易额,无常损失,流动性总量,流动性挖矿奖励,等等。
出金手续费可由协议设置,但迄今为止未采用。
费用可设置为 0.04% 到 0.4% 之间,可根据目前池内代币比例做动态调整,当前比例距离平衡点越远,费用率越低:
通过多方面的比较,可以看出每个协议都采取的不同的方法来契合 LP 和交易者们的多方面不同需要。
Uniswap V3 给予了 LP 最大的灵活性,几乎所有参数都可以由 LP 自主决定,而团队并没有额外加入更多辅助特性,以保持协议的简单化。而 LP 则需要管理自己的各种风险。
Curve 历史上曾专注于稳定币交易对,此新版本 V2 致力于扩展所涵盖代币的种类。不同于稳定币,非稳定币交易对的市场中价可能会偏移到新的活跃区间,所以此协议可根据内置 Oracle 的喂价调整流动性聚集范围,而无需 LP 自己重部署流动性区间。此种设计对个人投资者更加友好,但限制了开发更复杂的定制化做市策略的可能性。
Balancer V2 在同一流动性池中容纳了多于两种的代币,并且赋予不同的权重,这满足了一部分 LP 差别对待不同种代币风险敞口的需求。通过增加一侧风险波动的方式,来降低另一侧的风险。
引用文献
G. Angeris, A. Evans, T. Chitra; When does the tail wag the dog? Curvature and market making, 2020.
Hayden Adams, Noah Zinsmeister, Moody Salem, River Keefer, and Dan Robinson. Uniswap v3 Core. (2021).
Michael Egorov, Curve Finance (Swiss Stake GmbH). Automatic market-making with dynamic peg (2021)
Fernando Martinelli, Nikolai Mushegian. Balancer Whitepaper (2019)
撰文:Ricky Li、Siddharth Lalwani、 Hongxu Yan,就职于 Altonomy Ventures
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。