萬字長文:從0到1做CEX-DEX套利bot的歷程

本文約10962字,閱讀全文需要約14分鐘
有意識地選擇一件事並專注於它,直到驅動決策的事實發生變化。

原文作者:Daniel McKinnon

原文編譯: @0xKaKa03

一、The opportunity 機遇

在2021 年的多頭市場期間,我和幾個朋友成功壟斷了 Avalanche 區塊鏈上的原子套利市場。不幸的是,我們的運氣最終用盡,我也就此收手。

但有件事一直縈繞在我心頭揮之不去:在我們利潤達到頂峰時,一位有史以來最成功的加密交易員告訴我, “你在搞原子套利乾嘛?競爭太瘋狂了,統計套利才有更多的錢賺。”

他關於第一點的確是對的。因為原子套利完全在區塊鏈上完成,並且可以使用借來的資金(閃電貸)進行,每個互聯網的14 歲國際象棋神童都是潛在的競爭者。然而,除了觀察到他所取得的巨大成功外,我自己從未能證實第二點。

有一天出於無聊和好奇,我寫了一個腳本,從 Avalanche 區塊鏈上主導的DEXTraderJoe 和曾經佔據超過50% 交易量的CEX Binance 拉取 AVAX/USDT 的價格,並生成了下面的圖表。

萬字長文:從0到1做CEX-DEX套利bot的歷程

“什麼都沒有,”我想,“機會肯定已經被套利掉了。”

但等等。身為原子交易者,我習慣看到像業馬遜火山一樣冒出來的數百美元無風險交易。我觀察到的CEX 和DEX 之間幾分錢的價差根本沒引起我的注意。然而,我的合夥人,一位現實中的高頻交易員,習慣於利用亞基點級別的機會賺取數百萬美元的回報,開始垂涎三尺。

統計套利交易完全是為了爭取基點報酬。這是一個量的遊戲。如果你看到 25 個基點的價差,並且知道執行交易需要支付23 個基點的費用,那麼你就是贏家。將這 2 個基點乘以1000 萬美元的交易量,突然間你就有了一個每天賺2000 美元的機器人。很簡單,對吧?

如果你曾經好奇為什麼大多數區塊鏈上的交易看起來大多是隨機金額的兌換,而沒有人會有意識地進行這樣的交易,統計套利(statarb)就是原因。世界上沒有哪個人類投機者會某天醒來決定他寧願持有600.51 個JOE 而不是253.51 個USDT.e(注意這裡的美元價值反映的是我截圖時的價格,而不是交易執行時的價格;這位交易者在這筆兌換中並沒有虧損 7 美元)。相反,是其他交易場所的一筆交易稍微打破了JOE/USDT 的價格平衡,而這個機器人意識到它可以賺取0.05 美元的利潤。

萬字長文:從0到1做CEX-DEX套利bot的歷程

二、The experiment 實驗

在交易中,你永遠無法真正確定自己能否捕捉到你所看到的 alpha。發現套利機會通常是最簡單的部分。

在花了更多時間分析CEX/DEX 價差後,我們開始追蹤大約六個似乎從「我們的」交易中獲利的機器人,但完全不了解它們的操作有多複雜。然而,我們認為自己還有機會,原因有以下幾點:

1 ,他們的所有交易都是區塊頂端交易。如果你還記得我之前的文章,我已經失去了自己的驗證者節點,在Avalanche 上競爭回跑原子套利需要一個由數百個驗證者組成的網絡,但區塊頂端交易通常不需要,所以這一點非常重要。

2 ,最大的機器人只交易頂級交易對,例如 AVAX/USDT、WETH.e/USDT、BTC.b/USDT 等對於在中心化交易所(CEX)上市但交易量較小的代幣,如 JOE/USDT 和 STG/USDT,競爭似乎較弱。 【譯者註:尾部市場較適合新手】

為了盡快驗證我們的假設,我們編寫了幾百行 Python 程式碼,建立了一個最簡化的統計套利機器人。我們的程式碼包含五個基本功能,分佈在五個進程中:

1 ,一個 CEX 監聽器,訂閱了Binance 的即時 bookTicker websocket 資料流,該資料流提供每次更新的最佳買價和賣價及其數量

2 ,一個處理區塊頂端日誌並記錄類 Uniswap V2 池子價格的DEX 監聽器

