DAOrayakiDAO研究奖金池:
资助地址:DAOrayaki.eth
投票进展:DAOCommittee2/0?通过
赏金总量:100USDC
研究种类:DAO,AMM,LMSR,CPMM
原文作者:Gnosis
贡献者:Dewei,DAOctor@DAOrayaki
原文:AutomatedMarketMakersforPredictionMarkets
预测市场需要流动性才能正常运行。然而,尽管大多数人都了解事件发生的可能性意味着什么,但在预测市场中将事件发生的可能性的知识转化为相应的顺序可能是一项困难的工作。而且,去协调参与者之间的预测性资产交易可能很棘手。
一个没有做市商的简单案例:
假设Alice和Bob想知道星期六歌谭市是否会下雨。事件的结果是Yes和No。Alice认为至少有80%的可能性会下雨,但Bob认为虽然在歌谭市看起来可能会下雨,但最多只有70%的可能性。
Alice和Bob可以一起以下列方式进行交易:
Alice将7.50美元转换为7.5Yes和7.5No代币,而Bob将2.50美元转换为2.5Yes和2.5No代币。
然后Alice将她的7.5No代币换成Bob的2.5Yes代币。
如果下雨,Alice用系统抵押的10美元赎回她的10个Yes代币。
如果不下雨,Bob用10美元兑换他的10No代币。
Alice为她的代币支付了7.50美元,而Bob为他的代币支付了2.50美元。双方都会认为他们在交易时达成了不错的交易,因为Alice会认为她的代币至少价值8美元,即使她只为它们支付了7.50美元,而Bob会认为他的代币至少价值3美元,尽管他只支付了2.50美元。从外部看系统,根据Alice和Bob在该预测市场中的交易活动,人们可能会说星期六在Gotham下雨的几率约为75%。但是,要达到该概率估计需要从他们进行的交易中收集信息。
当然,增加更多的交易员和更多的交易,情况就会变得复杂。在许多交易者之间协调这些预测性资产的交易并理解交易对未来的看法可能很困难。这些交易者可能在不同时间活跃,如果没有多个订单簿,可能无法有效协调。通过汇总这些订单簿中的交易数据得出结果概率的简明衡量标准也变得更加困难。这些问题可以通过使用自动化做市商来改善。
基本AMM机制
本质上,自动做市商只是一个市场参与者,它是一个机器人,确保其库存中的每个结果都有一些结果代币,并且结果代币总是有一个可以提供的价格。只要AMM处于活动状态,交易者就可以为预测市场进行买卖结果代币,AMM将汇总交易数据以产生结果概率的估计值。
Gnosis为预测市场提供了两个自动化做市商的智能合约实现工具:对数市场评分规则(LogarithmicMarketScoringRules,LMSR)做市商和恒定产品做市商(ConstantProductMarketMaker,CPMM)。这两个做市商都需要资金才能获得开始提供流动性所需的初始结果代币。
最初由Robin·Hanson描述的LMSR做市商有着丰富的学术历史。它是专为预测市场用例设计的做市商,其属性已得到充分研究。
CPMM是一个较新的做市商,使用与Uniswap和Balancer池相同的机制。它也被称为Gnosis代码库中的固定产品做市商(FPMM)。它最初是为交换代币的更一般用例而设计的,但已针对固定产品做市商合约中的预测市场用例量身定制。
两个做市商都可以用交易之间保持不变的价值来描述。
对于LMSR,不变量的公式是:
invariant=sum(numOutcomes^(-numOutcomeTokensInvent))
对于CPMM,不变量的公式是:
invariant=product(numOutcomeTokensInInventoryForOutcome
可以在恒定函数做市商的上下文中考虑该不变值。
当交易者从AMM购买数量的结果代币时,基本上会发生以下步骤:
交易者将成本金额发送到AMM。
AMM将收到的成本金额转换为一组结果代币,并将结果代币添加到其库存中。AMM的不变表达式现在被破坏了。
AMM现在将足够的所需结果代币发送回交易者,以便恢复不变量。这是购买的所需结果代币的数量。
同样,销售工作如下:
交易者将已售出的结果代币数量发送给AMM。
AMM将出售的结果代币添加到其库存中。AMM的不变表达式现在被破坏了。
AMM将一定数量的全套结果代币转换回抵押品并将该抵押品发送回交易者,以便恢复不变量。这个金额是销售价格。
两个AMM也可以估计结果的几率。
LMSR结果的几率可以通过以下公式找到:
oddsForOutcome=numOutcomes^(-numOutcomeTokensInInven)
可以使用以下公式找到CPU获得结果的几率:
oddsWeightForOutcome=product(numOutcomeTokensInInven)
oddsForOutcome=oddsWeightForOutcome/sum(oddsWeight)
LMSR示例
让我们回到哥谭的Alice和Bob。我们将用10美元创建和资助一个名为CPU的LMSR做市商。CPU接受资金并将其转换为10Yes和10No用于自己的库存。市场的初始赔率估计为50:50。
现在假设Alice从CPU购买价值10美元的Yes代币:
Alice向CPU发送10美元。
CPU将10美元变成10个Yes和10个No代币。CPU现在有20个Yes和20个No标记,CPU的不变量被破坏。
CPU向Alice返回15.84963Yes代币,恢复不变量。
在本次交易结束时,CPU有4.15037个Yes和20个No代币,它估计Yes的几率为75%,No的几率为25%。
CPMM示例:
让我们用10美元资助一个名为Digi的CPMM。与CPU一样,Digi需要10美元,将其转换为10个Yes和10个No代币,并将它们添加到其库存中。
现在假设Alice从Digi购买了价值10美元的Yes代币:
Alice向Digi汇了10美元。
Digi将10美元变成10Yes和10No代币。Digi现在有20个Yes和20个No标记,打破了它的不变量。
Digi将15个Yes代币返还给Alice,恢复不变量。
在本次交易结束时,Digi有5个Yes和20个No代币,它估计Yes的几率是80%,No的几率是20%。
LMSW和CPMM之间的差异
LMSR和CPMM除了不同曲线形状的数值差异外,还有一些差异。这些差异体现在每个应用程序中的优点和缺点上。
LMSR优势
一方面,LMSR在学术工作中得到更多认可,其性质比CPMM研究得更多。更容易找到关于LMSR属性的论文,或者利用对这个做市商的现有研究。
当应用于组合预测市场时,LMSR分解为自相似的组件。它在这些场景中的分析已经在文献中进行了相当多的探讨。
最后,使用LMSR进行买卖的封闭式表达式允许计算同时进行的一批买卖的净成本。CPMM不承认预测市场用例的这种表达方式,因此合约上的买卖仅限于一次一个结果代币。
CPMM优势
CPMM中涉及的算术往往比LMSR更基本。无需使用COMM编程对数和指数的近似值。
CPMM也可以很容易地动态众筹,类似于Uniswap和Balancer池。但是,LMSR做市商不容易动态众筹。LMSR的资金参数没有基本的封闭形式,取决于LMSR实例库存中的结果代币数量,即使该参数完全由实例的库存决定。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。