300:五分钟读懂DODO背后的PMM算法:一个通用性的流动性框架及多种用例

一个有效的市场包含巨量信息,这些信息承载了市场对价格的判断。但是链上计算资源有限,要在链上实现一个高度灵活的市场,就好像要把大象塞进冰箱。把大象塞冰箱这种事情并不罕见,互联网历史上已经有过几次壮举。例如图像压缩,音频压缩。压缩的本质是提取最重要的特征,抛弃不重要的细节信息。那么,一个市场最重要的特征是什么,是流动性。流动性可以表示为一张深度图。

从下图我们看到,深度图可以抽象为两个三角形,而描述这两个三角形,只需要中间价和斜率即可。

我们盯住右边的卖盘梯形深度,它的最大特点是,被买走的BaseToken越多,价格越高。因此,这种线性深度可以表示为

Glassnode联合创始人:比特币有望在预期DXY逆转中卷土重来:金色财经报道,最近几周,由于美元指数 (DXY) 走强、利率反弹以及美联储可能进一步加息等不利因素,比特币的价值被压制在30,000美元以下。但Glassnode联合创始人Yann Allemann认为,围绕美元指数和利率的变化,以及美国立法者达成暂定协议暂停联邦政府31.4万亿美元的债务上限而带来更多流动性等因素可能预示着加密货币将要卷土重来,比特币已于本周一触及两周高位升至28,452美元,但由于由于市场定价美联储更加激进(预计6月再次加息25个基点的可能性为50%)和美元指数走强,比特币也将面临进一步阻力。[2023/5/31 11:50:19]

其中i是第一个参数「midprice」,k是第二个参数「slope」。B表示当前的BaseToken库存,B0表示初始BaseToken库存,(B0-B)/B0用来表示有百分之多少的BaseToken被消耗掉了。这一公式可以使得价格随着BaseToken被卖出的数量线性增长。但是,线性真的是描述流动性最好的方法吗?并不是,线性描述有两个局限:1.真正的市场,大部分流动性集中市场中间价附近,而线性描述并没有反应这种不平衡的分布。2.即使价格远远偏离市场中间价,也应该有流动性,而线性描述下的价格是有上下限的。我们为价格曲线引入了非线性。在不扩充参数的前提下,使深度分布更符合市场规律,灵活度更高。

Glassnode:比特币从2.4万美元下跌到1.96万美元期间有超250万枚BTC进行了交易:金色财经报道,据区块链分析公司Glassnode披露,在此前比特币价格在从2.4万美元下跌到1.96万美元的过程中有255万枚比特币在这个价格范围内进行了交易,占到总流通量的13.3%,其中153万枚(60%)由短期持有者所有,这说明前期比特币市场走低势头并非由长期持有者主导,同时也表明尽管在价格上涨的时期出现激进卖出现象,但多年来的宏观积累仍然有效,比特币长期持有者似乎没有受到当前经济状况的影响。[2022/9/12 13:24:21]

最简单的非线性解决方案,就是使用乘法而非加法。

Aglaé Ventures将推出1亿欧元的web3基金:金色财经报道,由LVMH董事长兼首席执行官Bernard Arnault 支持的风险投资公司Aglaé Ventures将推出一个专门的加密基金。其启动的确切时间尚不清楚,两位知情人士表示,该基金的规模将在 1 亿欧元(1.02 亿美元)至 1.1 亿欧元之间。 总部位于巴黎的Aglaé此前曾支持Airbnb、Netflix、Slack 和 Spotify 等科技巨头,这是首次涉足加密领域,与加密做市商Flowdesk共同领导了3000万美元的融资。目前该基金尚未公开投资。

该基金将专注投资于加密初创公司、Web3基础设施、Layer 1公链及Layer 2项目等。[2022/8/3 2:57:26]

这个公式可以满足随着B的减小,P不断增大,直至无穷大。但是要怎么把斜率的影响加进去呢?这就需要对B0/B这一项做改造了。B0/B≥1,我们用一个参数对其进行缩放,在保持此数值大于等于1的同时,可以控制它「大于1的程度」。

Glassnode:NFT导致以太坊交易数量和活跃地址减少但交易手续费用大幅增加:金色财经报道,据区块链分析公司Glassnode最近分析发现,以太坊区块链出现了相当大的分歧。虽然交易数量和活跃地址都在下降,但交易手续费用规模却在大幅增加。这很可能是因为,至少部分是因为对NFT交易和投资的强烈需求。以太坊网络的总交易费用目前约为每天1万枚以太坊,这是一个相对较高的水平。此外,以太坊链上交易数量也比高点下降了33%,在本周内以太坊交易数实际上下降到每天45万次左右。[2021/9/4 22:59:44]