3 ,一個機會發現器,比較了CEX 價格和DEX 價格,併計算在扣除費用後是否存在有利可圖的交易。為了確定訂單規模,我們簡單地假設會以最佳價格拿下CEX 上所有可用的流動性。從某種意義上說,這個假設與交易中常假設的無套利條件相同。這個第一個版本的數學公式非常簡單:

_if abs(DEX price-CEX price)> 30 bps (DEX fee)+ 10 bps (CEX fee)+ gas (initially hardcodedto_ 25% of profits)>trade_

4 ,一個去中心化交易所訂單執行器,接收交易參數,將其打包成訂單,並發送到現有的路由器之一。

5 ,一個在幣安側處理相同事務的中心化交易所訂單執行器。

令人驚訝的是,我們一開始就開始賺錢,第一天淨賺了大約200 美元。不錯。我們當時只有1-2 個競爭對手,而且他們在瓦斯費上的出價不到利潤的 25% 。概念驗證完成,我們準備好擴充了。

# How to lose money as a stat arbooooor 如何作為統計套利者虧錢

不幸的是,我們的競爭對手很快就注意到了,我們的盈虧轉為負數。

統計套利利潤透過以下簡單公式計算:利潤=賣出資產價格*-賣出資產數量+買入資產價格*買入資產數量-燃氣代幣價格*燃氣代幣數量

冒著陳述顯而易見之事的風險,只有當預期利潤值大於 0 時才會執行交易。然而,計算利潤所依據的假設實際上與執行的現實情況不符。在進行 CEX/DEX 套利交易時,你可能會透過四種不同的方式虧錢:

  • CEX 端的滑點。發生在價格在到達你的機器人之前已經過時,或者競爭對手先發起交易,搶先獲取了所需流動性。

  • DEX 端的滑點。競爭對手的交易在你之前成交(可能在同一區塊內,也可能早一個或多個區塊),並將價格推向不利方向。

  • 過高的瓦斯出價。你不小心支付了超過交易價值的瓦斯費。這可能是由於惡意PGA、錯誤的利潤計算或對燃氣消耗的錯誤估計導致的。

  • DEX 端回滾。競爭對手的交易先於你的交易執行:導致價格超出你可接受的滑點範圍,進而使你的交易回滾。

前三種情況雖然會從底線削減幾個基點,但最後一種情況真的會造成很大損失。 DEX 端的交易回滾不僅意味著你浪費了一些gas(記住,這些交易的利潤通常非常微薄),還意味著你需要在CEX 端反向交易以避免庫存失衡。這會導致 CEX 端產生雙倍費用(約20 個基點),加上在價格幾乎總是對你不利的情況下反向交易所帶來的任何價格衝擊(大約 20 個基點)。如果你的目標是每筆交易平均賺取 2 個基點的利潤,這意味著一次DEX 回滾平均會抹掉20 筆成功交易的收益,但極端情況可能更糟。這就是所謂的在蒸氣壓路機前撿五分錢。

有鑑於此風險,顯而易見的補救措施是更積極地競價 gas,以確保在DEX 端永不回滾(註:在像 Avalanche 這樣的EVM 區塊鏈上,交易通常按gas 排序)。這正是我們的競爭對手所做的。

我們一開始就出價將預期利潤的25% 作為gas 費:這高於鏈上的不穩定均衡。過了一兩天,我們的競爭對手注意到了,提升了他們的出價,從而把我們擠出了區塊。我們從每筆交易都贏變成了每筆交易都輸。

註:統計套利的瓦斯費拍賣不存在納許均衡,這意味著這些交易的期望收益為負【譯者註: 沒有太理解這裡的含義,有大佬出來講講麼】

如果上一節內容不夠清楚,我們的競爭對手出價約佔利潤的20% 用於燃氣費,以確保交易排在區塊頂部。我們提高了出價,他們也做出了回應。如果我們再做出回應會怎樣?我們幾乎可以肯定會以利潤率為代價重新獲得市場份額。但那我們的競爭對手又會怎麼做呢?

乍一看,這些交易的均衡利潤為零,因為燃氣競價應該被推高到套利的價值。然而,情況實際上比這更糟。統計套利的燃氣競價(以及Flashbots 引入之前的原子套利)類似於經典的美元拍賣思維實驗,在該實驗中,理性參與者會支付超過面值的價格購買一美元鈔票。這是因為第二名(第三名、第四名,依此類推)實際上是為輸掉拍賣的特權買單。

劇透:實際上,統計套利相當有利可圖,沒有人會將gas 費抬高到超過交易利潤的程度,我們也沒有大幅提高基礎gas 價格。我們不想向競爭對手發出價格戰的信號,因此我們實施了一種優先級gas 拍賣(PGA)演算法,該演算法會從較低的 gas 出價開始,隨著競爭者出現在記憶體池中逐步提高出價,

