USDT:如何理解自动做市商中的价格冲击

来源|?research.paradigm.xyz

作者|?Hasu

每天有成千上万的人第一次使用去中心化交易所。然而,公链的特性通常会让新手措手不及,即使是那些熟悉传统市场的用户。结果就是交易者的资金流向套利者和抢跑者,导致其操作受到预期之外的影响。

在宏观层面上,我们可以将每笔交易的成本分解为几个部分:

价格冲击

中间费或交易费

滑点

底层区块链的交易费

这篇关于自动做市商(AMM)的文章将作为本系列的引介,并讨论第一种也是最关键的成本:价格冲击。读者将了解到:

Uniswapv2,Sushiswap和Balancer的AMM机制如何确定价格

注:其他使用中心化订单簿(如Serum)或批量拍卖(如Gnosis)的DEX本文不作讨论)

如何使用一些简单策略最小化价格冲击对个人交易的影响

流动性池是什么?

大多数去中心化交易所的流动性池代表了不同的交易对,例如ETH/WBTC。不同于在订单簿中匹配买卖方的方式,这些流动性池作为自动做市商?(AMM,automatedmarketmaker)存在。

流动性池是一个智能合约,其中储存了两种或以上的代币,并且允许任何人在其中进行存款和提款操作,但是受到特定规则的约束。

其中的一条规则就是恒定乘积公式x*y=k,x和y代表A,B两种代币的储备。为了取出一定数量的代币A,用户必须要存入成比数量的代币B以维持恒定的K值(注:每次交易的费用会导致K值略微升高)。

AMM如何定价?

根据恒定乘积公式可得,使用代币B储备量除以代币A储备量可以简单得到代币A的价格(price_token_A=reserve_token_B/reservetoken_A)。

表1:不同的AMM公式会产生不同的价格曲线。假设Uniswapv2流动性池有15个Y代币时,它只会为边际Y代币支付0.1个X代币。但是当只有2.5个Y代币时,它会支付4.0个X代币。其他价格曲线旨在将更多流动性集中在某个价格(例如稳定币为1.0)。来源:Curve白皮书

举个真实的例子,在撰写本文时Uniswap的ETH/WBTC交易池中有2,700WBTC和86,000ETH。该储备率意味着ETH当时的市场价格为2,700/86,000=0.0314WBTC。

至关重要的是,AMM不会随着其他市场的变动而更新此价格。市场价格只会随着池中代币储备率的变化而变化,当有人在其中进行交易时就会产生变化。

举个例子,如果Binance中的ETH价格跌至0.0310WBTC会发生什么?这意味着UniswapLP目前正在以溢价购买ETH,从而创造了套利机会。套利者在Binance上购买“便宜”的ETH,然后在Uniswap上出售以获利。他们会一直这样做,直到UniswapETH单位价格变成0.0310WBTC(与Binance相同),他们无法再通过卖出ETH获利。在我们上面的示例中,这会发生在以17.2WBTC的价格向交易池出售550ETH后(为简单起见,忽略费用和gas)。

因此,即使AMM不会根据现实世界的信息更新其价格,由于持续的套利,交易者仍然可以预期AMM的报价会密切跟进全球市场价格。

价格冲击是什么?

虽然我们学习了如何根据两种代币储备比率计算当前市场价格,但该市场价格仅代表AMM想要的边际代币价格。然而在实践中,交易者通常会一次性买卖许多代币,每单位代币的成本都比前一个高。

当前市场价格与预期成交价之间的差距就是价格冲击(priceimpact)。

价格冲击是以下两个因素作用的结果:

你交易量的规模在流动性池中的占比;

流动性池采用的交易规则(例如恒定乘积公式)。

表2:不同订单规模下的平均成交价(左y轴)和价格冲击(右y轴)对比图。这两个参数都随着订单规模增大而增加。随着订单规模在流动性池规模中的占比增加,成交价相对市场价格会高出更多。

表3:在Uniswapv2上不同规模的流动性池中进行10WBTC的卖单后,平均成交价(左y轴)和价格冲击(右y轴)的对比图。流动性池规模指的是交易池中两种资产储备量的总价值。10WBTC的卖单在不同流动性池中的占比分别为0.19%、1.85%和18.52%。因此根据经验,你的订单的价格冲击约为该订单规模在流动性池中占比的两倍。

如何最小化价格冲击?

正如我们之前提到的,价格冲击在交易总执行成本中占很大一部分。以下是一些能够将价格冲击最小化的简单策略:

