簡介
做市商保護(Market Maker Protection, MMP) 是一種為流動性提供者設計的保護機制,該機制能夠防止做市商的訂單在短時間大量成交。一旦某個賬戶在短時間內的總交易額超過了配置的限額,該賬戶的做市商保護將被觸發。當做市商保護被觸發時,賬戶現有的做市商保護訂單(被標記為做市商保護的訂單)將被交易引擎自動取消,而該賬戶新的做市商保護訂單將在未來一段時間(稱為凍結期)被拒絕。用戶可以利用這段時間重新評估行情並修改報價。
開啟做市商保護
用戶需要聯繫BIT的客戶經理來開啟或關閉賬戶的做市商保護功能。做市商保護的四個參數如下表所示:
注意:期權合約與現貨的做市商保護參數是獨立開啟和配置的,彼此互不影響
時間窗口 | window_ms | 計算交易量和淨交易Delta的時間窗口的大小與限制。 |
凍結期 | frozen_period_ms | 一旦觸發了MMP的凍結期長度。 0表示賬戶將保持凍結狀態,直到手動重置。 |
數量限制 | qty_limit | 時間窗口內交易總量的限制。 |
Delta限制 | delta_limit | 時間窗口中的交易的淨交易delta的限制。 |
做市商保護默認配置參數如下:
現貨交易
幣對 | 時間窗口
window_ms | 凍結期
frozen_period_ms | 數量限制
qty_limit | delta限制
delta_limit |
BTC/USDT | 5000 | 100 | 100 | 100 |
BTC/USD | 5000 | 100 | 100 | 100 |
ETH/USDT | 5000 | 100 | 3000 | 3000 |
BCH/USDT | 5000 | 100 | 5000 | 5000 |
幣本位衍生品
幣種
(幣本位期權/合約) | 時間窗口
window_ms | 凍結期
frozen_period_ms | 數量限制
qty_limit | delta限制
delta_limit |
BTC | 5000 | 100 | 100 | 100 |
ETH | 5000 | 100 | 3000 | 3000 |
BCH | 5000 | 100 | 5000 | 5000 |
USDT本位衍生品
幣種
(USDT本位期權/合約) | 時間窗口
window_ms | 凍結期
frozen_period_ms | 數量限制
qty_limit | delta限制
delta_limit |
BTC | 5000 | 100 | 100 | 100 |
注意:幣本位衍生品的做市商保護參數按照幣種獨立,USDT本位衍生品的做市商保護參數按照幣種獨立,現貨交易的做市商保護參數按照交易對獨立,參數分別可以按照幣種/交易對個性化配置。
說明:
做市商保護訂單
做市商保護機制只影響做市商保護訂單,即把字段`mmp`設置為`true`的訂單。只有做市商保護訂單的交易才會被計算在內,當做市商保護機制被觸發時,只有做市商保護訂單會被取消或拒絕。
做市商保護監控
對於每個開啟了做市商保護功能的賬戶,交易引擎將實時監控過去時間窗口`windows_ms`中的交易總量和淨交易delta。
圖 1 - 做市商保護監控的示例
見圖1的例子:一個配置為`window_ms = 300`的賬戶。其做市商保護訂單有4筆交易,分別在時間140、200、340和500。當前時間是560,落入時間窗口(260,560)的交易將被計算在內,即T3和T4。如果T3和T4的總數量或淨交易delta超過了配置的限制,做市商保護將被觸發。
做市商保護的限制
做市商保護對兩種類型的交易指標進行限制:總數量和淨交易delta。
交易中單個訂單的數量和淨交易delta的定義:
產品類型 | 數量 | 淨交易 delta |
幣本位期權 | |qty| | qty * (delta - mark price) |
幣本位合約 | |qty| / mark price | qty / mark price |
USDT本位期權 | |qty| | qty * delta |
USDT本位合約 | |qty| | qty * 1 |
現貨 | |qty| | qty*1 |
`qty`是訂單的定向交易量--買入為正,賣出為負。
對於一組交易,總數量和淨交易Delta就是各筆交易的數值總和。總數量對照`qty_limit`,淨交易delta總和的絕對值對照`delta_limit`。如果其中任何一項到達或超過限制數額,該賬戶的做市商保護將被觸發。
做市商保護機制觸發
做市商保護觸發時賬戶現有的做市商保護訂單將全部被取消,該賬戶在`frozen_period_ms'長度的期間內不能下新的做市商保護訂單。如果`frozen_period_ms`被配置為0,賬戶將被無限期凍結,直到用戶重置。如果一個被凍結的賬戶試圖下一個新的做市商保護訂單,該訂單將被拒絕或在匹配前立即被取消。一旦做市商保護被觸發,該賬戶以前的交易將不會被之後的做市商保護監控計算在內。
做市商保護不會中斷一個正在進行的匹配過程。換句話說,做市商保護的觸發總是發生在上一個訂單的匹配完成之後、下一個訂單的匹配開始之前。例如,一個做市商賬戶的 "qty_limit "為30,有5筆掛單,每個訂單賣出20份合約。一位買家需要買入100份合約。
如果這位買家用一個訂單買入100份合約,所有5個做市商訂單將在做市商保護觸發前被執行。
如果這位買家下2筆訂單,每筆訂單分別買入50份合約,做市商保護將在第一個訂單成交後立即觸發。剩下的3個做市商訂單(其中一筆訂單已部分成交10份合約)將在做市商保護觸發時被取消。
做市商保護API
下做市商保護訂單的API與下普通訂單的API相同。用戶只需在請求中把`mmp`字段設置為`true`即可。
MMP API:
查詢MMP狀態
USDT本位衍生品接口:[https://www.bit.com/docs/zh-cn/linear_futures.html#mmp]
獲取賬戶當前的做市商保護狀態,包括MMP配置、凍結狀態、凍結結束時間等。
更新MMP配置
更新賬戶的做市商保護配置。開啟做市商保護功能後,您就可以通過API修改做市商保護參數。
重置MMP狀態
如果賬戶被凍結,MMP重置將清除凍結狀態,這樣賬戶就可以立即開始下做市商保護訂單。
如果賬戶沒有被凍結,MMP重置將從未來的MMP監控中清除以前的交易,即不再將其計入總數量和淨交易delta。
Websocket channel mmp_frozen
用於訂閱做市商保護觸發的事件。
舉例說明
例1
一個賬戶將時間窗口windows_ms 設置為 1000,delta_limit 設置為 10.
[時間10000]一個做市商保護期權訂單 BTC-31JAN20-8000-C成交,淨交易delta+8。
(總數量 = 8)
[時間 10500] 一個做市商保護期權訂單BTC-31JAN20-8000-P成交,淨交易delta -5。
(總數量 = +8 - 5 = 3)
[時間 10900] 一個做市商保護BTCUSD永續合約訂單成交,淨交易額為+6。
(總數量 = +8 - 5 + 6 = 9)
[時間 11200] 一個做市商保護期權訂單BTC-31JAN20-8000-C成交,淨交易額為+7。
(總數量 = -5 + 6 + 7 = 8)
在以上過程中,做市商保護沒有被觸發,因為該賬戶的淨交易Delta在任何1000毫秒的時間窗口中都沒有累計超過10。
例2
賬戶A的數量限制qty_limit = 10, 賬戶B的delta_limit = 10, 賬戶C的delta_limit = 20. 假設BTCUSD幣本位永續合約的當前標價為10,000USD/BTC。
賬戶A下了一個BTCUSD幣本位永續合約做市商保護訂單,數量=+150,000 USD。
帳戶B下了一個BTCUSD幣本位永續合約普通訂單(非MMP訂單),數量=+150,000 USD。
賬戶C下了一個BTCUSD幣本位永續合約做市商保護訂單,數量= - 500,000美元,並與上述兩個訂單撮合成交。
做市商保護監控的結果:
帳戶A觸發了做市商保護,他的總數量為|150000| / 10000 = 15,超過了qty_limit的10。
帳戶B沒有觸發做市商保護,因為帳戶B的做市商保護訂單沒有交易。
帳戶C的做市商保護被觸發,他的淨交易delta為-300000 / 10000 = -30。 |-30| 超過了設置的delta_limit 20。
例3
一個賬戶將現貨幣對BTC/USDT的時間窗口windows_ms 設置為1000,qty設置為200,delta_limit 設置為 100.
現貨幣對BTC/USD的時間窗口windows_ms 設置為1000,qty設置為200,delta_limit 設置為 100.
[時間10000] BTC/USDT 幣對買入80個 BTC 做市商保護訂單成交
BTC/USDT幣對qty = |80|,淨交易 delta+80,做市商保護未觸發
BTC/USD幣對qty = |80|, 淨交易 delta+80,做市商保護未觸發
[時間10200] BTC/USD 幣對買入90個BTC做市商保護訂單成交
BTC/USDT 幣對 qty = |80|, 淨交易 delta+80, 做市商保護未觸發
BTC/USD 幣對 qty = |80|+|90|=170,淨交易 delta = |+80+90| =170>100,做市商保護觸發
[時間10400] BTC/USDT 幣對賣出入150個 BTC 做市商保護訂單成交
BTC/USDT幣對 qty =|80|+|-150| = 230>200, 淨交易delta = |+80-150| =70, 做市商保護觸發