我其實不太明白為什麼這種緩和在統計套利中有效,但在原子套利或夾擊交易中卻無效,在那些情況下,為了贏得明顯的交易,Flashbots 的小費已經飆升到幾乎佔利潤的100% (搜索者一分錢都拿不到)。如果有人知道這個問題的答案,請聯絡我。

最新編輯:zKSTONKs 提出了以下偽證明,部分回答了這個問題。如需繼續討論,請聯絡。

【譯者註:一句話解釋就是 cex-dex 套利的風險更大,為了提升整體的收益期望套利者的 gas 策略更保守,而 dex 原子套利因為風險小,即使大量提高 gas 整體可預期的收益還是正的(至少很難虧),所以會採用更激進的 gas 策略(然後陷入惡性循環)】

一個簡單的答案是,原子套利的變異數(風險)低於統計套利,因此原子套利所需的投資報酬率較低。這假設了風險厭惡的效用函數,這是金融建模中的常見假設。

在不失一般性的情況下,我們可以忽略瓦斯費。我們使用先前的利潤公式:`profit=p_a*q_a-p_b* 9 _b。之前,數量是隨機變數(因為交易可能會回滾)。為了簡化,我們假設數量是常數,只關注價格。

我們將價格建模為幾何布朗運動(GBM)。我們在時間 0 發送交易,交易在時間 t 執行。我們用 p_t~i 表示資產 i 在時間 t 的(隨機變數)價格。 sigma_i 是一個常數,代表波動率。

我們現在可以用公式 profit=p_t^a*q_a-p_t^b*q_b 來表示我們的利潤。為簡化起見,我們假設 p^b= 1 ,例如資產 b 是美元,因此價格始終為 1.由於資產 b 的價格是常數,b 的波動率 sigma_b 為 0

所以我們的利潤公式現在是`profit=p_t^a*q_a-9 _b

現在,使用幾何布朗運動(GBM)期望的公式,我們有 E[profit]=p_ 0 ^a*q_a-q_b。我們的利潤變異數為`Var(profit)=(p_ 0 ^a)^ 2*(-1+exp(t*(sigma_a)^ 2))*(q_ a)^ 2 `。

請注意,如果我們進行原子套利,那麼 sigma_a-sigma_b= 0 ,因此利潤的變異數為零。

然而,如果套利不是原子性的,那麼方差就是正的。

讓我們比較一個原子套利機會和一個中心化交易所-去中心化交易所(cex-dex)套利機會,它們的期望利潤(Elprofit])相同。由於原子套利的變異數為零,而 cex-dex 套利的變異數為正,cex-dex 交易的對數效用較低。因此,我們願意為執行cex-dex 套利支付更少的費用,因此我們的gas 出價應低於原子套利。 -

這個證明表明,對於CEX/DEX 套利,我們預期的 gas 出價會低於原子套利,但它並未確定原子套利的 gas 出價上限。在Flashbots 的世界中,上限確實是套利的價值,但在Flashbots 出現之前,失敗交易的費用由失敗方承擔,gas 出價可能會超過交易價值,就像CEX/DEX 套利中那樣。讓我們一起集思益,嚴謹地找出為什麼CEX/DEX 的gas 出價遠低於其可能的上限。

三、Priority Gas Auction(PGA)優先瓦斯拍賣(PGA)

我相信所有PGA 演算法本質上都是相同的。

  • 設定初始瓦斯出價

  • 監聽記憶體池中似乎正在進行相同套利的交易

  • 以更高的瓦斯費重新發送交易

  • 重複此過程直到區塊被挖出

在Avalanche 上,根據你的系統對監聽記憶體池和重新提交交易的優化程度,你可以預期每個區塊會有個位數的重新提交次數。

雖然演算法簡單,但它顯著增加了套利機器人複雜性,並需要升級為分散式系統。上述描述的最小可行產品(MVP)運作在單一機器的幾個核心上。然而,由於交易在全球範圍內隨機地在內存池中跳動,單純等待一筆更高燃氣費的交易漂移到你的機器上,然後悠閒地重新提交交易到內存池,是無效的,

相反,需要一個優化節點網路來輪詢新的交易,達到最大允許限制後立即將套利交易重新提交給區塊提議者。此外,還需要編寫新的子程式來追蹤節點網路中的先前交易和重新提交。有關此工作原理的更詳細描述,請參見我之前的帖子

