Uniswap V3的链上区间订单


Uniswap V3的链上区间订单

原文链接:https://medium.com/auditless/on-chain-range-orders-using-uniswap-v3-7a49e480ce51

作者:Peteris Erins

Uniswap V3带来了一个绝妙的设计:让区间订单的执行成为可能。不论是止盈订单(当代币X上涨到一定价格便将其卖出)还是限价买入订单(当代币X下跌到一定价格便买入)都可以利用Uniswap V3实现。

有用户看完我们最近发布的文章Uniswap V3上的无常损失后反馈到,区间订单完美地阐释了如何让无常损失为自己服务:

 

这个判断是正确的,并且也提供了一个不错的切入点,让我们可以顺着这个思路讨论一下价格预测是如何影响交易者对无常损失的看法的。本文我们会尝试解答三个问题:

  • 集中流动性仓位如何让区间订单成为可能?
  • 区间订单的有效价格是多少?
  • 在Uniswap上完成的链上区间订单有何利弊?

 

集中流动性仓位如何让区间订单成为可能?

区间订单可能会让熟悉自动做市商(AMM)机制的朋友们感到惊讶。在没有订单簿的情况下,我们如何去追踪不同的订单和它们各自的价格呢?

答案便是集中流动性仓位。V3协议确实会记录每一个集中流动性仓位,并可能将后者作为区间订单来使用。

工作原理便是:

如果你想在ETH价格达到p_a时设置一个卖单将ETH换为DAI,你实际上可以通过设置一个区间为[p_a, p_a + Δ] 的较窄集中流动性订单来完成卖出操作。因为当目前价格在该区间外时,所有的资产都会保留为ETH。

而一旦价格进入设置的区间,你的流动性在价格越过tick时便会活跃起来。当价格超出p_a + Δ后,区间订单由此触发,你的仓位便会转为DAI资产。

这个时候你便应该移除自己的流动资金了。不然等价格下跌之后,你的仓位可能会重新进入区间。从这个意义上说,你可以将这些订单称为无常的区间订单。

 

区间订单的有效价格是多少?

定义

我们假设某一市场有处于区间内的L流动性,有x数量ETH和y数量DAI的集中流动性仓位。

我们将以DAI的价格来衡量ETH。将[p_a, p_b]定为我们集中流动性仓位的区间价格。

区间订单我们尽量设置得窄一些(待会儿就知道为何要如此设置了)。我们可以让它正好为一个tick,那么sqrt(p_b) = sqrt(p_a)+ t,t即tick价格。因为Uniswap V3是根据价格的平方根进行追踪的,所以ticks代表着价值平方根之间的空间。

推算

回顾一下集中流动性的储备金的方程:

我们可以通过这个方程式算出曲线两端ETH和DAI的储备量。

首先将ETH的数额设为0(x=0),这正好对应价格p_b(超出区间的值)

然后将DAI的数额设为0(y=0),这对应的是价格p_a(进入区间的值)

最后我们卖出ETH的有效价格是ETH和DAI之间的比例,即:

可以与交易者可以接触到的价格对比:

这个公式和卖单计算几乎是一致的。

结论

我们可以发现,该价格比交易者接触到的价格p_a要略高(取决于tick的大小),不过,在这种情况下,我们是流动性提供者而不是交易者。这意味着我们也可以根据在此仓位提供流动性的总数赚取交易费。

 

在Uniswap上完成链上区间订单有何利弊?

先来看看优点:

  • 区间订单完全在链上进行。这意味价格大幅度波动时也能保证订单的执行,你也无需担心链外执行等时机问题。这也允许金库建立区间订单,这一功能也早已有人实践过了。
  • 区间订单有赚取交易费的潜力,这也大大增加了其吸金能力。
  • 进入LP区间时需要支付Gas费,但市场震荡剧烈时便无需支付

缺点也是有的,不过相信未来的设计改良会解决这些问题:

  • 区间订单的最终定价是未知的,这取决于交易费。我们能根据tick设定价格下限,而交易费则可以被视为奖励。
  • 区间订单是无常的。如果在LP撤出仓位前,价格还在上下波动,那么区间订单将被保留(不过赚取的费用也将被保留)。
  • 区间订单效率不高。因为资产被锁定在池子里。比如,如果你有300个DAI并想用其购买等价的ETH、UNI和YFI(看哪个先达到目标价格),这笔订单无法在链上完成(链外则是可能的)。 你只能分别设置3个独立的区间订单,每笔订单各分100个DAI。

不过,考虑到这一功能的“附赠”属性,Uniswap V3确实没有优化它的责任。虽然我认为,这一附加功能作为gas费友好型的区间订单是大有用处的。

 

你们对V3上的区间订单有别的看法吗?我很乐意跟各位交流,随时在推特上联系我 — — p_e

另外,想建立你自己的智能合约吗?我们刚刚上线的智库可以帮助你踏踏实实走好每一步。 点击加入

How do you rate this article?


0

0


Daily Universe Knowledge
Daily Universe Knowledge

🪐 We aim to help our users from all over the space know more about Universe Finance, Uniswap V3 and active liquidity management

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.