TL;DR
传统的恒定函数做市商们 (CFMMs) 不太适合预测市场等应用。它们与时间无关,这意味着没有预测市场所需的流动性分布调整和流动性提供者保护。
在本文中,我们提出了一种与 YieldSpace 形式类似的与时间有关的 AMM,随着时间接近到期,它会将流动性分散到“边缘”。这导致在任何时候都有最低数量的 YES 和 NO 储量,从而保护流动性提供者。
我们称之为 ProbabilitySpace。
YieldSpace 的目标是在给定储量比率的情况下对恒定利率进行定价,而 ProbabilitySpace 则试图根据随机过程的波动性和时间对 YES 和 NO 的概率进行定价。
我们希望随着时间的临近到期,AMM 将流动性分散到 100% YES 和 100% NO。
这里我们选择 YES 和 NO 概率来遵循二元期权,YES 和 NO 储量比率的自然对数服从正态分布。
YES 和 NO 的概率应该随着时间的推移而增加或减少。
NO 的概率可以表示为:
其中 N(d) 是正态分布 N(0,1) 的 CDF(累积分布函数)。
我们还可以将第一个等式写成:
这意味着价格,作为 NO 和 YES 概率的比率,随着时间接近到期而增加到无穷大或减少到零。
使用 这篇论文 中的近似公式,我们可以进行单参数和双参数近似,这使得微分方程更容易求得解析解。
将 N(d) 近似为:
不失一般性,令
则
因此,在时间 t 时
将 N(d) 近似为:
不失一般性,令
则
二阶近似生成的微分方程也难以求解。因此,本文的其余部分,我们使用单参数近似。
我们得到的 AMM:
看起来与 YieldSpace 非常相似,只是 t 被 1/sqrt(t) 替代。
我们可以使用 这篇文章 中的技巧分析流动性分布的演化,衡量每个价格 tick 间的流动性。
AMM 的实时价格为:
y 可以被写成关于 P 的函数:
P 可以用价格 tick 来表达:
因此
📌 Desmos 链接: https://www.desmos.com/calculator/xozkru6lwz
正如我们从 Desmos 里看到的那样,随着时间在 0 处到期,AMM 按照我们预期的那样将流动性分散到了 100% YES 和 100% NO。
上述计算假设 s 随着时间的推移保持不变。
仅当 x 和 y 保持在 s 时才保持不变。
例如, 如果 x = 2, y = 1:
当 t = 0.5, s = ~1.38
当 t = 0.25, s = ~1.33
因此,我们在这里讨论 s 不恒定时 AMM 的演化。
具体来说,我们将 x 在 t = t0 的价格定义为 P0,将 s 在 t = t0 的值定义为 s0。
使用以上两个公式,我们可以求解 x0 和 y0 :
假设当 t < t0, x = x0, y = y0。
然后我们可以将 s 表示为 t 的函数:
代入 x0 和 y0,求解 s:
将 s 代入以下等式:
📌 Desmos 链接: https://www.desmos.com/calculator/6j6hpobjph
随着时间的推移,AMM 趋于扁平,这表明无论如何,至少有一定的 YES 和 NO 储量,保护了流动性提供者。
xmin 和 ymin 指的是 AMM 实时的允许的 YES 和 NO 储量的最小数量。
假设当 t < t0, x = x0, y = y0。
如果 t >= 1, xmin = ymin = 0。
如果 t < 1,
可 swap 出的最大数量:
当 t = 0,
因为 AMM 会穿过 (x0,y0)。
由于 AMM 设计的时间演化,流动性提供者会受到保护:
随着时间接近到期,价格会变得更差。
有最低数量的 YES 和 NO 储量不能换出。
假设当 t < t0, x = x0, y = y0。
如果最终结果是 YES,
如果最终结果是 NO,
假设在时间 t 发生的交易使价格从 P 变为 Pk。
因此,
假设在时间 t 发生的交易使价格从 P 变为 Pk。
这是自 t0 以来的第一笔交易,也是到期前的最后一笔交易。
如果最终结果是 YES,
如果最终结果是 NO,
📌 Desmos 链接: https://www.desmos.com/calculator/t8e7bp3fw5
这个 Desmos 绘制了关于 t 和 k 的实际上的散发损失。随着时间接近到期,实际散发损失会减少。
可以通过数学方式生成相似的 AMM,它们的演化类似于我们上面推导出的 AMM。
在 Balancer 里,
因此我们可以选择调整权重以满足:
如果我们令在指数上的 y/x 为常数,
如果指数上的 y/x 变化,
我们假设 AMM 在 t < t0 时穿过(x0, y0)。
第二个指数上 y/x 变化的函数,表现非常类似于:
然而,这两个函数不满足关系 -dy/dx = (y/x) ^ (1/sqrt (t))。具体来说,第一个函数只在 (x0, y0) 处满足。
📌Desmos 链接: https://www.desmos.com/calculator/yb27o12cxd
感谢 Dan Robinson 提出这个想法,感谢 ayko2718、0xKaden、Allan Niemerg 和 Vanessa Tso 提供的有益讨论和反馈。