一個勉強具有競爭力的統計套利機器人所需的最後一個要素是計算訂單規模以最大化利潤的演算法。如果我們假設既不會下單超過中心化交易所(CEX)訂單簿的頂層深度,又像我們最初那樣交易Uni V2風格的去中心化交易所(DEX)池,那麼可以推導出一個不錯的解析解(推導過程省略,因為如今這兩個假設都非常不現實)

萬字長文:從0到1做CEX-DEX套利bot的歷程

當考慮不同的DEX 交易場所和CEX 訂單簿的多個層級時,這項計算變得更加複雜。對於喜歡數學的我們來說,不得不放棄簡潔的解析解,轉而採用二分查找式演算法(也稱為數值方法,包括三分法、牛頓法、黃金分割搜尋等)。 【譯者註:當設計到多個 cex 多層 orderbook 以及類V3協定和各種稀奇古怪的協定時,解析解變得幾乎不可能】

四、Go son and seek yourvolume#去吧,孩子,去追求你的交易量吧

一旦我們將PGA 和訂單規模納入我們的機器人,並花了一些時間優化我們的驗證者網絡和 DEX 策略我們便重新開始穩定地贏得JOE 和STG 的套利機會。這是一個不錯的概念驗證,但交易量遠遠不足以產生足夠大的利潤來證明這項工作的價值。

如引言中所述,我們建立了一個每筆交易收穫幾個基點的系統,但當時Avalanche 上的總交易量約為每天1000 萬美元,這意味著即使我們佔據 100% 的市場份額,利潤也被限制在每天2000 美元到 2 萬美元之間。實際上,由於我們僅限於交易STG 和 JOE,利潤數字要小得多。為了讓所有努力都值得我們需要開始進行更多交易。

五、The crown goes to those with the lowest CeXfees #桂冠屬於那些擁有最低CEX 費用的人

我們天真地將AVAX、WETH.e 和BTC.b 加入機器人的檔案中,想看看是否能複製我們在 JOE 和 STG 上的成功。結果完全不行。我們的每一筆交易都落後於競爭對手(要么在正確區塊中位置較低,要么在更晚的區塊中)。

由於這些市的交易量遠遠更大,我們從與業餘玩家競爭轉向了與大玩家較量。典型的 JOE/USDT 交易通常在名義價值中等數百到低數千之間,價差大約為幾十個基點(毛利),而 AVAX/USDT 交易的名義價值不時達到數萬甚至數十萬美元

這意味著:

1 ,庫存需求大幅增加。用幾萬左右的庫存可以交易 JOE 和STG,但這些數量對於AVAX 來說是不夠的。

2 ,回滾的成本大幅增加。回滾一筆價值10 萬美元的AVAX/USDT 交易的淨成本約為400 美元。當每日可獲得的總和潤僅高出一個數量級左右時,這種成本真的開始讓人感到刺痛。

3 ,交易量大幅增加。雖然這聽起來顯而易見,但這正是本節的主題。

經檢查,很明顯我們的競爭對手只是比我們更早下單。普通的Binance 帳戶在提供和獲取流動性時都需支付10 個基點的費用,而每月交易額超過40 億美元的VIP 9 帳戶僅需支付1.8 個基點的獲取費和 0.9 個基點的提供費。還有更優的費率等級,對於貢獻超過Binance 總交易量0.15% 的人,提供做市返傭。

費用降低 5 倍不僅顯著增加了利潤(記住,我們的目標是每筆交易賺取 2 個基點--僅僅通過提升費用等級,這個數字就提升到了 10 個基點),還允許更早地執行交易。價差不會憑空出現,而是逐漸大。如果一個使用基本Binance 帳戶的機器人需要 30 個基點的價差才能盈利,那麼另一個擁有更好費用等級的機器人幾乎肯定會在25 個基點時搶先套利。譯者註:如果涉及 cex 的套利,高等級的 VIP 和高返傭很重要,能夠降低費率並且有的所會提高你的 api 速率,不過這些都需要從交易量砸出來】

六、注:做市商與吃單者

查看幣安的手續費等級,你可能會傾向於在中心化交易所(CEX)一側提供流動性而非吃單。這樣不僅可以節省手續費,還能避免跨價差,理論上如果你假設價格會有些波動,並且有人會在你下單後不久成交你的買/賣單,那麼你還能獲得更好的價格

