本文作者:0xfbifemboy,有技术背景,在统计学方法和机器学习方面有专业知识。他精通R语言、Julia语言和Python语言,对C++有一定的能力,但对Solidity语言和Rust语言是新手水平(他希望能快速学习)。他的理想角色是以研究为基础,有理论或数学成分,但也寻求机会向更有经验的DeFi开发者学习。转载请微信联系:huangdiezi
我对新的协议特别感兴趣,这些协议从理论和实践的角度推动了链上金融的前沿发展,但最终,在加密货币中,没有什么东西是我不觉得迷人的。
自2018年11月推出Uniswap V1以来,具有基于流动性池的自动做市商(AMM)的去中心化交易所(DEXes)已成为去中心化金融的主导模式,每日总交易量远远达到数亿美元。尽管在Uniswap之前,基于流动性池的AMMs已经被定义过,最值得一提的是Hanson(2002),模块化组合信息聚合的对数市场评分规则,传统金融市场通常依赖于中央限价订单簿。然而,在去中心化金融的背景下,链上状态存储和计算相对昂贵和缓慢,被动提供流动性池,在每个订单后自动 "更新",具有显著优势。
随着去中心化金融的快速发展,一些研究人员开始发表对基于流动性池的AMMs的理论分析。这些论文最初集中在对恒定产品做市商(CPMMs)(如Uniswap V1/V2)的基本分析,然后随后向各种新的方向扩展,如对恒定函数做市商(CFMMs)或范围约束的集中流动性的分析。
这种对AMMs的研究已经开始为去中心化金融的正式理论奠定了坚实的理论基础,同时也为一些创新协议的发展铺平了道路。然而,尽管这些结果意义重大,但它们仍然没有得到广大公众的重视。在这篇文章中,我想对AMM研究的主要成果做一个高层次的、易懂的概述,希望读者能对他们每天使用的DEXs有更深的理解。
我的目标是突出我认为特别有趣或重要的论文;然而,这不应该被理解为对该领域的全面调查,欢迎读者在评论中指出任何遗漏。我对文献的理解也可能是有缺陷的,在这种情况下,请读者提出更正意见。
对Uniswap市场的分析
Uniswap V1/V2市场的基本运作模式通常被称为 "恒定产品市场"(CPM)。Uniswap的大多数分叉也采用相同的模式运作。为读者简单回顾一下,这些基本遵循的原则是,执行代币交换应该使两个储备的产品保持不变。例如,以ETH/USDC流动性池为例,我们可以用x表示池中的以太坊数量,y表示池中的USDC代币数量。只有保留产品xy=k的互换才是允许的(抛开费用)。
2019年底,Angeris等人以《Uniswap市场的分析》为题发表了对Uniswap恒定产品市场的基本分析。在之前的一些工作基础上,例如Zhang等人(2018)的工作,Angeris等人(2019)提出了恒定产品市场的正式定义,并产生了一些基础性结果,正式确定了其运作的某些 "直观 "特征。
假设我们有一个双代币市场,储备规模分别为R和Q。一个想用r个代币(与储备R相同的类型)进行交易并获得q个代币作为回报的交易者,必须提交符合以下条件的交易:
RQ=(R+γr)(Q-q)=k
在这种情况下,参数γ代表收取的费用。例如,如果γ=0.99,则对输入代币数量r适用~1%的附加费。上述表达式非常直观:一个有效的交易将以数量γr增加输入代币R的储备,以数量q减少输出代币Q的储备,从而增加输出代币的边际价格。在交易之后,常数k被更新为(R+r)(Q-q);注意这里,当γ<1时,即收取费用时,常数实际上已经增加,代表了交易费用逐步增加流动性储备的总规模的事实。
Angeris等人分析了套利的机会,这些机会被认为是源于CPM和具有无限流动性的 "参考市场 "之间的定价差异。如果一个套利者能够执行一连串的交易,使他们最终拥有比交易前更多的特定类型的代币,这被认为是一个成功的套利。直观地讲,当交易费用为零时,持续的套利可以使CPM的价格与参考市场的价格相等。然而,Angeris等人表明,当交易费用不为零时,CPM的代币价格可能在γm的下限和m/γ的上限之间波动,其中m是代币的参考市场价格。当交易费足够小时(1-γ接近0),我们有近似值1/(1-γ)~=1+γ,所以CPM的价格在(1-γ)m和(1+γ)m之间有界限。
本文还正式证明了一些直观上 "明显 "的结果。
在存在交易费用的情况下,产品常数k是严格增加的,也就是说,储备的 "总量 "随着时间的推移逐渐增加
在存在交易费用的情况下,总是倾向于进行一次交易,而不是进行两次连续的交易(总输入代币规模相当)。
不可能耗尽一个恒定的产品市场的所有代币
随着储备量的增加,交易的价格影响也在减少
尽管对于任何基于Uniswap V1/V2的DEXes的普通用户来说,上述内容应该不会感到惊讶,但正式展示这些内容还是很有价值的,因为这为进一步的结果发展提供了基础。
读者可能特别感兴趣的最后一个结果是流动性提供者的回报的特征。假设你为一个包含风险代币的资金池提供流动性,其价格为p,与标准加密货币(如ETH或USDC)相比。Angeris等人的研究表明,你的投资组合的价值与sqrt(p)成正比。很容易看出,在没有交易费用或流动性奖励的情况下,严格来说,这总是比单独持有这两种资产更糟糕--我们知道这种现象是 "无常的损失"。
几何平均做市商
在xy=k的恒定产品市场中,注意到两个代币储备在所有给定时间都有相等的市场价值。因此,提供流动性类似于持有两种代币的50:50投资组合,由于外部套利而不断地重新平衡。
如果我们转而考虑x²y=k会怎样?在这种情况下,事实证明,外部套利将始终重新平衡流动性池,使x表示的代币的市场价值正好是y表示的代币的市场价值的两倍。这个结果背后的直觉是,我们可以把这个不变因素看作是x²y = xxy = k,与xy = k的例子相类似,代币x有 "两个池",代币y有一个池,每个池的大小相当。
这表明有一种更普遍的方法,可以从任意多的资产的加权产品中形成这种不变量,例如,x²y³z=k。事实上,这正是Balancer使用的策略,正如Martinelli和Mushegian(2019)的白皮书中所描述的那样,Balancer,一个非托管的投资组合经理、流动性提供者和价格传感器。事实证明,如果你在一个流动性池中有n个资产,并要求交易保持储备金xᵢ的恒定乘积提高到幂wᵢ,所产生的流动性池实际上是i个资产的连续再平衡组合,权重不变wᵢ。因此,用户可以向类似平衡器的AMM提供流动性,作为持有不断重新平衡到预先指定比例的资产的 "指数基金 "的一种方式。使用这种不变函数的AMMs有时被称为几何平均做市商(G3Ms)。
不足为奇的是,我们看到按资金池价值计算,一些最大的Balancer V2资金池对应于某些 "自然 "投资组合,许多用户似乎想持有这些投资组合,例如50/50 BTC/ETH投资组合或DAI/USDC/USDT用于分散稳定币风险。

