DODO 文档中心

DVM初始价格公式解释

由于该池使用了PMM算法,与通常的AMM池机制不同,因此初始价格的计算也与AMM不同。在这种专门的PMM池中,我们采用了一个非常小的值i,以减小k和i的影响,增加Base储备和Quote储备在池价格计算中的权重,使得池的性能趋于AMM。在池创建过程中,i是常数10510^5,转换单位的绝对值为110131*10^{-13}

  

已知B和Q时计算初始价格#

在初始化时可以得到B和Q。此时Q0=0,我们可以计算得到B0,与标准回归的情况类似。有关计算公式的详细信息,请参考:计算回归目标

B0=B1+B12k(1+4kΔQiB11)B_0 = B_1 + \frac{B_1}{2k}(\sqrt{1+ \frac{4k\Delta Q}{iB_1}} - 1)

其中,其中B1 = B,delta Q = Q,将k和i代入即可得到B0。

当B0已知时,计算midPrice的公式为:

P=i(1k+kB02B2)P = i(1 - k+k\frac{B_0^2}{B^2})

  

设定midPrice和B来推导Q#

midPrice的公式如下:

P=i(1k+kB02B2)P = i(1 - k+k\frac{B_0^2}{B^2})

转换后计算B0的公式为:

B0=(Pik+11k)B2B_0 = \sqrt{(\frac{P}{i*k}+1 - \frac{1}{k})B^2}

将B0代入计算目标的公式中,得到:

  1. k = 0。B0的精细化公式为:
B0=B+QiQ=i(B0B)B_0 = B + \frac{Q}{i} \newline Q = i*(B_0 - B)
  1. B = 0。此情况被排除,B不能为0。
  2. 正常情况下。B0的精细化公式为:
kBB02+(12k)B0(1k)BQi=0\frac{k}{B}B_0^2 + (1- 2k)B_0 - (1 - k)B - \frac{Q}{i} = 0

    将B0、B、i和k代入上述公式,得到:

Q=i[kBB02+(12k)B0(1k)B]Q= i[\frac{k}{B}B_0^2 + (1- 2k)B_0 - (1 - k)B ]