..

三明治交易

假设交易者A提交了一笔交易,用10个代币X兑换代币Y,滑动价差容差为1%(交易者A愿意接受最终获得的价值存在1%的差异),在持有100个代币X和100个代币Y的资金池中燃料费收取0.3%。 根据这些参数,交易者A预计将收到9.066个代币Y。

9.066个代币Y的计算逻辑

假设资金池中有 100 个代币 X 和 100 个代币 Y,交易者 A 要用 10 个代币 X 兑换代币 Y。

首先,我们先来看看常用的自动做市商(AMM)模型——恒定乘积模型,它的公式是:

\[x \cdot y = k\]

其中 ( x ) 和 ( y ) 分别是池中的代币数量,( k ) 是一个恒定值。在交易之前:

\[x = 100, \quad y = 100\] \[k = x \cdot y = 100 \cdot 100 = 10000\]

1. 计算燃料费

燃料费(交易费)为 0.3%,因此实际交易输入的代币 X 数量会减少:

\[10 \times (1 - 0.003) = 10 \times 0.997 = 9.97\]

也就是说,只有 9.97 个代币 X 实际用于兑换。

2. 计算兑换后池中的代币数量

因为 ( k ) 是恒定的,我们可以通过以下步骤求出交易后池中的代币 Y 数量 ( y’ ):

\[(x + 9.97) \cdot y' = 10000\]

将 ( x + 9.97 = 109.97 ) 带入:

\[109.97 \cdot y' = 10000\] \[y' = \frac{10000}{109.97} \approx 90.934\]

3. 计算得到的代币 Y 数量

交易者 A 得到的代币 Y 数量为交易前的 Y 数量减去交易后的 Y 数量:

\[100 - 90.934 = 9.066\]

因此,交易者 A 最终会收到约 9.066 个代币 Y。

参考文章

Tags: [ sandwichDeal  ]