再往前走一步,Bethoven X,Fantom上的Balancer分叉,明确地推广一些 "指数基金池"。

例如,向 "Fantom Conservatory of Music "资金池提供流动性,将使你对Fantom DeFi生态系统的各个组成部分有加权的接触。

鉴于手工维护加权投资组合的难度(由于交易费用和加密货币价格的24/7、高波动性),类似Balancer的流动性池吸引了数亿美元的资本,这并不奇怪。然而,与此同时,至关重要的是要注意,Balancer池的 "自动再平衡 "性质是有代价的--根据定义,套利者正在从流动性池中抽取价值。这些损失可以通过收取掉期费来减轻,但费用的存在会抑制小规模再平衡套利掉期的积极性。
埃文斯等人(2021)最近的一篇文章《几何平均做市商的最佳费用》更详细地分析了这些权衡。注意到由于默顿等人的经典投资组合理论表明,作为交易成本的函数,再平衡不应发生在最佳投资组合权重周围的 "无交易 "区域内,他们应用随机控制的方法,将套利成本作为掉期费用的函数进行建模,并确定对流动性提供者的投资组合价值的最终结果。
一般来说,人们可以将LP-套利动态建模为一个双人游戏。流动性提供者寻求最小化一个惩罚函数,该函数代表他们的流动性份额相对于一些理想的投资组合权重的 "跟踪误差",而套利者希望通过对流动性提供者的资产进行交易,不断获取最大的价值。正如在更简单的恒定产品市场上看到的那样,G3M也有一个 "无交易 "区域,即AMM价格与参考价格的偏差足够小,交易费用使得套利者重新平衡流动性池无利可图,而且这个 "无交易 "区域的大小随着交易费用的增加而增加。
在他们的主要分析中,埃文斯等人假设流动性提供者用一个惩罚函数来衡量他们的投资组合的跟踪误差,这个惩罚函数相当于一个标准的均值-方差偏好的回报率,有一个固定的风险厌恶参数。这个惩罚函数是实际投资组合权重和所需投资组合权重集之间的二次方。当G3M的流动性池只包含两种资产,一种是数字资产,一种是价格遵循几何布朗运动、增长率为μ、波动率为σ的风险资产,流动性提供者的惩罚函数可以作为μ和σ以及交易费用γ的函数进行数值计算。

