每天都會有成千上萬人第一次體驗去中心化交易所。然而,公鏈的一些特性往往會讓新手無所適從,這裡面甚至包括很多熟悉傳統交易平台的老手。結果,在套利者和搶跑者的攻擊下,交易者的表現不盡如人意。

總的來說,我們可以將每筆交易的成本分成以下幾個部分:

價格衝擊經紀商或交易費滑點底層區塊鏈的交易費

本文是自動做市商入門系列的第一篇,將討論交易成本中的首要部分:價格衝擊。你將了解到以下內容:

Uniswap v2、Sushiswap 和Balancer 1等自動做市商是如何決定報價的;如何使用一些簡單的策略來盡可能減輕你的交易所帶來的價格衝擊。

什麼是流動性池?

大多數去中心化交易所會運行多個不同交易對的流動性池,如ETH/WBTC。這些流動性池起到了自動做市商的作用,而非在訂單簿模式下撮合買賣雙方。

流動性池是一個儲備了兩種或多種代幣的智能合約。只要符合特定規則,任何人都可以向流動性池注入資金,或從中取走資金。

例如,恆定乘積函數x*y = k 就是規則之一,x 和y 分別代表代幣A 和B 的存量。若想從流動性池中取出一些代幣A,交易者必須按一定的比例向流動性池中註入代幣B,以確保x 和y 的乘積等於常量k(交易費另算)2。

自動做市商是如何決定報價的?

根據恆定乘積做市商公式,代幣A 的價格為 price_token_A = reserve_token_B / reserve token_A。

- 圖1:不同的自動做市商公式對應的不同價格曲線。在上圖例子中,當一個Uniswap v2 流動性池有15 個Y 代幣時,0.1 個X 代幣即可買入1 個Y 代幣。當這個流動性池只有2.5 個X 代幣時,4 個X 代幣才能買入1 個Y 代幣。其它價格曲線旨在將流動性集中到某個價格附近(例如,將穩定幣與其它代幣配對)(來源:Curve 項目白皮書) -

舉一個真實的例子,在撰寫本文時,Uniswap 的ETH/WBTC 流動性池內有2700 個WBTC 和86000 萬個ETH。根據二者的存量之比,ETH 當時的市場價格是2700/86000 = 0.0314 WBTC。

關鍵在於,Uniswap 不會根據其它市場上的價格變化更新價格。 Uniswap 的市場價格只會隨流動性池中代幣存量之比變化而變化。在用戶交易過程中,交易池中的代幣存量會不斷發生變化。

舉個例子,當幣安上ETH 的價格跌至0.0310 WBTC 時會發生什麼情況?這時,Uniswap 流動性池中的ETH 存在溢價,從而產生套利機會。套利者就會到幣安上買入“便宜的” ETH,然後立即在Uniswap 上賣出賺取差價,直到Uniswap 上ETH 的價格同樣降至0.0310 WBTC,無法繼續低買高賣為止。在上述例子中,套利者共計使用550 個ETH 買入了17.2 個WBTC(為簡單起見,此處忽略交易費和gas 費)。

因此,即使自動做市商不會根據現實世界的信息更新價格,交易者還是可以相信自動做市商提供的報價是密切追踪全球市場價格的,因為這裡面存在持續不斷的套利行為。

什麼是價格衝擊?

雖然我們學習瞭如何根據代幣存量之比計算當前市場價格,但是該市場價格只反映了邊際代幣的價格。然而,交易者通常會一次買入或賣出大量代幣,導致代幣價格遞增。

當前市場價格和預期執行價格之間的差異被稱為價格衝擊。

價格衝擊取決於以下兩個因素:

你的交易量在流動性池規模中的佔比;流動性池採用的交易規則(例如,恆定乘積公式)。

- 圖2 :不同訂單規模下的平均執行價格(左y 軸)和價格衝擊(右y 軸)對比圖。這兩個因子都隨著訂單規模增大而增加。隨著訂單規模在流動性池規模中的佔比增加,執行價格相對市場價格會高出更多。 -

- 圖3:在Uniswap v2 上不同規模的流動性池中交易一筆10 WBTC 的賣單後,平均執行價格(左y 軸)和價格衝擊(右y 軸)的對比圖。流動性池規模(pool size)指的是交易池中兩種資產存量的總價值。同樣大小的賣單在不同流動性池中的佔比分別為0.19%、1.85% 和18.52%。因此,根據經驗來看,你的訂單的價格衝擊約為訂單規模在流動性池中佔比的兩倍。 -

如何最小化價格衝擊?

正如我們之前提到的,價格衝擊在交易總執行成本中佔據很大一部分。以下是一些實現價格衝擊最小化的簡單策略:

找到最深的市場:到目前為止,我們已經確定價格衝擊取決於交易規模在流動性池規模中的佔比。因此,我們想要找到在我們所關注的價格範圍內最大的流動性池,這樣就可以讓代幣的執行價格盡可能接近市場價格。 Coingecko 上的市場深度表提供了很好的參考。

- 圖4:市場價格± 2% 內UNI 交易對的流動性排序。請注意Uniswap 和Bitfinex 之間的價差變化。 (來源:Coingecko) -

