首页 区块链正文

理解自动化做市商 AMM 中的价格冲击:如何将它最小化?

jay 区块链 2021-07-08 14:01:23 10 0

可以通过一些简单策略减少 AMM 的价格冲击,如寻找流动性最好的市场和分散交易等。

原文标题:《理解自动做市商#1:价格冲击》 撰文:Hasu

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

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

价格冲击中间费或交易费滑点底层区块链的交易费

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

Uniswap v2、Sushiswap 和 Balancer 的 AMM 机制如何确定价格

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

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

流动性池是什么?

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

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

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

AMM 如何定价?

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

理解自动化做市商 AMM 中的价格冲击:如何将它最小化?

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

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

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

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

价格冲击是什么?

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

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

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

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

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

理解自动化做市商 AMM 中的价格冲击:如何将它最小化?

理解自动化做市商 AMM 中的价格冲击:如何将它最小化?

如何最小化价格冲击?

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

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

理解自动化做市商 AMM 中的价格冲击:如何将它最小化?

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

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

理解自动化做市商 AMM 中的价格冲击:如何将它最小化?

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

来源链接:research.paradigm.xyz

以太坊去中心化交易所DeFiDEXUniswapAaveAMM自动化做市商
版权声明

1. 本文经授权发布,如若转载,请标注文章来源和作者;
2. 豆瓣外汇www.DoubanFX.com)登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述;
3. 文章内容仅供参考,不构成投资建议,投资者据此操作,风险自担。