来自Evans等人的图1说明了对一些有代表性的参数集的这种计算。我们可以做出以下观察:
当费用接近0时,流动性提供者的跟踪误差接近0(γ接近1)。
当交易费用较小时,对于低增长、低波动性和高增长、高波动性的资产,跟踪误差可以忽略不计。
当交易费较大时,高增长、高波动的资产的跟踪误差很大
重要的是--惩罚函数J在γ=1时是不连续的,这表明费用应该尽可能小而不等于零,这一结果对类似平衡器的AMM的设计以及对这种AMM的流动性提供者有直接的实际意义。
曲率和做市商
观察到基于流动性池的AMMs继续吸引着越来越多的资本,这为分析资产的大部分流动性停留在链上AMMs,而不是像之前描述的结果那样停留在一个无限流动性的 "参考市场 "的环境提供了强有力的动力。现在绝大多数的加密货币资产都是这种情况,例如LUSD、FRAX、GNO、XMON等等。
在2020年的一份出版物《尾巴何时摇动?曲率和做市商》中,Angeris等人开始开发一个分析恒定函数做市商(CFMM)交易函数曲率的一般框架,即流动性储备的不变函数,它在不同的交易中保留。通过提供价格敏感性和流动性深度的正式定义,Angeris等人成功地推导出一些启发式的结果,例如解释了稳定币掉期的曲线的相对成功。
一般来说,Angeris等人研究的是双资产AMM的情况(将风险交易资产与数字资产配对),其相应的价格影响函数g衡量的是风险资产的边际价格在特定规模的交易后的变化。对于一个给定规模的交易,如果交易导致的边际价格变化最多为μs,则价格影响函数被认为是μ稳定的。同样,如果交易导致的边际价格变化至少为κs,则价格影响函数被认为是κ-流动性的。通常的情况是,这些界限可能只对小于某种规模L的交易有效。
在有两个稳定币的Uniswap V1/V2恒定产品市场的简化案例中,Angeris等人表明,μ和κ都是储备总规模R以及L的递减函数。虽然这个结果以前在Uniswap市场的分析中得到了证明,但这里基于曲率的框架很好地扩展到了更普遍的环境。
相比之下,Curve,一个为优化稳定币互换而设计的AMM,有一个更复杂的交易功能。

其中∆,∆'分别代表交易出去和进来的数量,R,R'代表他们的储备,α,β是固定参数。可以看出,随着β的增加,一定规模的交易对价格的影响也会增加。

值得注意的是,如果储备的总价值由P_V给出,那么可以证明:

对应于一个交易者在给定的交易规模下可以预期的最大滑点。请注意,与Uniswap恒定产品市场不同,这里的μ稳定性不限于小于某个阈值∆<L的交易。
再看看稳定币互换的情况,交易通常是 "不知情 "的(因为用户主要是在不同的稳定币之间互换,因为他们想与之互动的特定协议对他们接受的稳定币有特定的要求),我们预计价格会表现出均值回复的趋势,特别是考虑到稳定币容易赎回到基础支持资产或存在外部挂钩维护计划。因此,我们应该预期低曲率的AMMs对于稳定币互换来说是比较好的,因为它们允许交易者在进行互换时对价格影响较小。
在实践中,如下图所示,Curve的交易功能的曲率明显低于Uniswap或Balancer。

