【虛擬貨幣搬磚】

李耕銘
Jan 7, 2021

--

搬磚這個詞如果有在虛擬貨幣圈裡頭應該不難聽到,通常會想到的都是交易所間的搬磚。因為各交易所間的價格不一,導致中間有機會進行套利,比方說幣安的比特幣價格如果高於Bitifinex,便可以由Bitifinex購入比特幣後再到幣安轉賣,反之亦然。

這種方式其實跟傳統低買高賣的貿易方式很像,差別就在搬磚通常全部都由電腦即時達成,而且這種搬磚方式通常有低風險的特性,不管如何經過一輪手上的幣都會變多,需要承擔的風險就是當幣值下跌的時候手上的幣可能變得一文不值,另外也有可能因為延遲搶不到其中一邊的的單而導致虧損。

值得一提的是,通常因為交易所間的匯款會收取高昂的手續費,也會耗去不少時間,因此如果要進行交易所間的搬磚套利,會同時在兩交易所中事先儲值好要搬得幣種,以利在匯差產生時便即時下單交易。例如如果要在幣安與 Bitifinex 間進行比特幣與 USDT 的搬磚,則必須要在兩交易所內事先儲值好 USDT 與 BTC,當幣安價格高於 Bitifinex 時,立刻賣出幣安裡的BTC,並同時賣出Bitifinex內的USDT。

但這裡要介紹的是另外一種搬磚方式─交易所之內的搬磚,我們以幣安交易所為例,幣安交易所上面有四種交易對:BNB/BTC/ETH/USDT,如果交易對間產生價差,便可以透過中間價差來賺取微薄的利潤。

但實際上還需要扣去交易所交易的手續費,以剛剛提的幣安交易所為例,它的手續費約0.1%,以BNB付款的手續費約0.075%,再以註冊推薦碼反傭20%計算後大約0.06%。(持有500BNB可以反傭40%)。

交易流程以上圖 Hello Coin的例子來說,首先以 BTC 購入100 Hello,再把手上的 100 Hello 轉成 ETH 賣出,完成一個流程便可以賺到約 4% 的價差,而且最後的 BTC<->ETH 交易對在本金足夠而且節省手續費的情形下可以不做。以一般人能夠取得的幣安手續費約0.06%*2=0.12%,只要價差超過0.12%就可以啟動自動交易了!

以上圖為例,搬磚利潤的計算公式如下

ETH Ask/BTC Bid*ETHBTC=0.0026/0.0001*0.04=1.04

能夠搬的數量就是

min(BTC Bid Amount,ETH Ask Amount)

實際來看OST曾出現的狀況,在這情形下搬一次磚大概有

0.0005341/0.00002175*0.040969=1.006947

0.7%左右的收益!!

接著瞭解基本原理後,便可以把所有的流程都透過程式完成,這裡要注意的是,建議使用 websocket 而非一般的API來接收資料。websocket 跟一般的API不同的是:一般API需要從本地端發出請求後伺服器才會回傳資訊,而websocket 就像是訂閱制的用戶一樣,一旦伺服器資料有改變,伺服器便會自動推播資料到用戶端,在時間上自然沒有那麼即時。

來試跑一下程式,你實際上會發現完全搶不到單阿~也可以發現已經有很多組人馬在競標了。因為搶不到單,索性就用市價單去搶看看有沒有利潤,最後被我頂出這麼大一根。

查看了原始資料,因為屢次搶不到,直接用市價單去搶搶看,看能不能加減喝到一點湯,可以發現在23:55:56發生可以套利的價差時,馬上有多組機器人進場搶單,很不幸的……..紅色框起來的是我,最後一名……

為了找尋原因,索性Ping了一下幣安的伺服器,假設網站跟後台是在同個ip的狀況下,延遲大約落在14~57ms中間,似乎有點太高了,或許是這個原因造成的。

上網查了資料後,可以發現 Binance 的主機在洛杉磯,因此在AWS上選了便宜的而且伺服器同樣在洛杉磯的試用主機,再次Ping了一下幣安的主機,延遲降到2.6ms左右。

即使設下了時間差,推播出的時間點跟接受端的時間壓到 20ms,實際上還是搶不到………任何一筆。

仔細想想搬磚這件事情本質上就是 Winner takes all.,贏家全拿。只要世界上有任何一個團隊在做,而他們擁有相對低的延遲與手續費、甚至是交易所的專有線路,那麼所有有利潤的套利單通通會被他們壟斷掉,一般玩家就跟我一樣只能望著市價單興嘆,畢竟在我們看到限價單的時候,往往另一組團隊早已完成交易了。

--

--