Binance Alpha 2.0 限價單的 STP 機制

發布於 2025-12-03 06:07

什麼是自我交易防止機制 (STP)?

自我交易防止機制 (STP) 是交易平台所採用的一項機制,旨在防止使用者不經意地與自身交易。在拍賣撮合中,理論上沒有直接對手方,所有已撮合的買單共同作為已撮合賣單的對手方。

為防止自我交易,如果使用者同時提交買入和賣出價格優於或等於成交價格的訂單,只允許其中一方的訂單進入撮合階段。為達此目的,系統會引入預先淨額 (pre-netting) 階段,用於計算該使用者的淨交易量。此淨交易量會進入後續撮合階段,而未撮合的數量 (即淨出額數量,或自我交易量) 則會保留至下一個拍賣窗口 (RETAIN)。

*請注意,自我交易防止機制 (STP) 僅適用於帳戶完全相同的情況。即使子帳戶屬於同一個母帳戶,不同子帳戶之間將不會觸發 STP。

預先淨額數量採用以下公式計算:

netted_quantity_for_user_at_certain_price_level = abs(quantity_eligible_bids - quantity_eligible_asks)

其中,quantity_eligible_bids 及 quantity_eligible_asks 分別指符合該價格的買單與賣單。淨額訂單方向由買單或賣單數量較大的一方決定。

針對淨出額數量 (即自我交易量),可能出現以下情境:

1. RETAIN

訂單的淨數量會先行撮合,淨出額數量則不會撮合。淨出額訂單會保留在訂單簿,並延續至下一個拍賣窗口,直到使用者取消或有訂單與對手方成交。

API 變更

所有提交的訂單 (無論是限價單或其他訂單) 預設均會採用 STP 模式 RETAIN,即使用者端不需變更下單方式,所有訂單均適用 STP。

範例:

設定 — 成交價格 P* = 50
使用者 A 同時在買單與賣單都掛了價格優於或等於成交價格 P* 的訂單

買單與賣單。

 

買方數量

總買方數量

 

賣方數量

總賣方數量

買價 52

200

300

賣價 49

80

180

買價 50

100

賣價 50

100

使用者 A 本拍賣輪的淨數量 = |300 qty - 180 qty| = 120 qty
淨額方向 = 買方 (因為 300 qty > 180 qty) = 120 買方數量

使用者 A 下輪拍賣的淨出額 = 180 賣方數量及 180 買方數量

同時,使用者 B 此拍賣輪於 P* 掛賣單:

 

賣方數量

總賣方數量

賣價 49

50

150

賣價 50

100

使用者 B 本拍賣輪的淨數量 = 150 賣方數量

使用者 B 的淨出額 = 0

撮合與保留階段

撮合結果:使用者 A 的 120 買方淨數量,P* = 50,會與使用者 B 的 120 賣方淨數量,P* = 50 進行撮合

保留結果:於 RETAIN 模式下,這部分重疊不會取消,會保留並延續至下一個拍賣窗口:

使用者 A 會 保留 180 買方數量及 180 賣方數量,P* = 50

使用者 B 會 保留 30 賣方數量,P* = 50,依標準拍賣保留規則

使用者 A 結果

120 買方淨數量與使用者 B 的 120 賣方數量成交,其他淨出額數量將延至下輪拍賣


 

買方

訂單 1

訂單 2

200 買方數量 @ 價格 52

(狀態:部分成交 - 120 qty)

100 買方數量 @ 價格 50

 (狀態:新掛單)


 

賣方

80 賣方數量 @ 價格 49

(狀態:新掛單)

100 賣方數量 @ 價格 50

(狀態:新掛單)

使用者 B 結果

120 賣方數量已與使用者 A 的 120 買方淨數量成交,剩餘 30 賣方數量保留至下輪拍賣


 

賣方

50 qty @ 價格 49

(狀態:已成交 - 50 qty)

100 qty @ 價格 50

(狀態:部分成交 - 70 qty)