除了单纯的价格影响,较低的曲率对流动性提供者也是有利的。对于一个给定的交易费用γ,Angeris等人表明,当交易规模∆低于1/μ的线性函数时,流动性提供者保证能获得利润。因此,随着曲率μ的减少,越来越大的交易对流动性提供者来说是有利可图的。这促使更多的流动性进入AMM,这反过来又进一步减少了交易者所经历的价格影响,如此循环。相应地,Curve通常被认为是稳定币流动性的主导AMM。
本文的其余部分描述了一些进一步的分析,我将简要地讨论。例如,Angeris等人继续考虑知情交易的情况,在这种情况下,交易者有一个信息优势,使他们能够预测外部市场的下一个价格更新。在这种情况下,可以证明流动性提供者的损失--或者反过来说,知情交易者的利润--是以较低的曲率达到最小。这类似于经典市场微观结构的结果,即在多个市场上报价的做市商调整订单簿的形状和流动性,以应对逆向选择(与知情交易者交易的问题)。当观察到或预测到逆向选择时,做市商会减少交易者可用的流动性,其方式相当于增加CFMM的曲率。
进一步开发的模型描述了具有不同曲率的多个AMM之间的价格稳定性,特别是在收益率耕作的背景下,以及通过明确计算LP份额的一阶和二阶希腊数来动态对冲流动性的提供。这些结果为未来的工作提供了强有力的理论基础,并提出了一些自然延伸。例如,尽管Angeris等人的分析表征了不同CFMM的 "可取性",这取决于基础资产或交易活动的性质,但一个更普遍的、迄今尚未解决的问题是,人们如何采取某种给定理论形式的价格过程--这可以适合于经验数据--并设计一个具有最佳LP回报特征的交易函数。
复制做市商
尽管采取一个特定的价格过程并设计一个优化的CFMM的问题还没有解决,但已经开发了一些有趣的结果,这些结果描述了一个理想的投资组合价值函数和CFMM的交易函数之间的对应关系。例如,回顾一下,对于一个Uniswap V1/V2恒定产品市场xy=k,投资组合价值与sqrt(p)成正比(其中p是风险资产与配对numéraire计价的价格)。最近的论文试图解决这个问题的反面,即从一个给定的投资组合价值函数中直接恢复CFMM的交易函数。
Angeris等人(2021)在《复制做市商》中给出了这样一组结果。假设给你一个目标投资组合价值函数V(c),它把相对于参考市场的资产价格向量c作为输入,并返回由这些资产构建的投资组合的总价值。如果V是适当的形式--一个凹的、非负的、非递减的、1均质的函数--那么我们可以明确地恢复一个相应的交易函数。

其中R代表流动性池中的储备。值得注意的是,投资组合价值函数V和交易函数ψ是通过芬切尔共轭关系联系起来的。
除了恢复著名的CFMMs如Uniswap和Balancer的交易函数外,人们还可以应用这种方法来创造类似期权的报酬。例如,假设流动性提供者有一个有风险的资产和一个无风险的资产,他们想提供流动性,其回报与有风险资产的执行价格为K的担保看涨期权的回报相同。然后,外部套利确保这等同于所需的套期保值的回报。
然而,请注意,在上述例子中,为套期保值回报提供流动性基本上需要完全的抵押,这在资本效率中是缺乏的。受此启发,Angeris等人推导出复制通过Black-Scholes-Merton模型计算的备兑认购价格所需的交易函数。在执行价格K,到期时间τ,隐含波动率σ和准备金R的情况下,他们发现相应的交易函数是:

下面是这个交易函数在某些参数值下的例子(线条决定了交易函数等于0时的 "水平曲线")。