這是一個合理的誘惑,我懷疑許多成功的交易者都運行市場做市統計套利策略。然而,這種方法需要一個更複雜的交易系統,因為你需要能夠追蹤每一個掛單限價單,如果價格朝相反方向變動則平倉並且更謹慎地管理庫存。

我們在這次作業初期以及我第一次進行CEX 套利時都嘗試過做市策略。我的總體結論是,做市訂單幾平總會被成交,但如果不投入大量精力進行訂單管理,價格快速變動的風險會抵消更優價格和更低手續費帶來的收益。根據經驗,我發現一次限價單未成交就可能抹去數週的交易利潤。此外,做市策略實際上已經在推動套利的極限,因為持有這些頭寸即使是短期,也會增加較高的貝塔風險敞口

七、Inventory, futures, andleverage 庫存、期貨和槓桿

我們已經多次提到庫存,但沒有明確給出定義。與原子交易不同,要進行統計套利,你必須在每個交易場所持有你希望交易的所有幣種的(相當大)餘額。如果DEX 上的AVAX/USDT 價格低於CEX,你就用USDT 在DEX 上購買AVAX,並在CEX 上做相反操作。無套利條件保證均值回歸會讓你反向交易並重新平衡庫存,但無法預測這需要多長時間。

實際上,當市場波動時,在均值回歸之前繼續交易所需的資金可能非常龐大(數千萬美元),因此你可以選擇以下兩種做法之一:

1 ,庫存耗盡時暫停交易。在上述範例中,我們最終會在DEX 上用盡USDT,在CEX 上用盡AVAX。在某個時刻,套利機會會反轉,交易將使我們的庫存重新達到平衡。這種方法較為保守,但會錯失大量利潤,因為最有利可圖的時期往往是市場最不理性的階段,套利機會通常會持續朝同一方向運作。

2 ,再平衡。在上述例子中,我們會將DEX 上的一半AVAX 轉移到CEX,同時將等量的USDT 從CEX 轉移到DEX。這樣可以重置我們的庫存,但也帶來一些問題。何時進行再平衡?如果在代幣轉移過程中市場價格發生變化怎麼辦?如何處理跨鏈代幣?如何處理CEX 和DEX 上的等價代幣,例如 BUSD 和 USDC

譯者註:也就是等差價回歸和來回搬

如果你想有效率地利用庫存,第一個選擇其實不可行。你要么放棄大部分利潤,要么最終利用率非常低。記住,現在你可以獲得無風險的 5% 收益(每天 1.5 個基點),所以你需要透過像加密統計套利這樣有風險的策略持有加密資產、對手方風險、機會成本等)獲得顯著高於這個收益的回報。為了簡化計算,這意味著你需要每天至少週轉一次庫存,才能使其有價值。透過再工衡,這很容易實現(我們經常每天週轉約10 倍),但如果沒有,大部分庫存將大部分時間處於閒置狀態,等待大幅波動,這時你還不如投資國庫券。

第二個選項增加了大量複雜性。我們原本簡單的 MVP 套利機器人現在擁有一個重新提交交易的節點網絡,各種用於檢查規模和盈利能力的計算,跟踪利潤的分析模組,以及監控倉位並來回調撥資金的再平衡模組。

你可能會把這一節和前一節放在一起,問為什麼還要進行現貨交易。期貨提供更低的手續費、隱含槓桿(較少的庫存需求)、更深的流動性、更緊的價差,以及(通常)更好的價格發現。這些都是事實,但由於期貨無法輕易兌換成現貨產品以實現庫存調換,導致庫存管理變得更加困難。我們從未真正克服這個難題,但大多數統計套利團隊確實交易期貨。如果你是這些團隊中的一員,並且願意分享你們是如何應對這個問題的,請聯絡我,我很感興趣。

八、一些旁注

以下部分是我對幾個想要討論的話題的零散想法,有些是我們嘗試過或經歷過的,有些則僅在我們的長期規劃中

## Aside: why not just trade one side 附註:為什麼不只做一邊交易

如果還不明顯的話,我們的機器人現在變得相當複雜。最初只是一個簡單的Python 腳本用來執行簡單交易,現在已經發展成一個非常複雜的系統。是否可以透過只交易DEX 端來簡化?大約80% 的時間價格發現起源於Binance.

有些團隊確實採取這種方法,避免了大量複雜的中心化交易所(CEX)和庫存管理環節,但如果沒有雙邊交易,這就不再是真正的套利了,而是開始承擔價格風險。我更傾向於不暴露於加密貨幣價格風險,但如果你對此感到舒適,完全可以走這條路。

