全面了解新涌现的「常数函数做市商」,解析?CFMM的优劣势与未来。
撰文:DmitriyBerenzon,区块链投资机构BollingerInvestmentGroup研究合伙人
编译:PerryWang
在很多市场中,如果缺乏足够的有机流动性来支持活跃交易,做市商就成了缓解问题的代理人,它们可以促成原本不会发生的交易。
自动化做市商是执行这一功能的算法代理人,在电子市场内提供流动性。
尽管有很多人在理论和实践上研究过自动化做市商,但「常数函数做市商」?在学术领域和金融市场上,都是一个从0到1的创新。
链闻注:
在数学中,常数函数是指值不发生改变的函数;
《从0到1》是由硅谷知名投资人PeterThiel课堂笔记集结而成的书,曾经是创业者炙手可热、人手一本的「创业圣经」。
这种新型做市商,是指在数字资产交易环境中,使用起决定性质的定价规则,重新定义做市时提供流动性的过程,并让
全球资金池为大众服务。
在本文中我将:
解释AMM和CFMM之间的
差异
探索CFMM的
利弊,探讨CFMM未来的
设计方向及用例
澄清一些术语
尽管加密社区对自动化做市商?AMM颇为兴奋,但大家对相关术语有很多误解。
当人们提到AMM时,大多会想到?Uniswap,但AMM这个概念在学术界已有?10年的深入研究,研究主要集中在信息汇总的设计,以及如何应用于某些市场,在这些市场,回报依赖于世界的某些未来状况,例如预测市场。
人气最高的AMM是「对数市场评价法则」,该法则于?2002?年提出,被用于大多数预测市场。AMM的信息汇总还有其他策略,例如贝叶斯做市商和动态同注分彩做市商?。
Uniswap确实是一种AMM,但它有更多限定条件。因为Uniswap做市商使用了一种恒定乘积做市商,我们可以把这一类AMM称为「常数函数做市商」,即CFMM。
当谈到CFMM时,我们还经常听到「联合曲线」这一术语,实际上这是一个错误用法。联合曲线定义的是价格与代币供应量之间的关系,而CFMM定义的是两种或更多代币之间的关系。其实,该术语的创造者声称,联合曲线实际上希望用于「联合在一起的类宗教社区」的语境中。
最后,经常有人把像?Compound?这样的算法贷款协议称为AMM。我认为,这些算法市场采用了某种类型的AMM,而不是一种CFMM,因为其利率函数会根据使用率而动态变化,其目标也不是要保持利率不变。
常数函数做市商CFMM究竟是什么?
CFMM?是专门用于真实金融市场的第一批AMM。加密社区设计出CFMM,来构建去中心化的数字资产交易所,它建立在一种函数之上,即依据两个或多个资产的可用数量来建立一种预先定义的价格组合。与基于订单簿的传统交易所不同,交易者是与一个资产池、而不是与某个特定的对手方交易。
「常数函数」这一术语是说,如果某个交易会改变某些资产的储备量,那么这些储备量运算后的结果应保持不变,比如等于一个常数)。
CFMMs通常有三个参与方:
交易者:用一种资产交换另一种资产。
流动性提供者
(LP):愿意将自己的资产组合与他人进行交易,获得一定费用
套利者:让该资产组合中的资产的价格保持与市场价格一致,以赚取一定利润
CFMM常用于
二级市场交易,其目标是精确反映某个具体资产在
参考市场的价格
。例如,如果CFMM价格低于参考市场的价格,那么套利者会在CFMM买入这一资产,然后在一个基于订单簿的交易所卖出,从而获利。
恒定乘积做市商
由Uniswap率先实施的恒定乘积做市商策略,满足如下等式:
R(α)和R(β)分别是某种资产的储备量,γ是交易费。交易任何数量的某种资产,当改变其储备量时,必须保证:当交易费为0,乘积R(α)*R(β)一直要等于常数k。这常被简化为x*y=k,x和y分别是两种资产的储备量。在实践中,由于Uniswap收取?0.3%?的交易费,并将其投入储备,所以每笔交易之后k会增大。
一个恒定乘积函数在描绘两种资产时会形成一条双曲线,其特性让人比较满意,因为当价格趋近无限时,流动性都不会匮乏。
恒定总和做市商
恒定总和做市商,是CFMM一种相对直接的应用,满足如下等式:
R(i)是各资产的储备量,而k是一个恒定值。尽管这个函数产生「零滑点」,但它不会提供无限流动性,因此不适于在去中心化交易所的用例中单独实施。在实践中,如果某储备代币的参考相对价格不为1时,总会出现套利者吸干这种代币的情况。
当描绘两种资产价格时,恒定总和函数会形成一条直线,结果就是等式?x+y=k。
恒定平均值做市商
恒定平均值做市商,是恒定乘积做市商的一种概括,可用于超过两种资产的情况,权重可不限于50/50。Balancer?率先引入这一模式,在无交易费的情况下,恒定平均值市场满足如下方程式:
R是每种资产的储备量,W是每种资产的权重,k是常数。换句话说,在无费用时,恒定平均值市场确保了资产储备量的加权几何平均值保持不变。
来源:Balancer白皮书
譬如,三种资产等权重组合资产的函数为:(x*y*z)^(1/3)=k
混合型CFMM
有一些项目采取的是混合函数,基于所交易资产的特性而实现想要达到的目标。
Curve?发现,如果基础资产的价格相对稳定,那么你可以降低函数中的滑点值。它使用了一个恒定总和函数与恒定乘积函数的混合体,得出以下这个相当复杂的函数:
x是每种资产的储备量,n是资产的种类,D是一个不变量,代表储备中的价值,A是「放大系数」,即一个可调的常数,提供一种类似杠杆的作用,影响资产价格的范围,后者会影响流动性提供者的利润空间。
当投资组合比较均衡时,这个函数作为一个恒定总和函数而发挥作用,当投资组合变得更不均衡时,它转换为一个恒定乘积函数。在效果上,这个函数看起来像一个「放大的双曲线」。
来源:Curve白皮书
ShellProtocol?的目标类似,但采取了一种不同的方法。和Curve一样,其滑点已针对稳定币进行了优化,和Balancer一样,其代币资金池是一篮子的加权资产,但是与上述两者的区别在于,它使用了多个可调参数。它使用的函数如下:
来源:Shell白皮书
U(x)可被诠释为由一个增益函数G(x)和一个损失函数F(x)组成的效用函数;x是每种资产的储备量。在效果上,当资金池处于平衡时,该函数相当于一个恒定总和函数,但当资金池各资产的权重偏离某个特定的阈值时,它会逐渐引入更多的滑点。这种设计可确保资金池保持均衡,靠拢它对各资产所预设的权重。
常数函数做市商的好处
交易更快
在传统交易所的工作流中,做市商需要创建订单,订单要在交易所中挂出,做市商需要浏览订单,再等待有交易对手接单。受制于这种匹配流程,某些订单可能得等上好一段时间才会被接单,或者一直等待。而CFMM解决了经济学上的「需求耦合」问题,让一笔交易可以立即发生,对于某些用例而言这非常重要。
引导流动性
在基于订单簿的交易所,引导流动性是一个特别费力、成本极高的过程。通常情况下,交易所需要找到做市商,让他们编写用于定价和发布订单的客制代码,并经常直接提供帐户和资金,以便于交易。交易所往往还要运行带有控件的内部交易台,以确保既不抢先交易,还能靠自己应付一些执行工作。要么,创始人还要经常倒腾一段?python脚本,用自己的资产提供流动性,同时对冲他们在其他交易所的风险。「德尔塔中性」型做市商如果想找到一种对冲其资产偏离账面的方法,任务也比较艰巨,因为如果不存在某个自然人的买方或卖方,这通常是不可能实现的。
由于CFMM鼓励被动的市场参与者将其资产借给资金池,因此它们使流动性的提供的便利度有数量级的提升。例如,Synthetix?能够用Uniswap来为其sETH流动性池引导流动性,让用户可以更方便的在交易所开始交易。
链上预言机
CFMM提供了一种能力,即无需使用中心化的第三方即可衡量某个资产的价格,从而解决了所谓的「预言机问题」。与CFMM互动的代理?(agents)?会因为正确报告某个资产的价格而获得激励,因此,去中心化交易所变成了一个良好的链上价格预言机,其他智能合约可以将之作为一个真实信息的来源。
Uniswapv2?可以在每个区块的首笔交易之前度量和记录价格,这就更加落实了初衷。与此前在一个区块期间寻找价格相比,这样使得价格更难被操纵。
路径独立性
路径依赖的意思,简而言之就是「历史很重要」。基于订单簿的交易所,其价格发现过程是路径依赖的,某个资产的价格取决于参与者的行为响应。在传统市场以及中心化加密货币交易所,这一点都很明显,即资产价格受到各种因素的影响,比如订单簿深度、买方或卖方流动性、交易历史和私有信息等。
而CFMM在很大程度上是路径独立的,这意味着,任何两个数量的价格仅取决于这些数量,而不取决于它们之间的路径。这带来了两个重大好处:
因为交易者不管是一次性参与交易,还是一组小型交易,获得的
价格是一样的,所以他/她无需制定如何交易的策略。
它提供了一种关于状态的最小表征:我们只需知道
数量,就可以为某个资产定价。
CFMM的弊端
滑点
滑点是指,随着交易者吸收流动性,价格往往会向交易者行为相反的方向变化——交易越大,滑点越大。CFMM会产生较大的滑点成本,因此更适于规模较小的订单。
外部财务风险
向某个CFMM添加流动性很简单,但会带来一些复杂的财务风险。
例如,Uniswap的收益曲线是凹形的,这意味着流动性提供者在一定价格区间是盈利的,但在更大的价格变动中会亏钱:
来源:AlfaBlok
理想情况下,在冒险时我们需要「凸性」,即在风险光谱的两侧都获得正面。这种收益结构的潜台词是,流动性提供者应积极监测资金池中的变化,一旦变化就迅速行动,以防止重大损失。
CFMM的未来
依资产而定的函数
Curve?和?Shell?已经证明,可以为特定类型的数字资产量身定制常数函数。
因此我相信,除了稳定币,我们还可以针对各种资产类型设计多种多样的CFMM,比如衍生品和证券型代币。
这些CFMM的价格函数能最佳的反映各自资产的特征,结果就是滑点的减少和交易效率的提高。
流动性的敏感性
这一属性意味着,做市商应基于市场行为的数量来调整其定价响应的弹性。流动性敏感性是值得期待的,因为它从直觉上符合人们对市场起作用的方式的要求:一笔规模固定的投资,在流动性高的市场上的价格变动,应该比在流动性低的市场上要少。
流动性敏感性在当前的CFMM中仅限于价格方面,但其他维度也应该可以动态变化。
例如,流动性提供者如果按固定比例收取交易费,那就不是流动性敏感的,因为不论交易额怎么变化,它都是一样的。
一种替代方法是,在较低的流动性水平上提高LP费率,以激励LP存入其资产。
另一种方法是,在市场启动时降低LP费率,以此鼓励交易量的增加,当市场成熟时则提高LP费率。虽然较低的费率可以增加交易量,但它也可能会挫伤池中流动性。这里有一个有趣的研究领域,即到底什么样的费率能让利润最大化,在交易激励与流动性激励之间保持平衡。
在流动性之外,流动性提供者费率还可以基于其他因素。例如,人们可以基于尾随波动率来调整LP费率,从而形成一种随机定价机制,并为CFMM带来「波动性敏感性」这种额外好处。
一级市场
尽管目前大多数的CFMM主要用于二级市场的交易,但它们也可以用于引导一级市场的资产发行。CFMM使得发行方能高效地发行实体和数字原生资产,并捕获二级市场的好处,同时改善流动性,为客户改进价格发现。
Unisocks?是这一领域的先锋,它创建了自己的代币,持币人可获得一双限量版袜子。Unisocks创建了500个SOCKS代币,并将其存入一个有35个ETH的Uniswap流动性池中。如果ETH的交易价格为200美元,那么第一双袜子的底价则为14美元,第499双的底价为350万美元。SaintFame通过销售衬衫使这一概念进一步合法化,Zora?通过创建一个限量版商品的市场来推广该概念,我预计会有更多以类似用例来使用CFMM的项目。
有意思的是,这让我们回到了AMM的初始用例,即信息诱发,不过,这一次是关于某个资产的价格,而不是某个事件发生的可能性!
总结
常数函数做市商,是金融市场的一项基础性创新,它为自动化做市的学术研究引入了一个激动人心的新领域。
常数函数做市商仍处于发展的萌芽期,我期待着,在未来几年会看到更多新的设计和应用的出现。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。