幣安合約為API用戶推出了時間加權平均價格算法API(TWAP)接口。用戶可以使用該接口交易U本位合約。
TWAP算法交易是幣安合約算法交易戰略的一部分,旨在為用戶提供一整套算法交易解決方案,通過智能算法,拆分大單,最小化對市場的影響。
什麼是TWAP算法?
時間加權平均價格算法 (以下簡稱TWAP)是一種算法交易執行策略,目標是達到一個平均執行價格,這個價格接近用戶指定期間的時間加權平均價格。TWAP 策略通常用來將大額訂單對市場的影響最小化,將大額訂單分散成較小的數量,並且以固定的時間間隔執行。
什麼時候使用TWAP算法?
TWAP算法通過在指定時間內把訂單拆分,來優化訂單的平均成交價格。交易者通過部署TWAP策略來下大單,從而減小對市場的影響。
在以下場景中,TWAP能夠提供更好的執行價格:
- 訂單大小比訂單簿現有的流動性大。
- 預期會有較大的價格波動,但無法確定是上漲還是下跌。
TWAP 算法執行圖例
如何設置TWAP算法?
- 確定交易數量:選擇買入或者賣出的合約總數量。一个TWAP订单的最小数量为1,000USDT. 当一个TWAP策略完成所有订单后,策略将会终止。
- 選擇時長:TWAP策略的運作總時間。最小時長5分鐘,最大時長24小時。
TWAP 算法 API 詳情
新TWAP 訂單接口:
自定義執行參數
參數 | 描述 |
時長 | Duration for TWAP orders in seconds. [300, 86400] less than 5min => defaults to 5 min greater than 24h => defaults to 24h |
數量 | Trading quantity (must be more than the equivalent of 1,000 USDT and less than the equivalent of 1,000,000 USDT) |
限價 | Order’s limit price if unspecified, the order will be placed at market price by default |
其他補充接口
接口 | 描述 | 文檔 |
DELETE sapi/v1/algo/futures/order | 取消活躍訂單 | https://binance-docs.github.io/apidocs/spot/en/#cancel-algo-order-trade |
GET sapi/v1/algo/futures/openOrders | 獲取running orders | https://binance-docs.github.io/apidocs/spot/en/#query-current-algo-open-orders-user_data |
GET sapi/v1/algo/futures/historicalOrders | 獲取歷史訂單 | https://binance-docs.github.io/apidocs/spot/en/#query-historical-algo-orders-user_data |
GET sapi/v1/algo/futures/subOrders | 使用算法訂單ID來查詢指定的子訂單 | https://binance-docs.github.io/apidocs/spot/en/#query-sub-orders-user_data |
其他常見問題
1.使用TWAP算法的時候有何訂單限制?
- 未結訂單限制- TWAP支持每個帳戶同時有10個未結訂單,對與同一個交易對,可以下多筆TWAP訂單。
- 倉位限制 - 倉位大小 (訂單數量 * `標記價格 (base asset)`) 必須大於 1,000 USDT,同時小於1,000,000 USDT。
- 時長 - 在5分鐘到24小時之間。
- 清算 - 對於季度合於,TWAP訂單必須在交割時間的前1小時之前結束。
- 交易對 - TWAP只支持U本位合約,支持多資產模式。
交易詳情會在訂單成交後展示,只有成交的訂單會展示數量、平均成交價格和交易手續費。
2. TWAP訂單會有何報錯?
用戶可能收到如下報錯信息:
錯誤代碼 | 報錯信息 |
0 | OK |
-1000 | An unknown error occurred while processing the request. |
-1102 | A mandatory parameter was not sent, empty/null, or malformed. |
-20121 | Invalid symbol. |
-20130 | Invalid data sent for a parameter. |
-2013 | Order does not exist. |
-5007 | Quantity must be greater than zero. |
-20124 | Invalid algo id or it has been completed. |
-20132 | The client algo id is duplicated. |
-20194 | Duration is too short to execute all required quantity. |
-20195 | The total size is too small. |
-20196 | The total size is too large. |
-20198 | Reach the max open orders allowed. |
3. TWAP訂單一定會被執行嗎?
TWAP 訂單不保證執行。訂單將盡可能成交,但執行狀況取決於市場流動性和波動性。
如果在執行過程中,市場價格移動過大,或者是流動性不足,算法訂單不一定能完全執行。
所以,執行將始終依據市場流動性。
幣安部署了多樣的風險緩和策略,包括手動和自動的熔斷機制。這些功能會在市場崩潰或者是系統出錯時被激活,並會取消所有的未被執行的TWAP訂單。
4. 如何查看TWAP訂單狀態?
查看TWAP訂單狀態,可以查詢:(GET sapi/v1/algo/futures/openOrders or GET sapi/v1/algo/futures/historicalOrders).
請注意:websocket不支持成交信息推送。此外,收到"success": true不代表訂單會一定被執行。
舉例:用戶的合約餘額不足,或者帳戶是只減倉狀態,用戶也會收到"success": true,但是訂單並不能被執行。