与 V2 相比,Uniswap V3 做市需要更精细的调整和更高频率的干预。这也意味着通过参数调整,Uniswap V3 可以打造更复杂的做市策略。
撰文:Ricky Li、Siddharth Lalwani 与 Hongxu Yan
编译:Perry Wang
Uniswap V3 创新性地引入自定义的价格范围内的聚集流动性,以及多费用等级,以便于做市商采用更复杂的策略来主动管理流动性,并获取更高的资本效率。但同时,做市商也会面临更多的风险类型。本文将讨论多种影响流动性提供策略的要素,如(1)交易对的波动率对价格范围选择的影响; (2)周期性流动性重置的频率和成本; (3)不及时的流动性重置对收益的影响;(4)无常损失(IL)的对冲策略。
通过量化分析和简化模拟,本文将给出参考性意见,以便于做市商指定自己的最优做市策略。
Uniswap V3 简介
5 月 5 日,Uniswap V3 部署至以太坊主网。截止撰写本文之时(2021 年 5 月 7 日北京时间 1240),其总锁仓价值(TVL)达到 3.6759 亿美元, 24 小时交易额为 2.2669 亿美元,与 V2 ( TVL 791 亿美元 , 24 小时交易额 113 亿美元)相比,不在一个量级。但交易额 / 总锁仓比率要相对更高。
Uniswap v3 的集中流动性带来了更出色的资本效率,但如果管理不善也承载了新型风险。这篇报告将指导读者了解流动性提供者(LP)在确定其投资策略时应考虑的几个重要因素。
这些因素主要包括:
- 币价波动性
- 提供流动性的价格可选范围
- Gas 成本和流动性重新配置的频率
本文还将通过一些简单的模拟,来量化上述因素对费用、价格风险和无常损失的影响。
在 Uniswap V3 中,交易费用和价格区间是 LP 必须指定的参数,如以下用户 UI 面板所示。
Figure 1 Liquidity Position UI panel
LP 须谨慎选择交易费用。如果没有相应交易费用的交易池,那么它将创建一个新的交易池,此操作会消耗大量 Gas (50 gwei,约合 1000 美元)。
本文的其余部分将集中讨论如何优化这两个参数,以实现 LP 费用收益最大化,同时降低代币价格风险和无常损失。
币价波动性
资金池中的货币对的币价波动为何如此重要?
由于流动资金仅在指定区间内活跃,并赚取交易费,因此,如果交易价格保持在该区间内,将使交易者的收益最大化。对于波动较大的货币对,交易者需要指定更大的范围。 但是假设资本量相等情况下,当交易者扩大价格指定区间时,区间内的资金密度将被稀释,从而导致分配给交易者的交易费用的比例降低。 因此,需要在价格跨度和集中度之间取得一定的平衡,而这取决于货币对的波动性。
此处讲讨论两种波动:
- 预期波动率,该波动率决定了要指定的价格范围
- 市场上实际发生的、已实现的波动率,这决定了分配给交易者的交易费
假设:
假设一个一天内交易者个人预期的波动水平,要确保在 90% 的时间(置信水平)中,假设价格序列符合正态分布,价格将会在设置的范围内。本文仅考虑随机变化,不考虑价格上升趋势。
随着时间变化,实际实现的波动性可能会更大或更小,导致发生的总交易额中在指定范围内发生的比例各不相同。 在这里本文假设在所有不同的价格下,交易额都是相同的。
流动性密度定义如下:
其中 ∆x 和 ∆y 是投入流动性的 ABC 和 USDT 代币的数量。 特别值得注意的是,这种流动性不是以美元为单位。
由于还有其他 LP 处于同一区间内,交易者可以赚取的交易费只是该区间内发生总交易的一部分所产生的费用,具体取决于交易者的流动性权重。
本文使用以下配置参数:
Figure 2 Figure 2 Configuration Parameters
假设实现的波动率保持在同一水平,对应设置的价格区间不同分别可以赚取以下费用:
Figure 3 Earned Fees With Different Price Ranges
如果将收取的费用与预期波动率作对比:
Figure 4 Earned Fees With Different Relative Price Range Width
则可观察到这样一种趋势:当预期波动率高于实际波动率时,指定的价格区间将不必要地变宽,从而导致收取的费用减少、资本效率降低。
重新配置流动性的 Gas 成本
根据市场情况,交易价格可能迟早会超出交易者所设定的流动性区间。在此,可以使用各种策略来重新配置流动性区间:选择等待价格恢复到范围之内,或者在价格到达该范围时立即更改区间边界,甚至在即使价格没有偏离区间时更积主动地重新配置头寸,。
为了分析在重新配置流动性区间时 Gas 成本的影响,本文使用一种简单的策略:一旦价格达到任一边界,就重新配置头寸。 流动资金重置操作分两步进行:
- 删除旧头寸
- 添加新头寸
每个步骤需要花费 350k Gas。因此花费的成本为 350000 * 2 * 40 * 10−8 = 0. 028 ETH ,大约需要 100 美元。
(消耗的 Gas 成本会有所不同,具体取决于这是否是第一个铸币池,以及许多其他因素。)
假设 ABC / USDT 交易对的价格序列遵循算术布朗运动:
必须在此处添加趋势因子(而不是在下面部分中仅考虑随机变化),因为如果没有单方面的趋势因子,则首次实现时间的期望将不受限制(取而代之的是无限大)。
在算术布朗运动中,假设平移(趋势)常数为 1.5%,与该货币对的日收益率相等。 可以根据以下等式获得给定价格范围的平均首次实现时间:
要计算头寸重置的成本,我们用这个公式:
Figure 5 Profit With Different Relative Range Width Considered Relocation Cost
绘制带有成本扣除的曲线(红色)和费用收入曲线(蓝色):
Figure 6 Profit With Different Relative Range Width Considered Relocation Cost
当价格区间更宽时,则不需要频繁地进行调整。另一方面,较窄的价格区间得到更多的交易费用收入,但重置的成本也会更高。
重置延迟
在之前的 V2 版本中,不需要对流动性头寸进行主动管理,因此对散户而言,通过 Uniswap UI 以较低的频率进行手动操作非常方便。 但 V3 中如果交易者的流动性头寸没有定期调整,则不会为交易者带来理想的收益率。
在上一章节中本文使用了一旦价格突破区间的任一边界即触发的重置策略。 那么,如果未及时调整头寸,交易者的收益将受到多大程度的影响?
在上面的章节中,当头寸与当前交易价格接近时,第一天拿到了预期中的交易费用收入。 以 1 天作为单位进行计算,但也可以使用集成将其转换为连续时间模型。
从第二天开始,如果之前未进行任何重置,则随着时间的推移,总体波动性将增加。
因此在第 2 天,在开始时指定区间内的交易额将减少,从而导致与第 1 天相比所赚取的费用减少。
计算一下第二天的交易费用预期收入,与第二天的实际收益率之间的对比,以及第一天预期收入与实际收入的对比,发现实际收入的下滑幅度:
Figure 7 Yield Drops When Relocation Delayed with Different Relative Range Width
可以观察到,当价格区间更窄时,它受延迟重置的影响更大。 头寸重置延迟 1 天会导致交易者的收益下降多达 20%〜30%。
因此,本文建议使用算法来监视和控制交易者在 V3 上的流动性头寸,以避免头寸调整的延迟,特别是对于那些设定狭窄区间以更有效地利用资金的人而言。
无常损失
任何自动做市商(AMM)中都存在无常损失,但在 V3 中,由于资本集中在较小区间内,无常损失的影响被放大。
在下面章节中,本文根据交易价格的变化(以 USDT 或 ABC 为单位计价),尝试对无常损失建模。参数配置如下:
Figure 8 Configuration Parameters
USDT 为价格单位
当 ABC 价格上涨时,资金池中的 ABC 逐渐转换为 USDT,直到交易者的头寸中不再有 ABC 为止。 这种情况下交易者实际上是在做多 ABC,为了对冲该风险,交易者可以从一开始就卖空 1 ABC。 这样整个投资组合将是(1)池中的头寸+ (2) 1 ABC 的做空对冲
Figure 9 Impermanent Loss When Price Changes Using USDT as Unit Currency
对这一投资组合而言,当价格回归初始价格时价值将最大化。如果价格突破边界,可能会有约 2.5% 的无常损失。
Figure 10 Impermanent Loss When Price Changes Using USDT as Unit Currency
以 ABC 代币为计价单位
当 ABC 价格下降时,机枪池中的 USDT 会逐渐转换为 ABC,直到交易者的头寸中没有 USDT 为止。 这种情况下交易者实际上就是做多 USDT,为了对冲该敞口,交易者可以从一开始就做多 1 ABC。 这样整个投资组合将是(1)机枪池中的头寸+(2) 1 ABC 的做多对冲
Figure 11 Impermanent Loss When Price Changes Using ABC as Unit Currency
Figure 12 Impermanent Loss When Price Changes Using ABC as Unit Currency
总结
与 V2 相比,Uniswap V3 做市需要更精细的调整和更高频率的干预。 另一方面,这意味着通过参数调整,可以打造更复杂的策略来获得超过其他 LP 的竞争优势。
Figure 13 Influential Factors for V3 Market Making
通过上面的实验,可知要在 V3 中维持有效的做市策略,至少需要注意以下几个方面:
- 根据货币对的价格波动性以及其他 LP 在该价格区间内的头寸,选择合适的价格范围以投入流动性
- 考虑到消耗的运行 Gas 成本,定期管理头寸重置并设置适当的频率
- 当价格超出交易者的价格区间时做出快速反应,最好借助自动算法来代替手动操作
- 如果交易者要在涨跌两端平衡头寸,请使用对冲处理无常损失。 由于流动性集中,V3 的无常损失比 V2 严重得多。 如果所设置的价格区间狭窄,这一点就显得尤为重要。
参考文献:
First Hitting Time and Expected Discount Factor. (n.d.).
Overview: Uniswap. Uniswap Unicorn. (n.d.).
附录:
Figure 14 Gas Cost Table