Over 400 subscribers
在Uniswap V3中,LP可将其资金集中在自定义价格范围内,在期望的价格区间内提供更多的流动性,其可在一个资金池中组合任意数量、不同价格范围的集中流动性仓位。
例如,ETH/USDC 池中的LP可选择将200美元分配到1,600-2,000美元的价格范围内,并在1,700-1,800美元的价格范围内分配额外的100美元,交易费按LP在给定价格区间贡献的流动性比例分配。
Uniswap V3还新增了范围订单功能,类似于CEX的限价挂单。
当DAI 的市场价格低于1.001 USDC 时,LP 可将1000万美元 DAI 添加到 1.001-1.002 DAI/USDC 范围内;当交易价格高于1.002 DAI/USDC 时,LP 的流动性将完全转换为 USDC;而当DAI/USDC再次低于1.002时,LP必须提取其流动性以避免自动转换回 DAI。
在原始的 Uniswap V2 中,曲线公式为:x*y=k。在该曲线中,用户的流动性被均匀的分布在整个 (0,正无穷大) 之中。由于很多池子价格变动并不频繁,所以结果是池子中大部分资产不会被触及,造成资产的浪费。
在 V3 中,用户可以将其流动性聚集在某一个线段。如下图 B 到 C 点。这样可以集中用户的流动性,提高资本利用效率。
Uniswap V3 通过一种称为集中流动性的技术改善了低资金效率问题,该技术使用以下曲线:
其中兑换的实际价格在 [p_a, p_b] 范围,p_a < p_b。如果设置 p_a = 0 和 p_b = +∞,V2 本质上是 V3 的特例。
Uniswap V3 通过引入 x’ 和 y’ 资产升级了该公式。此处x’我们将其称为 x 资产的虚拟储备,y’ 称为 y 资产的虚拟储备,于是引入了如下式子:
对于选定的区间中的任意一点,由用户提供的真实的资产见下图:
代价:价格区间越宽,产生的费用就越少。但是,如果你的价格区间更窄,那么你将会面临更大的无常损失的风险。
LP的主要策略,依然是如何在做市过程中,尽量减少存货风险。LP的主要做市策略,不应仅仅是无常损失最小化,而是存货风险最小化。
这种交易对最大的特点,就是两个币种的相对价格变动程度非常小,所以LP不会明显偏好其中某一个币种,也就基本消除了存货风险和无常损失的影响。于是对于LP最好的策略,便是尽量高效的赚取手续费,也就是尽可能的在1:1的价格处更多地集中流动性。比如在DAI-USDT的交易池中,设置在0.99-1.01的范围内提供流动性。
还是以ETH-USDC交易对为例。由于波动币如ETH价格波动幅度较大,所以LP的主要策略,依然是尽量减少自己的存货风险。
假设ETH现价为2000美元,如果LP预期ETH未来价格将上涨到2500美元,那么其基本思路应该是,在尽可能保留ETH头寸的同时,赚取一些手续费收入。以下我们分别讨论几个可能的方案。
方案一:LP在2000USDC的现货价格两侧(如1900-2100USDC)提供流动性,则LP必须要在做市前处置一部分ETH变为USDC,这个行为与自己看涨ETH的预期不符,产生了存货风险,且ETH会随着价格上涨,全部低价出售变为USDC,LP将会承担极大的无常损失,所以此策略不符合我们的目标。
方案二:在高于现货价格处,如2100-2200USDC的范围内提供流动性。由于LP的做市范围高于现价,那么这部分流动性,都会以ETH的形式提供,这个过程不需要出售ETH,符合LP对ETH价格上涨的预期,没有产生存货风险。
做市后若ETH价格继续上涨,那么LP持有的ETH头寸都将在2100-2200USDC的价格区间内,逐渐出售换为USDC。在这个过程中,LP开始过早的持有了USDC,开始承担存货风险。同时由于以低于自己的预期价格2500美元以下过早的出售了ETH头寸,会产生较大的无常损失。所以这个策略也不是最好的选择。
方案三:在预期的价格高点附近提供流动性,如2490-2500USDC。如果ETH的价格真的如LP预期中上涨超过2500USDC,那么这部分流动性都将从ETH出售变现为USDC,由于出售的价格基本符合LP的价格预期,所以没有产生太大的无常损失。同时,LP可以在出售完成后,可以选择撤回流动性止盈,于是整个过程更类似于一个传统交易所的止盈订单,LP基本避免了存货风险与无常损失的发生。但问题是,LP在此过程中由于过早的撤出了流动性,因此不会赚取太多的手续费,与直接持有现货并在预期的价格下出售没有什么区别,做市的意义显得很低。
最近和朋友讨论了这个 V3 的 LP,发现有一个好处,可以完成低位慢慢建仓,比如我们建的 ETH/USDC LP 区间是[A, B]。当价格低于 A,所有 USDC 会换成 ETH,当价格高于 B,所有 ETH 会换成 USDC,而在区间范围内,则可以享受交易手续费。
那理论上,我可以把这个 V3 做一个高抛低吸的工具,然后在没有交易的时候可以做 LP 收取手续费。在价格低的时候,把 USDC 换成 ETH,然后高的时候把 ETH 卖掉。
不过难就难在,这个区间很难设计。
无常损失很高。比如你1500开单,1000-2000的区间,如果跌破1000,实际上并不是1000均价买的,而是会高于1250。
自动做市商(AMM) :一个分散的资产交易池,允许用户通过其流动性来进行加密货币的无缝交易。
流动性池:存储在智能合约中的加密资产的数字资产“池”,AMM 在流动资金池之上运行。
流动性提供者(LP):相当于 AMM 中的做市商,指将其加密资产存入流动性池以增加流动性的人,作为回报,他们将获得相关交易池所产生的交易费用奖励。
日拱一卒王小楼