找到深度最好的市场:到目前为止,我们已经确定价格冲击取决于交易规模在流动性池或市场规模中的占比。因此,我们希望找到在某个价格区间流动性最好的交易池,以使成交价尽可能接近市场价格。Coingecko上的市场深度表是一个不错的切入点。

表4:市场价格差异2%内的UNI交易对流动性排序。注意Uniswap和Bitfinex价差的差异。来源:Coingecko

关注DeFi以外的市场:虽然这是一篇关于自动做市商的文章,但是我们知道用户并不总是能够在链上获取最佳的交易执行。实际上,由于所讨论的自动做市商的流动性分布在一个连续的价格区间内,通常很少会有流动性集中在当前市场价格附近。这是许多去中心化交易所都试图解决的问题。例如Uniswapv3可以让做市商将其流动性集中在当前市场价格附近,从而提供比中心化交易所更有竞争力的价格。

如果有一笔交易改变了去中心化交易所上某个代币的价格,且该代币还在其它市场上交易,就会产生套利机会。如上所述,套利者将进行尾随交易(即在某笔交易后立即插入自己的交易),让去中心化交易所上的价格重新回到全球市场价格。显然,套利行为的存在本身就是一种执行不当证明,因为交易者无异于向套利者捐赠资金。这引出了一个问题:其它市场存在的情况下,你是否应该接受超过2%-3%的价格冲击来执行链上交易?

注意交易费:自动做市商收取0.3%的交易费,这就意味着最佳买单和最佳卖单之间的价差是0.6%。在这个范围内,自动做市商不会进行报价。换言之,即使是流动性最好的自动做市商交易也明显存在0.3%的价格冲击。尽可能降低交易费是至关重要的,对于在中心化交易所中受到价格冲击影响微乎其微的交易来说更是如此,因此,完全可以说中心化交易所可能是更好的交易执行平台。(做个对比,同样一笔交易的费用在币安上可能是0.1%,在FTX交易所中可能是0.07%)

尽管如此,还有其它原因导致去中心化交易所的成本较高,如全托管、KYC或存款流程等。但即使在这些情况下,交易者也应该意识到较高的交易价格背后意味着去中心化或即时流动性溢价。

分散交易:首先,我们可以将一笔交易分解成几笔较小的交易陆续完成。这点对于更倾向于使用去中心化交易所的交易者来说尤其重要,暂不论DeFi领域之外还存在其它流动性市场。举个例子,每次买入20%,然后等待套利者恢复价格。这5笔交易的价格冲击加起来低于一笔大额交易,但gas成本会更高,执行时间也会更长。交易的数额越大,这个策略就越有优势,因为固定的gas成本随着更优的边际执行降低。这个策略也同样适用于均值反复资产(如稳定币)。

直接交易的成本不一定更低廉:并非每笔交易都存在直接交易对,即使存在,也不一定比使用中间货币更便宜。例如,尽管代币A和B存在直接交易对,但是在A-ETH和ETH-B代币对流动性更充足的情况下,A→ETH→B的交易路线通常更便宜。从交易路线来看,聚合器的建议非常有帮助。

使用去中心化交易所聚合器:最后,你可以使用1inch、Matcha或Paraswap等去中心化交易所聚合器。这些聚合器相当于DeFi领域的智能订单路由,其运行方式是自动做市商卖出第1个代币的价格会比第10个代币低。每当某代币在多个流动性池中交易时,聚合器会从所有流动性池买入该代币,尽可能降低每个流动性池的价格冲击。不同于在一个市场中拉长交易周期,聚合器会在许多可能的市场中分散交易并立即执行。和手动拆分交易一样,聚合器的gas成本同样比单笔交易更高。

表5:用ETH买入10个(3200美元)、50个(1.6万美元)、100个(3.2万美元)和200个(6.4万美元)AAVE的最佳策略。交易规模越大,交易路径就会包含越多交易所,避免对单个流动性池造成过大的影响。来源:1inch

预告

在本系列的第二篇文章中,我们将讨论滑点。几乎所有自动做市商交易都会被抢跑,最终以交易者愿意接受的最大滑点成交。这是公链交易独有的“特征”,在如今的去中心化交易所模式下都无法避免。这一成本只能转移,从而导致“三明治困境”。

致谢:感谢EvanSS、GeorgiosKonstantopoulos、DaveWhite、DanRobinson、ArjunBalaji和raul的讨论和审阅。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-3:889ms