值得注意的是,允许的准备金集合会根据到期时间 τ 的变化而变化,这一点也可以从上面最右边的图中看出。特别是,为了再现期权的时间价值在临近到期时的衰减,需要越来越多的资本储备。在不收费的情况下,仅仅通过套利是不可能的;但是,如果从套利者那里获取费用,可能会使CFMM更准确地表现出套牢期权价格的时间演变。这种方法目前正由Primitive公司开发。
总的来说,大量的论文分析了为流动性提供者设计一个具有给定报酬函数的CFMM的问题,这些论文在此无法全部深入介绍。
埃文斯(2020),《几何平均数市场中的流动性提供者回报》证明,如果允许交易函数随时间动态发展,任意的无杠杆回报函数可以被复制。
Chitra等人(2021),《关于借入恒定函数做市商股份的说明》证明,允许流动性提供者以其股份为抵押进行借入是安全和资本效率的,并允许复制某些有界的凸报酬(与之前描述的凹报酬相对)。
Angeris等人(2021),"在没有奥秘的情况下复制单调的回报 "证明了任何单调的回报都可以通过允许流动性提供者出售撤回其流动性份额的某些部分的权利来复制,本质上允许他们只对流动性位置的一方有回报风险
有理由相信,在设计 "定制 "流动性提供者报酬方面的快速进展将导致开发新的DeFi构件,提高资本效率,并改善流动性的可用性。
集中的流动性
我们将讨论的最后一类AMM创新是 "集中流动性 "头寸的发展,例如在Uniswap V3和CrocSwap。这些允许流动性提供者在一个特定的价格范围内提供流动性。当交易资产的边际价格超出该价格范围时,他们的流动性就会被有效地停用,限制了流动性提供者遭受的无常损失的程度,但也使他们无法获得任何交易费或流动性奖励。
Guillaume Lambert的一系列文章分析了Uniswap V3集中流动性头寸的回报特征。直观地讲,很明显,在尽可能小的区间(一个 "tick")部署的流动性头寸的行为类似于完全抵押的担保看涨或现金担保看跌,因为流动性头寸要么是1单位的相关风险资产(如果市场价格低于tick的下限),要么等于无风险单位的执行价格(如果市场价格高于tick的上限)。在极限情况下,刻度线的大小无限小,并收敛到一个单一的值,这个值类似于相应期权的执行价格。
兰伯特的一个有趣的结果是如下的。我们将一个集中的流动性头寸分解为空头认沽的总和,可通过Black-Scholes-Merton定价,还有一个 "区间部分",近似于期权在某些到期时间的theta衰减。区间部分 "可以用 Feynman-Kac 公式进行封闭计算,整个流动性头寸可以作为一个给定到期时间的单一看跌期权进行定价(作为提供流动性的范围的函数计算)。是持有流动性头寸以获取交易费用,还是将头寸借给期权买方?在某些假设下,后者几乎总是首选。
可以从另一个有趣的角度来分析集中流动性的问题,那就是有效性。为了激发这一点,我们可以回顾一下,区块链偶尔会出现失效的情况。例如,在Solana上,2021年1月底的故障在链上AMM和链下市场之间造成了极端的价格差异。对于中央限价订单簿(CLOB)AMM,如Serum,价格差异在恢复有效性时导致了极端混乱--做市商急于以远高于市场的价格取消过时的订单,借贷平台急于清算深陷违约的头寸。总的来说,Serum订单簿在Solana网络恢复后经历了37%的流动性损失。相比之下,基于CFMM的AMMs,如Saber,经历了较少的中断,流动性的损失低得多,只有5%。
为了正式了解什么AMM在失去有效性时表现更好,Chitra等人(2021),《有效性如何分离CFMMs和订单簿》证明了按比例限制订单簿和集中流动性AMMs之间的等价性。然后他们表明,对于大小为Δ的突然价格冲击,传统的CFMMs只需要O(1)笔交易来重新调整价格,而集中流动性AMMs(等同于CLOBs)需要O(Δ)笔交易来进行同样的重新调整。在失效和恢复的情况下,系统的吞吐量通常会减少,急于解套或清算头寸会导致竞赛条件的发展,因此,在O(1)交易中更新价格的市场机制被强烈推荐。
尽管有这个缺点,集中流动性的AMMs提高了资本效率和流动性提供者的收益可预测性。可以想象,融合了 "环境 "流动性和集中流动性头寸的新型AMMs,如CrocSwap,可能会让用户同时获得两种模式的好处。
最后的想法
鉴于去中心化金融的创新速度惊人,有时很容易忘记Uniswap本身只有略微超过三年的历史!即使如此,显然AMM的发展速度是惊人的。即便如此,很明显,AMMs在理论和实践上都取得了长足的进步。随着去中心化金融的成熟,我相信AMM设计方面的研究进展将成为推动资本效率、链上 "积木 "发展的宝贵基石。
不幸的是,为了叙述的清晰和简洁,这篇文章中省略了一些有趣的话题,例如。
为非流动性资产(如NFTs)开发做市机制
将不同的隐私纳入AMM订单执行中
在AMM内部和跨AMM的最佳套利以及防止MEV
我希望在今后的文章中讨论这些话题,以及更多内容。

