天天看點

數字貨币現貨做市交易數字貨币現貨做市交易

數字貨币現貨做市交易

如果進行數字貨币現貨做市交易?我們以币安的币币交易為例

任務分解

  • 了解币安上的ETH/USDT交易規則和特點
  • 選擇可能做市政策
  • 開發自動做市程式

币安ETH/USDT貨币對

  • ETH/USDT是以用USDT來計價,進行ETH交易。由于USDT與USD是1比1,是以ETH/USDT的交易價格可以認為就是ETH的美元價格
  • 币安的貨币對交易沒有杠杆,也不能做空
  • 币安的VIP1級别使用者的交易手續費為買賣方各0.1%
  • ETH/USDT買一賣一差大約在萬分之五,買五賣五差大約在千分之二,買十賣十差大約在千分之三,買十五買十五差大約在千分之五;盤口15檔買賣委托量大約在10萬美元左右,單邊每檔平均大約3000美元,買一賣一量在1000美元以下

做市政策

這裡不考慮跨期、跨品種或跨市場套利政策,隻讨論最基本的做市政策,就是在市場上同時報出買賣委托,如果買賣委托都成交的情況下,利用買賣的差價來盈利,是以如何确定合理的買賣價格是做市的關鍵。确定一對買賣價格主要由兩個資料,一是目前市場合理價格,二是買賣價格寬度,是以問題轉化為如何确定市場合理價格和買賣價格寬度。

市場合理價格(Fair Value)

通常有兩種模式:

+ BBO:

FV = ([best bid price] + [best ask price])/2.0

+ wBBO:

FV = ([best bid price]*[best ask size] + [best ask price]*[best bid size])/([best ask size] + [best bid size])

買賣價格寬度

考慮到必要的交易費用,買賣價格寬度需要有一個最小值,這個最小值應該能夠覆寫交易成本,小于最小值的買賣報價是不應該出現的。例如,币安上ETH/USDT的交易手續費是買賣方各0.1%,那麼做市買賣價格寬度最好不應小于0.2%

在确定了寬度最小值width後,可以有一些基本方法來确定買賣價格寬度:

+ 不考慮BBO寬度,永遠報買價為

FV - width / 2

,賣價為

FV + width / 2

+ 當BBO寬于width時,按BBO報價;當BBO窄于width時,買價為

FV - width / 2

,賣價為

FV + width / 2

,進而確定寬度不小于width

+ 當BBO寬于width時,按優于BBO一個價格變動機關的價格報價,優于BBO的買賣價格寬度也不能小于width;當BBO窄于width時,買價為

FV - width / 2

,賣價為

FV + width / 2

,進而確定寬度不小于width

+ 買價為最近一個賣出成交價-width,賣價為最近一個買入成交價+width

其它因素

  • 現貨不能做空,是以為了能同時在買賣雙方交易,需要有一個基本倉位。在做市的過程中,保持倉位在這個基本倉位上下一定範圍内浮動,可以設定最大浮動範圍,如果在某一方向超過了浮動範圍,可以停止該方向的交易,以保持倉位穩定
  • 市場可能會出現明顯的方向性,可以适當加入趨勢名額判斷市場走向,并相應調整報價方法

做市程式

需求

開發一個滿足以上描述的做市算法要求的自動化做市程式,有以下一些功能基本需求:

  • 能通過API連接配接币安交易所,能實作擷取行情資料、下單交易與撤單、成交與持倉查詢
  • 一個簡單的計算引擎,根據上述做市算法,通過行情資料計算出合理的買賣報價
  • 一個簡單的操作界面,可以修改報價方式和關鍵參數
  • 操作界面上顯示市場情況和做市成果:包括盤口、市場成交、做市委托、做市成交、實時盈虧等
  • 充分子產品化,以能友善地擴充到其它交易所和貨币對

設計

該程式總體上分為四個子產品:ExchangeWrapper,Engine,DataCache和UserConsole。

數字貨币現貨做市交易數字貨币現貨做市交易
  • Exchange Adapter: 封裝與Exchange的通信,每個Exchange對應一個Exchange Adapter。每個ExchangeAdapter處理四類資料,每類資料對應一個子產品:Product,Market,Order,Position。Exchange Adapter觸發Engine給出做市報價。
  • Data Cache:系統進行的做市交易的資料快照,包括盤口、成交、做市委托、做市成交、實時持倉、實時盈虧等資料,為User Console展示提供資料。
  • Engine:報價引擎,隻負責根據設定的參數和獲得的價格與持倉資訊來計算做市報價
  • User Console:使用者操作界面,可以設定做市報價參數,和檢視做市交易情況

繼續閱讀