順便提一下,有一場關於3AC 的Kvle Davies 的精彩訪談,講述了他們如何逐步擴大他們認為的套利窗口。起初,他們從原子交易開始。接著,他們和用了GBTC 溢價。最後,他們購買了帶有鎖定期的折扣代幣預售,這實際上根本算不上套利,更像是一種隨機的方向性押注。後兩種「套利」讓他們爆倉了。你可以自行判斷如何利用這些資訊。

除了獲得最佳手續費等級並將你的機器人放置在 CEX 機房旁邊(如Binance 的AWS 東京節點)譯者註:現在應該去哪兒查各個交易所的機房位置?】之外,CEX 端沒有太多可做的。是的,你會遇到接收過時的WebSocket 訊息等問題,需要建立模型來判斷哪些值得交易,但與DEX 端的挑戰相比,這相對簡單得多。譯者註:從最近推特上的聽聞來看 CEX 其實麻煩事也一堆】

九、Aside: bridged tokens are a PlTA 順便一提:跨鏈代幣真是麻煩

當我之前談到尋找更多交易量時,我提到開始交易 WETH.e/USDT 和BTC.b/USDT,而不是 ETH/USDT 和BTC/USDT,因為後者實際上並不存在於Avalanche 區塊鏈上。 ,現在有數十個區塊鏈擁有合理的去中心化交易所(DEX)交易量,可能還有數百種不同的跨鏈代幣版本,其價格需要透過套利達到平衡。

然而,由於再平衡和庫存管理問題,這些套利通常令人煩惱、難以操作且風險較高。如果你在DEX 上交易BTC.b/USDC,同時在CEX 上交易 BTC/BUSD,而某一方的庫存耗盡,你就需要追蹤將BTC.b 橋接到比特幣區塊鏈並將BTC 轉移到 Binance 的成本和風險,USDC/BUSD 的自動兌換也是如此,而其自動轉換在我們開始交易後不久就被暫停了。除了承擔橋接被攻擊的尾部風險外,這種複雜性使我們大多選擇交易橋接代幣而不進行再平衡,但對於敢於嘗試的人來說,仍存在機會。

譯者註: 關於跨鏈橋需要注意很多問題,跨鏈時間、跨鏈額度、怎麼找橋、錢被跨丟了等等,是一個很複雜的工程(複雜也意味著更少的競爭)

十、Aside: hedging and inventory management 附註:避險與庫存管理

到目前為止,我所描述的庫存管理都是比較初級的:撤銷失敗的 DEX 交易,使用穩定而計價的交易工具,接受價格波動。但透過優化這些環節,儘管複雜度大幅增加,利潤也能顯著提升。

如前所述,撤銷失敗的DEX 交易成本很高。如果你對未來應持有的正確庫存有自己的觀點,就可以避免失敗DEX 的懲罰,簡單地持有「錯誤」的庫存,直到處置成本更低或交易自然反轉。雖然我們從未這樣做過,但我認為,對於那些每次交換可能動用數百萬美元的大型交易者來說,必須有一個非常複雜的庫存管理系統,因為單純撤銷交易是不可接受的。

以穩定幣計價的交易工具使庫存管理更加容易:一個平衡的投資組合應在中心化交易所(CEX)和去中心化交易所(DEX)中保持50% 的代幣和 50% 的穩定幣。以加密貨幣計價的交易工具使追蹤變得更加困難,但也帶來了更多機會。一日採用這種方式,負責庫存管理和再平衡的程式碼幾乎肯定比負責交易的程式碼更複雜,而且很可能演變成一個非常複雜的凸優化程序。

最後,值得一提的是對沖。我們未進行對沖有兩個原因:

1、我們願意承擔所持庫存的損失

2.統計套利交易本質上是自我對沖的,我的意思是,庫存需求會隨著加密貨幣價格的上漲而增加,反之亦然

然而,更大的交易者,其中一些持有數億美元的名義庫存,幾乎肯定需要進行對沖。在每筆交易後調整每個工具的對沖可能不可行,但可以將幣種分成籃子,並在每個交易日結束時對整體貝塔敞口進行對沖。此外,代幣的資金費率平均往往為負,因此對沖可以為投資組合帶來小幅回報,但代價是增加複雜性以及在加密貨幣價格大幅上漲時可能需要追加資金的風險。

譯者註:為什麼負費率帶來小幅回報?這裡是筆誤還是我沒理解