上式中,k的取值范围是,决定了价格的斜率。当k=0时,价格完全不变当k=1时,价格斜率退化到上一个版本的公式k越大,价格变化越敏感。k越小,价格变化越不敏感。但是还有一个小问题,这里的P是边际价格,对边际价格的积分才是用户需要支付的资产数量。上式中,B0/B这项积分后出现了对数函数,这会使后续计算变得很复杂。为了避免这一麻烦,我们再进一步:

Glassnode首席技术官:今年已有100万枚比特币缺乏流动性:Glassnode首席技术官Rafael Schultze-Kraft发推文称,这是2020年最重要的比特币图表之一。流动性萎缩,投资者囤积,可获得的比特币变得稀缺。也就是说,今年已经有100万枚比特币变得缺乏流动性,即由实体持有,这些实体花费的比特币少于他们收到的比特币的25%。供购买的比特币已变得更少。”[2020/12/31 16:07:01]

在B0/B外面加一个平方项,这样积分后就变成了一个简单的除法。令人惊叹的是,当k=1时,这条曲线正是AMM所定义的bondingcurve。这种巧合使我们相信,这是一套更加触及市场本质的算法。同理,对于左半边的深度图,我们用对称的做法,将basetoken替换为quotetoken,将乘法替换为除法:

我们将左右两边的深度图结合起来,就得到了PMM算法的完全版本,整理一下:

PMM算法是对Orderbook市场的高度压缩,参数简单,却极度灵活。这使得我们在冰箱如此狭小的空间内,拥有了堪比大象的能力。下面我来列举,通过调整参数和充提规则,这套算法可以实现哪些usecase。UseCase1跟随外部市场价格的主动做市这一usecase的应用场景是拥有巨大外部市场的主流币,例如ETHBTC等PMM可以实现主动调整盘口价格,减少IL。获得比AMM更高的资金利用率,并且持有单币种就能提供流动性设置如下:将价格i设置为外部市场价格将k设置为小于1的数字允许任何人单边充提这一UseCase我们称之为DODOClassicPool。UseCase2轻资本需求的自动做市算法这一usecase应用于没有主观定价能力的长尾币市场,将定价权完全交给taker通常来讲,长尾币都是新资产,在AMM框架下没有足够的卖盘流动性,因而导致其流动性长期匮乏设置如下:将价格i设置成起始发行价任意设置k第一笔充值可以以任意资产比例,且不改变市场价后续充值必须按照当前资产比例同时操作两种资产这一UseCase我们称之为DODOVendingMachine。UseCase3完全自由的做市算法这一usecase为那些雄心勃勃,想要大展拳脚的做市商准备。在此usecase下,资金池的全部资金都归做市商所有。所有参数都可以调整,做市商可以根据他的判断为资产灵活定价。同时做市商可以任意充提单一币种,而不影响市场价格。例如:在ETH=700USDT附近做市,使用很小的k获得非常有竞争力的流动性,并赚取大量手续费。当察觉到ETH有上涨预期时,撤出ETH库存以减少单边风险。但这一操作并不削弱买盘流动性。新资产发行项目方只提供代币而不提供资金。在1$开始销售代币。为了让更多人以合理价格买到代币,设置了较小的k,使得代币上涨温和。随后项目方发现需要使用资金,则可以直接提出资金池中的资产,而不损害卖盘流动性,即用户仍然可以买到大量廉价代币。设置如下:只有做市商能充提,允许单币种操作这一UseCase我们称之为DODOPrivatePool。UseCase4流动性众筹我们可以将新资产发行分为两阶段:1.不开启现货交易,所有参与发售的人都以相同的价格获得代币2.以上一阶段的结束价格开启现货交易,使用上一阶段剩余的代币和资产建立DODOVendingMachine这一UseCase我们称之为CrowdPooling。UseCase5退化为AMM当满足以下条件时,PPM算法表现和AMM相同。设置k=1必须按照当前价格比例同时充提两种资产这也意味着,AMM是PMM的一种特殊情况。推导过程如下:AMM的价格公式是xy=k,其中k是常数,x、y则分别代表两种代币的数量。为了避免字母上的歧义,我们把AMM公式中的恒定乘积定义为Const,并将其改写为y=Const/x。

其中y代表quotetoken库存,x代表basetoken库存,价格可以写为对y求导。

接下来回到k=1的PMM公式,我们可以将其写成:

我们发现,PMM价格公式的分子上为常数,分母为basetoken的库存。只要令

AMM的定价公式,与PMM的定价公式就一致了!UseCase6稳定币交易设置如下:i=1k=0.001算法表现可以与curve相同,并且更灵活,可以比curve更接近刚性兑换,或更接近AMM。撰文:雷达熊,DODO创始人

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-6:251ms