【发布时间】:2022-01-05 22:18:30
【问题描述】:
尊敬的,
我想根据 Uniswap V2 逻辑对正确计算池余额的所有步骤进行编码。
任何知道如何提供帮助的人都可以使用任何编程语言(Python、Javascript 等)编写代码,在这个示例中,我使用了 R。
可以在此处查看流动性池的平衡过程:example1 和 example2。
但是,考虑到每笔交易 0.3% 的 Uniswap 费用,目前尚不清楚如何做到这一点。
library(tidyverse)
##### INITIAL PARAMETERS
#Uniswap charges users a flat 0.30% fee for
#every trade that takes place on the platform and
#automatically sends it to a liquidity reserve
Uniswap.fee <- 0.30 / 100
ETH.initial.price <- 100
ETH.pool.price <- 100
BNT.initial.price <- 1
BNT.pool.price <- 1
##### INITIAL SITUATION
BNT.units <- 1000
BNT.total <- BNT.units * BNT.initial.price
ETH.units <- BNT.total / ETH.initial.price
ETH.total <- ETH.units * ETH.initial.price
Pool.Value <- BNT.total + ETH.total
Pool.DF <- data.frame(Symbol = c("BNT", "ETH"), Share = c(BNT.total,ETH.total))
ggplot(Pool.DF, aes(x = Symbol, y=Share, fill=Symbol)) +
geom_bar(width = 1, position = "dodge", stat="identity") + labs(title="Initial POOL")
##### FINAL SITUATION
ETH.final.price <- 120
ETH.pool.price <- 100
BNT.final.price <- 1
BNT.pool.price <- 1
##### Imbalanced.Pool
Imbalanced.Pool <- data.frame(Symbol = c("BNT", "ETH"),
Share = c(BNT.total,ETH.units * ETH.final.price ))
ggplot(Imbalanced.Pool, aes(x = Symbol, y=Share, fill=Symbol)) +
geom_bar(width = 1, position = "dodge", stat="identity")+ labs(title="Imbalanced POOL: ETH valorization")
#### need to balance:
... 现在我不知道如何继续正确平衡并获得无常损失和套利利润值的步骤。
非常感谢,
【问题讨论】:
标签: javascript python r logic cryptocurrency