十一、Aside: you will be constantly dealing withrandom crypto problems trading stat arb 順便說一句,你在進行統計套利交易時會不斷遇到各種隨機的加密問題

進行原子套利交易相當不錯。除了可能在爭奪區塊頂端套利機會的燃氣競拍中虧錢((受限於你EOA 中的燃氣價值)或遭遇類似沙門氏菌攻擊外,基本上沒有虧錢的可能。我們在精神上已經放空後,仍讓原子套利機器人運行了幾個月,雖然收益不多,但我們知道它不會虧錢,偶爾還能撿到不錯的交易。

統計套利不是那樣的。每週加密領域都會發生一些事情。以下是我們運行期間的幾個例子:

1、SVB 崩潰,導致USDC 失去錨定

2、幣安停止以 1: 1 比例將BUSD 兌換為USDC

3、STG 團隊嘗試切換到新合約,但幾週後又撤回了這一決定譯者註:如何避避免規避換合約帶來的問題?需要一直注意各種公告?

4、而安暫停提現譯者註:第一時間取得交易所開關門資訊】

5.GMX 預言機被操縱,報價錯誤價格【譯者註有時聚合器也會有錯誤報價)

如果未能及早發現,這些事件中的任何一個都可能導致你損失大量庫存。從純粹的風險管理角度來看,統計套利交易是一項全職工作,而原子交易則不是。你面對的不是一個(雖然相當複雜)但基本上只能累積利潤的單一系統,而是一組系統,其中任何一個系統的單次失敗都可能在幾秒鐘內抹去數週的利潤。

十二、Aside: stat arb profits are Pareto distributed(asin atomics)順便提一下:統計套利利潤呈 Pareto 分佈(如同原子交易)

在整篇文章中,我一直在談論平均值,但交易利潤的分佈並非如此。雖然每筆交易賺取 2 個基點並且每天穩定交易1000 萬美元聽起來不錯,但交易量會隨著事件而變化。 JOE 可能會連續上漲三天,貢獻 90% 的利潤,然後沉寂三個月,期間交易活動轉向其他標的。深入分析那些 JOE 交易, 90% 的交易可能只在小規模時獲得了 1 個基點的收益,但少數幾筆在 1 萬美元名義金額時捕捉到了100 個基點,帶來了當天的盈虧。

教訓是捕捉尾部機會非常重要。只交易主幹部分的套利機器人是賺不到錢的。要準備好應對奇怪的交易場所、奇怪的幣種以及特殊的機會。譯者註:再次強調

十三、Aside: on the value of being first to a venue 附註:關於搶先進入交易場所的價值

相關地,新平台通常提供最佳的獲利機會。下圖顯示了TraderJoe 上AVAX/USDT 的最佳價格與 Dexalot(一個在其獨立子網啟動的鏈上限價訂單簿)的最佳買價和賣價的對比。你可以看到,有時買價和賣價會交叉持續數分鐘,人們可以像日時 Ether Delta 一樣手動點擊套利。

樂趣還不止於此。 Dexalot 為流動性提供者提供做市獎勵,因此僅透過報價遠寬於Binance 並同時賺取差價和代幣,就有可能每月賺取數萬美元的ALOT。

萬字長文:從0到1做CEX-DEX套利bot的歷程

