您的位置 首页 资讯

DAOrayaki |预测市场的自动做市商

DAOrayaki DAO研究奖金池:

资助地址: DAOrayaki.eth

投票进展:DAO Committee 2/0  通过

赏金总量:100 USDC

研究种类:DAO,AMM,LMSR,CPMM

原文作者:Gnosis

贡献者: Dewei, DAOctor @DAOrayaki

原文:Automated Market Makers for Prediction Markets

预测市场需要流动性才能正常运行。然而,尽管大多数人都了解事件发生的可能性意味着什么,但在预测市场中将事件发生的可能性的知识转化为相应的顺序可能是一项困难的工作。而且,去协调参与者之间的预测性资产交易可能很棘手。

一个没有做市商的简单案例:

假设Alice和Bob想知道星期六歌谭市是否会下雨。事件的结果是 Yes 和 No。Alice 认为至少有 80% 的可能性会下雨,但 Bob 认为虽然在歌谭市看起来可能会下雨,但最多只有 70% 的可能性。

Alice和Bob可以一起以下列方式进行交易:

  • Alice 将 7.50 美元转换为 7.5 Yes 和 7.5 No 代币,而 Bob 将 2.50 美元转换为 2.5 Yes 和 2.5 No 代币。

  • 然后 Alice 将她的 7.5 No 代币换成 Bob 的 2.5 Yes 代币。

  • 如果下雨,Alice 用系统抵押的 10 美元赎回她的 10 个 Yes 代币。

  • 如果不下雨,Bob 用 10 美元兑换他的 10 No 代币。

Alice 为她的代币支付了 7.50 美元,而 Bob 为他的代币支付了 2.50 美元。双方都会认为他们在交易时达成了不错的交易,因为Alice会认为她的代币至少价值 8 美元,即使她只为它们支付了 7.50 美元,而Bob会认为他的代币至少价值 3 美元, 尽管他只支付了 2.50 美元。从外部看系统,根据 Alice 和 Bob 在该预测市场中的交易活动,人们可能会说星期六在 Gotham 下雨的几率约为 75%。但是,要达到该概率估计需要从他们进行的交易中收集信息。

当然,增加更多的交易员和更多的交易,情况就会变得复杂。在许多交易者之间协调这些预测性资产的交易并理解交易对未来的看法可能很困难。这些交易者可能在不同时间活跃,如果没有多个订单簿,可能无法有效协调。通过汇总这些订单簿中的交易数据得出结果概率的简明衡量标准也变得更加困难。这些问题可以通过使用自动化做市商来改善。

基本 AMM 机制

本质上,自动做市商(AMM)只是一个市场参与者,它是一个机器人,确保其库存中的每个结果都有一些结果代币,并且结果代币总是有一个可以提供的价格。只要AMM处于活动状态,交易者就可以为预测市场进行买卖结果代币,AMM将汇总交易数据以产生结果概率的估计值。

Gnosis 为预测市场提供了两个自动化做市商的智能合约实现工具:对数市场评分规则 (Logarithmic Market Scoring Rules, LMSR) 做市商和恒定产品做市商 ( Constant Product Market Maker, CPMM)。这两个做市商都需要资金才能获得开始提供流动性所需的初始结果代币。

最初由Robin·Hanson描述的 LMSR 做市商有着丰富的学术历史。它是专为预测市场用例设计的做市商,其属性已得到充分研究。

CPMM 是一个较新的做市商,使用与 Uniswap 和 Balancer 池相同的机制。它也被称为 Gnosis 代码库中的固定产品做市商 (FPMM)。它最初是为交换代币的更一般用例而设计的,但已针对固定产品做市商合约中的预测市场用例量身定制。

两个做市商都可以用交易之间保持不变的价值来描述。

对于 LMSR,不变量的公式是:

invariant = sum(num Outcomes^(-num Outcome Tokens Invent))

对于 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 接受资金并将其转换为 10 Yes 和 10 No 用于自己的库存。市场的初始赔率估计为 50:50。

现在假设 Alice 从 CPU 购买价值 10 美元的 Yes 代币:

  • Alice 向 CPU 发送 10 美元。

  • CPU 将 10 美元变成 10 个 Yes 和 10 个 No 代币。CPU 现在有 20 个 Yes 和 20 个 No 标记,CPU 的不变量被破坏(不变量应该是 1,但现在是 1/2)。

  • CPU 向 Alice 返回 15.84963 Yes 代币,恢复不变量。

在本次交易结束时,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 美元变成 10 Yes 和 10 No 代币。Digi 现在有 20 个 Yes 和 20 个 No 标记,打破了它的不变量(不变量应该是 100,但现在是 400)。

  • 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 实例库存中的结果代币数量,即使该参数完全由实例的库存决定。

热门文章

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注