读懂 AC 新作 Protection Markets:Uniswap V3 LP 无常损失保险协议

  无常损失(IL)是流动性提供者(LP)最关心的问题,因为它的影响会引起回报的波动,特别是对于那些价格趋于偏离的资产。随着人们对提供流动性的兴趣上升,处理这种风险的创新也开始被开发出来,在这篇 Gamma Strategies 文章中,我们将回顾 Yearn Finance 创始人 Andre 最近分享的一份合约,Protection Markets。

  7 月 3 日,Andre Cronje 在推特上分享了一个在 Uniswap 上针对无常损失的现收现付制保护市场的原型,名为 ProtectionMarket.sol。该合约指定了一个 pERC20 代币,其功能是一个独立的保险市场,用于保护无常损失,保费由供求关系决定。

  假设你有兴趣在 WETH/USDC Uniswap v3 池中做 LP,以赚取交易费用,但又担心潜在的严重价格波动导致你在投资期限内遭受重大的无常损失。那么,ProtectionMarket.sol 原型合约就为你提供了创建一个市场的可能性,你可以通过向这个市场提供额外的 WETH 来对冲无常损失,并保护你提供资产的汇率不受 IL 影响。不过,这是以保险费为交换条件的,保险费需在保护有效时支付,且由供求关系决定,是可变的年利率。

  在保护市场上有两类参与者,保护者和对冲者。这些参与者参与特定 Uniswap 池的保险市场,并将两种资产中的一种定义为 RESERVE (储备资产)。在这个市场上,两个参与者都向智能合约提供 RESERVE 代币,并通过允许他们行使保险合约来补偿所发生的无常损失,从而赚取费用,作为向对冲者提供保护的回报。

  只要有足够的流动性来覆盖对冲头寸,保护者和对冲者就都可以撤回他们的流动性资金。

  该合约允许用户保护无常损失提供的部分流动性,以换取不断累积的费用。这种机制汇集了不同保护提供者的流动性,并将这种对冲的风险分散到了所有参与者身上,同时还为 DeFi 提供了新的收入来源,即对冲费用(用保险的术语来说就是保费),这些费用根据供需情况动态更新。

  当你执行保护函数时,你实际上是为你可能产生的任何无常损失购买了保险,以补偿你无常损失的价格差(需要减去保费)。无常损失是根据你购买保护时的价格计算的,不涉及流动性池中的特定头寸,允许最大程度的组合。

  在购买了保险并提供了一些预留的费用后,你可以调用 exercise 函数来执行你的保险合约,其中你的准备金将被修改如下金额,以表示对 IL 的补偿:

  其中 p_0 是你拿到合约时的交换价格,p_1 则是现在的价格,因此利润是价格变化的函数,可以将你的头寸价值与无常损失联系起来。

  假设小数点(decimals)=18,那么利润函数看起来就会像下面蓝色的曲线,是相对价格变化的函数。在红色部分,则显示了如果它对价格变化进行 1 比 1 的补偿,利润函数会是什么样子。显示表明,对于 20% 的价格下降,无常损失补偿约为 10%,但对于 20% 的价格上升,补偿则会少一点。

  这个函数总体上表现为你所期望的那样,如果价格不动,你就不会产生无常损失,因此合约就不会有任何回报,而随着相对价格的变动,你的无常损失就越高。请注意,这个利润函数假设了一个恒定的产品函数市场,所以适当地对冲集中的流动性头寸将需要进一步的努力。

  费用是以对冲金额的百分比持续复利计算的,对冲金额则是以利用的 APY 确定的,而对冲流动性(totalHedged)与池中整体流动性(totalProtection)的比率则类似于 Compound 借款市场的利率。

  2021 年 7 月 4 日,Compound USDC 供应的市场利率模型

  随着对对冲服务需求的增加,利用率也应该增加,而所得费用也将相应增加。这将激励更多的保护提供者向池子里供货,增加保险项目的偿付能力。保护市场合约确保对冲的总金额最多相当于资金池中全部流动性资金的规模。这可以为对冲者提供大量的保障,即使是极端程度的无常损失。

  决定保护市场是否在经济上可行的最相关的参数是费用函数的参数,以及储备费用要求的大小。这些参数必须仔细校准,以吸引保护提供者和对冲者向资金池供货。

  在经济理论中,评价保险的标准是它是否精算公平,也就是说,支付的费用是否足以减少潜在结果的变异性(在这种情况下,提供流动性应计的无常损失),使其值得。鉴于我们看到的数字资产的重大价格变动,所需的费用最终可能是巨大的。然而,如果不让市场来计算,就很难估计什么是合理的。

  为流动性头寸使用保护市场是一种潜在的改进,可以降低 LP 策略的收益波动性,因为集中的流动性提供了可定制的无常损失风险。

  假设在 [p_a,p_b] 范围内以价格 P 提供流动性,而价格变化为 p_1=k⋅p_0,无常损失将作为变化的百分比被推导为:

  与我们之前看过的保护市场的利润函数进行比较,对于理解所需的对冲量是有帮助的。假设 p_0=2100,那么在 [2000,2200] 范围内进行 LP,那么 Uniswap V3 的 IL 与保护市场的利润函数就如下图所示。

  鉴于 Uniswap v3 集中流动性的功能所提供的虚拟流动性,当范围相对较窄时,需要建立相对较小的对冲头寸来弥补较大的 LP 头寸的无常损失,如上述例子。

  而为了量化对冲比率,需要计算弥补 IL k=p1⋅p0 的百分比变化所需的对冲 q 的单位(假设没有维持头寸的成本):

  以保护市场的盈利功能来说,你需要为你的每一个单位的头寸购买 0.05 个单位的保险。作为理智的检查,考虑另一个更宽的 LP 范围,在这个范围内,你将面临明显更多的无常损失:假设范围为 [100,15000],那么在相同的初始价格下,需要以下对冲比率:

  无常损失保护市场是一项重要的服务,我们预计流动性供应商会对此有很高的要求。我们正在与 Visor 合作,为他们的头寸实施这项服务。这将为改善 Uniswap v3 上 LP 策略的风险状况提供一种自动化的方法。对于 Protection Markets,定价是重点,特别是仔细校准收费系统将是其采用和成功的关键。

分享: