Uniswap交易价格计算

这篇文章主要介绍了Uniswap交易价格计算 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。

https://www.interchains.cc/17559.html

Uniswap交易价格计算是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,Uniswap交易价格计算学习起来其实是很简单的,

不多的几个较为抽象的概念也很容易理解,之所以很多人感觉Uniswap交易价格计算比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难

Uniswap交易价格计算

  • Uniswap
  • 交易
  • 价格计算

交易价格的计算有两种类型:一种是给定X(token)的数量,计算能买到的Y(token)的数量(Input);一种是给定Y的数量,计算需要的X数量(Output)。

写在前面

上一节说了[Uniwap自动化做市商核心算法解析](), 这一节继续说Uniwap做市商算法之价格计算。

本文的基础是上一篇,建议认真理解,否则理解本篇有一定难度。系好安全带,准备出发!

uniswap交易价格计算

交易价格的计算有两种类型: 一种是给定X(token)的数量,计算能买到的Y(token)的数量(Input); 一种是给定Y的数量,计算需要的X数量(Output)。

本文接着上篇加入费用模型的算法。上一节的符号定义全部直接使用,不再重复说明。

给定X数量计算Y

假设要卖出∆x, = ∆x / x,则用来计算可以换取的 ∆y的函数记为getInputPrice如下:

Uniswap交易价格计算

r = 1 – ρ , ρ是费率。交换后,x, y代币余量变化如下:

Uniswap交易价格计算

本次交易,y的价格如下计算: $frac{Delta x}{Delta y}=frac{alpha x}{frac{alpha gamma}{1+alpha gamma}y}=frac{1+alpha gamma}{gamma}* frac{x}{y}$

可以看出$alpha$越大,对y价格影响越大,$alpha$最大取1,即使用x当前储备量相同数量x,最多可获取50%的y. 这种情况对价格影响加大,uniswap调用合约执行前,会检查用户输入数量是否对价格产生较大影响。

如果超出预定价格波动范围,会提示”Price impact too high“ 来阻止操作, 使用过uniswap的朋友应该对此比较熟悉。

尤其是当一个pool代币余量比较小的情况,每次交易的数量都不大,这就是所谓的交易深度。

下面看一下,第二种价格计算

给定Y数量计算X

假设要卖出∆y, $beta$= ∆y / y,则用来计算可以换取的 ∆x的函数记为getOutPrice如下: Uniswap交易价格计算

注意:这里依然是使用一定数量x来交换y, 不是用y交换x. 这里已知的是∆y,求出需要准备的∆x 可以看出当 $beta$= 1/2 时,大约需要当前流动性中等量的x代币, 这一结果跟上面getInputPrice 是一致的。

交换后x, y剩余量更新如下: Uniswap交易价格计算

上一节已经对该公式做了分析,看下此时y代币价格:

Uniswap交易价格计算

代入 = ∆y / y,化简得: $frac{Delta x}{Delta y}=frac{1}{(1-beta)gamma}* frac{x}{y}$

可见$beta$ 越大,价格越高。直面理解,置换出的∆y越多,池子里y代币就越少,同时x代币有所增加∆x,y的价格自然上升。

小结

getInputPrice和getOutputPrice分别从两种代币角度计算价格:

  1. 已有∆x数量的x代币,想知道能换得y代币数量

  2. 想换取∆y数量的y代币,想知道需要x代币数量

最终的价格是一致的,价格计算公式只区分价格计算的两种方向(x->y & y->x),不与具体的代币类型挂钩。例如,交易对ETH/UNI,可以把ETH当作x,UNI当作y,同样你也可以将UNI当作x,ETH当作y,这就是抽象。

本文内容主要参考: https://github.com/runtimeverification/verified-smart-contracts/blob/uniswap/uniswap/x-y-k.pdf https://uniswap.org/whitepaper.pdf

本文依然可以感受到uniswap 做市商模型的简洁,

下一节继续分析uniswap中添加移除流动性产生的影响。

欢迎关注公众号:blocksight

部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/17559.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 !
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » Uniswap交易价格计算

提供最优质的资源集合

立即查看 了解详情