關注DeFi 以外的市場:雖然這是一篇關於自動做市商的文章,但是我們不會假設你總能以最佳價格達成鏈上交易。實際上,由於我們所討論的自動做市商的流動性分散在一個價格段內,通常很少會有流動性集中在當前市場價格附近。這是許多去中心化交易所都試圖解決的問題。例如,Uniswap v3 可以讓做市商將其流動性集中在當前市場價格附近,從而提供比中心化交易所更有競爭力的價格。如果有一筆交易改變了去中心化交易所上某個代幣的價格,且該代幣還在其它市場上交易,就會產生套利機會。正如上文所述,套利者將執行與該交易相反的操作(即,在這筆交易後面立即插入自己的交易),讓去中心化交易所上的價格回到全球市場價格。

顯然,套利行為的存在本身就是一種交易不當證明,因為交易者等於是在向套利者“捐錢”。這就引出了一個問題:當其它市場存在的情況下,你是否應該承擔2 至3% 的價格衝擊來執行鏈上交易?注意交易費:自動做市商收取0.3% 的交易費,這就意味著最佳買單和最佳賣單之間的價差是0.6%。在這一範圍內,自動做市商不會與其他交易所的價格對齊。換言之,即使是流動性最高的自動做市商交易也存在0.3% 的價格衝擊。盡可能降低交易費帶來的影響是至關重要的,對於那些在中心化交易所上價格衝擊很小的交易來說尤其如此。因此,相比之下,中心化交易所可能是更好的交易執行平台。 (同一筆交易的交易費在幣安上可能是 0.1%,在FTX 交易所上可能是 0.07%。)

儘管如此,還有其它很多原因導致去中心化交易所的交易費較高,如全託管,或免去引導、KYC 或存款流程。但是,即使在這些情況下,交易者也應該意識到較高的交易價格背後意味著去中心化或即時流動性溢價。

分散交易:首先,我們可以延長交易時間線,將一筆交易拆分成幾筆較小的交易陸續完成。這點對於更偏愛去中心化交易所的交易者來說尤其重要,儘管DeFi 領域之外還存在其它流動性市場。舉個例子,你可以將一筆交易分割成5 筆,每次買入20%,然後等待套利者將價格恢復。這5 筆交易的價格衝擊加起來低於一筆交易,但是需要消耗更多gas 成本,執行時間也會更長。交易的規模越大,這個策略的優勢越明顯,因為相對減少的價格衝擊來說,固定的gas 成本就劃得來了。

直線交易並不一定是成本最低的:並非每個交易都恰好能找到對應的交易對流動性池,即使能找到,也不一定比使用中間貨幣更便宜。例如,儘管代幣A 和B 可以直接在流動性池中達成交易,但是在代幣對A-ETH 和ETH-B 的流動性更充足的情況下,A → ETH → B 的交易路線通常更便宜。從這一方面來說,聚合器非常有用,即使你只是參考它們提供的信息來選擇交易路線。使用去中心化交易所聚合器:最後,你可以使用1inch、Matcha 或Paraswap 等去中心化交易所聚合器。

這些聚合器相當於DeFi 領域的智能訂單路由。它的作用原理是,自動做市商賣出第一個代幣的價格會比第10 個代幣低。每當某代幣在多個流動性池中交易時,聚合器會從所有流動性池買入該代幣,盡可能降低交易對每個流動性池的價格衝擊。不同於在一個市場上放長交易時間線,聚合器會將交易分散在盡可能多的市場上立即執行。和手動分割交易一樣,聚合器同樣需要消耗比單筆交易更高的gas 成本。

- 圖5:用ETH 買入10 個(3200 美元)、50 個(1.6 萬美元)、100 個(3.2 萬美元)和200 個(6.4 萬美元) AAVE 的最佳策略。交易規模越大,交易路徑就會加入越多交易所,避免造成某個流動性池的價格波動太大。 (來源:1inch) -

預告

在本系列的第二篇文章中,我們將詳細介紹滑點。幾乎所有自動做市商交易都會被搶跑,最終以交易者願意接受的最大滑點執行。這是公鏈交易的“特徵”,是如今的去中心化交易所無法避免的。這一成本只能轉換,從而導致“三難困境”。

致謝:感謝EvanSS、Georgios Konstantopoulos、Dave White、Dan Robinson、Arjun Balaji 和raul 的討論和審閱。

免責聲明:本文僅供參考,不構成任何投資建議,不應用來評估任何投資決策的優劣,或作為會計、法律、稅務或投資建議的依據。本文反映了作者當前的觀點,不代表Paradigm、其附屬公司以及相關人員的觀點。本文所提出的觀點如有改變,恕不更新。

注1:基於中心化限價訂單簿模式(如Serum)或批量拍賣模式(如Gnosis)的去中心化交易所不在本文的討論範圍內。

注2:每筆交易的交易費會導致乘積略高於常量k。

(完)

(文內有許多超鏈接,可點擊左下”閱讀原文“ 從EthFans 網站上獲取)

原文鏈接:

https://research.paradigm.xyz/amm-price-impact

作者: Hasu

翻譯&校對:

閔敏&阿劍