十四、Aside:onRFQs 附註:關於報價請求(RFQS

幾個平台,例如1inch、Hashiflow 等,提供鏈下報價。其總體結構是,經過許可的合作夥伴在每個區塊頂部為多個資產報價,這些報價可以透過他們的 AP 讀取(通常不在鏈上),但具體情況有所不同經過幾週對多個此類價格源的研究,我得出結論:它們的報價總是比最佳CEX 價格寬1-2 個基點。對於願意為鏈上CEX 報價支付該價格的交易者來說這些是很好的交易場所,但它們的流動性提供者非常專業,似乎沒有太多機會對過時報價進行套利。

十五、Aside: routing 旁注:路由

在去中心化交易所(DEX)中,市場波動時期,代幣的最佳價格很少透過其最直接的交易池獲得。下圖展示了透過Q/USDT Trader Joe 交易池和YieldYak (自動路由器)API 獲得的 O 的合成最佳買價和賣價。你會注意到,在此期間,你經常可以透過類似 Q>AVAX→>USDT 的路徑獲得更優價格。

同樣的情況在中心化交易所(CEX)上也存在,但價格改善往往會更快收斂。下圖顯示了透過直接(d)或路由(r)路徑在Binance 上的最佳買價。你可以看到,在某些時候,賣出 AXAX>{ETH, BTC}>USDT 可以比直接賣出 AVEX→>USD 多賺幾分錢。鑑於統計套利交易中利潤微薄,透過優化路由獲得的幾個百分點差價會帶來很大影響。

十六、Comparative advantage and careers 比較優勢與職涯發展

這段經歷可能是我在加密領域的最後一章。過去六年裡,我斷斷續續地進行加密貨幣交易。最初編寫的交易機器人只是幾百行粗糙的Python 程式碼,用來從主流交易所對主流代幣報價中的巨大價格差異中獲利。尋找這些機會只需要一點直覺和風險偏好。但門檻不斷提高。為了保持競爭力,我們最新的機器人對驗證器軟體進行了大量改進,構建並評估了包含數千個代幣的圖譜,數學計算精確到 18 位元小數,並具備強大的可靠性和錯誤捕捉能力,所有這些都用高度優化的Rust 程式碼編寫。

雖然學習這一切很有趣,但如今為套利機器人做出貢獻所需的核心技能已經遠遠偏離了我的個人核心能力,而我認為我的核心能力位於人工智慧與產品管理的交匯點上。回頭看,從純粹的期望值角度來看,我確實認為這段加密貨幣的副業可能對我主要職業的複合價值產生了負面影響(自從這段加密貨幣歷程開始以來,我一直在Meta 和Google 擔任產品經理,專注於語音和語言領域,現在稱為人工智能),而對我的銀行帳戶幫助不大。

話雖如此,我不會做出任何不同的選擇(嗯…也許我會在2021 年高點時賣掉所有加密資產)。我對自已在加密領域的成就感到相當自豪,但這份分心確實付出了代價。在逐漸結束這裡的活動時,重新專注於我的職業生涯讓我感到很有趣,同時也看到當我忙於爭取基點收益時,一些同行已經走了多遠。

我對自己最重要的啟示和教訓是,有意識地選擇一件事並專注於它,直到驅動決策的事實發生變化。在不久的將來,這件事就是在Meta 建造面向AR 眼鏡的語音和語言介面。敬請期待未來。

十七、Thoughts on the future of crypto 對加密貨幣末來的思考

過去幾年我從產品的角度對加密貨幣進行了大量思考。這主要是出於自私的考慮,因為我認為如果我們能將交易收入轉化為產品收入, 2021 年籌集一輪資金並全職投入將是非常明智的選擇。然而,儘管有強烈的貪婪驅動力,我仍未能弄清楚在加密領域能建構什麼樣的產品。

在我看來,加密貨幣在兩個領域具有強烈的產品與市場契合度:

  • BTC store of value BTC 價值儲存

  • DeFi 去中心化金融(DeFi)

BTC 作為價值儲存手段現在已經相當 Lindy,我相信它不會消失。然而,實際上也沒什麼好做的。 BTC 社群甚至可能會更堅決地說:根本不應該做什麼。是的,ETF 已經推出,現在老年人可以更方便地將其納入退休投資組合,但我看不出產品公司如何在BTC 核心價值主張上進行創新。

DeFi 較新,是一個更明顯的關注點。有大量超級聰明的人在分析每筆交易的細節,建立新產品以使交換更快、更便宜、更安全等等。但除了抽像地欣賞這些優化之外,我不確定這些項目到底解決了什麼問題。 Uniswap 是迄今為止最受歡迎的DeFi 協議經過多年運營,每日活躍用戶僅略超10 萬。如果10 萬是天花板,那麼專注於建造可能只覆蓋其中一小部分的交易基礎設施,是否合理且有影響力?

一個區塊,嘗你可以透過在任何區塊鏈上隨機選擇試找出普通用戶正在解決的具體問題,從而看到這種缺乏產品市場契合度(PMF)的現象[etherscan.io/txs? block= 1905...)

在上述範例中,你會看到數百次套利和兌換,少量轉賬,卻沒有遊戲、NFT、賬本寫入、數據傳輸或任何所謂由去中心化區塊鏈支持的活動。加密貨幣未來可能會催生新一代的消費或企業產品,但目前我看不到明確的路徑,因此在找到之前我會暫緩開發。

原文連結

本文參攷了多個資訊來源:https://x.com/0xKaKa03/thread/1944104168802988150,如若轉載請注明出處。

ODAILY提醒,請廣大讀者樹立正確的貨幣觀念和投資理念,理性看待區塊鏈,切實提高風險意識; 對發現的違法犯罪線索,可積極向有關部門舉報反映。

推薦閱讀
星球精選