如何在 Uniswap V3 中计算增加流动性的存款金额

How to calculate Deposit Amounts for Adding Liquidity within Uniswap V3

在为 Uniswap V3 中的新池添加流动性的同时,我正在尝试计算任何给定货币对的 'Deposit Amounts' 的公式。

例如,我们取 ETH/USDC

现价:2172.05 设置价格范围 -20% & +20%

最低价格:1747.7 最高价:2612.4

以太坊:0.394064 ($854.888) USDC:1000(1000 美元)

ETH美元金额是如何计算的,公式是什么? (Uniswap 是如何让 ETH 达到 854.888 美元的???

ps:我看过 Uniswap V3 白皮书 https://uniswap.org/whitepaper-v3.pdf,但需要外行一步步解释。干杯!

额外

我一直在阅读以下文章,答案就在下面的公式中: 资料来源:uniswap-deep-dive-into-v3-technical-white-paper

这个问题对于 SO 来说可能有点跑题,但我相信它无论如何都会对人们有用。这是我的答案...

Uniswap 使用预言机价格为您提供了您输入的 ETH 金额的美元价值,只是为了方便起见。不是本次存款操作的参数。

这里只有3个参数:

  • 资产A金额
  • 资产B金额
  • 价格范围

资产 A(在您的实例中为 ETH)与资产 B(在您的实例中为 USDC)的比率决定了平衡点。例如,如果你存入 1 Ether 和 1000 USDC,那么平衡点将是 ETH = 1000 USDC。最后,您定义价格范围以指定您希望您的存款发挥作用的范围。通过限制存款的价格范围,您可以在给定范围内提高资金(存款)的效率。这涉及到相当多的数学来解释,但让我试着简单地解释一下:基本上,自动做市商使用这个等式: a * b = k。这意味着当 a 变为无穷大时 b 变为零,反之亦然。因此 'liquidity' 从 0 到无穷大均匀分布。当您改为设置价格范围时,您 'concentrate' 范围内的流动性,以牺牲范围外的流动性为代价。从而提高资本效率。

完整的解决方案已添加到 excel sheet 中:

Uniswap Add Liquidity Token Calculations