如何計算合約佔用的保證金

2022-12-06 06:32

持倉與掛單的佔用保證金

合約佔用保證金包含兩部分,倉位佔用的保證金和掛單佔用的保證金。

其中,由於止盈止損掛單(包含限價止損、市價止損和追踪止損訂單)不佔用保證金,下單和触發時計算下單保證金,所以掛單佔用保證金部分僅指限價掛單。

合約佔用保證金(包含持倉和掛單)將通過以下公式計算:

單向持倉佔用保證金:

合約的佔用保證金= max(絕對值(倉位名義價值+ 買單掛單價值), 絕對值(倉位名義價值- 賣單掛單價值)) / 槓桿

雙向持倉佔用保證金:

合約的佔用保證金= 多方向佔用保證金+ 空方向佔用保證金

= max(絕對值(多方向倉位名義價值+ 多方向買單掛單價值), 絕對值(多方向倉位名義價值- 多方向賣單掛單價值)) / 槓桿+ max(絕對值(空方向倉位名義價值+ 空方向買單掛單價值), 絕對值(空方向倉位名義價值- 空方向賣單掛單價值)) / 槓桿

多方向和空方向指positionSide字段為LONG或者SHORT的倉位和掛單

以上計算中,

倉位名義價值:

U本位合約,倉位名義價值 = 倉位大小(幣單位) * 標記價格

幣本位合約,倉位名義價值 = 倉位大小(張單位) * 合約面值/ 標記價格

掛單價值:

U本位合約,掛單名義價值 = 掛單數量(幣單位) * 限價價格

幣本位合約,掛單名義價值 = 掛單數量(張單位) * 合約面值/ 限價價格

PS.倉位如果為買/做多方向,倉位大小為正數;賣/做空方向,倉位大小為負數。

舉例說明:

  • 您有一個BTCUSDT的多倉,頭寸為10,000 USDT(標記價格為20,000 USDT)
  • 您有一個做多的掛單,數量為0.1 BTCUSDT, 掛單價格為19,000 USDT ,槓桿為2X
  • 同時,您還有一個做空的掛單,數量為0.1 BTCUSDT, 掛單價格為22,000 USDT ,槓桿為2X

讓我們來計算如上倉位的保證金要求:

保證金要求 = max(abs(10,000 USDT + 1,900 USDT), abs(10,000 USDT - 2,200)) / 2
= 5,950 USDT

下單保證金檢查

當新提交訂單被判定為開倉訂單時,系統將會進行保證金檢查,被判定為減倉的委託不會進行保證金檢查。

如果滿足以下條件,新訂單即被判斷為開倉訂單,需進行下單保證金檢查:

1)對於買單:

  • 現有倉位方向為買/做多
  • 現有倉位方向為賣/做空,且新訂單數量> 賣/做空倉位數量絕對值-買單掛單數量

舉例說明:

假設您有數量1 BTCUSDT 的空倉和一個0.8 BTCUSDT 的做多掛單;
您現在還想下0.5 BTCUSDT 的限價多單;
0.5 BTCUSDT > (1 - 0.8) BTCUSDT, 您的新訂單會被認為是開倉訂單。

2)對於賣單:

  • 現有倉位方向為賣/做空
  • 現有倉位方向為買/做多,且新訂單數量> 買/做多倉位數量絕對值-賣單掛單數量

舉例說明:

假設您有一個1.4 BTCUSDT的多倉,和一個0.8 BTCUSDT的做空限價掛單;

您現在還想下一個0.5 BTCUSDT的限價空單;
0.5 BTCUSDT

需要注意的是“只減倉(Reduce Only)”訂單如果滿足以上條件也需要進行下單保障金檢查,所以提交新只減倉訂單也有被系統拒絕的情況。

只減倉Reduce Only(以下縮寫為RO)訂單大致規則如下:

  • 市价全平仓为RO订单:下单后会撤销同方向RO挂单,并平仓。
  • 價格更容易成交的限價RO訂單:
    • (a) 如果新提交的限價RO單通過了保證金檢查
    • (b)並且比當前持有的RO限價單更容易成交
    • (c)下單後掛單總數量超過了倉位大小
    • 更不容易成交的同向掛單會被撤銷直到掛單總數量不大於倉位大小。
  • 止盈止損RO訂單:止盈止損掛單不佔用保證金,但在触發時會按照訂單類型檢查保證金。止盈止損RO訂單在觸發時如果發現保證金不足,會撤銷同向限價RO掛單。

下單保證金檢查公式

開倉訂單需滿足以下條件才可下單成功:

1)開倉成本 ≤ 可用餘額

其中開倉成本包含初始保證金,和開倉虧損,具體計算請參考這篇文章

2)下單後合約整體名義價值 ≤ 當前杠桿允許的最大名義價值,即為當前杠桿需被支持,且在最大名義價值的範圍內

各合約支持的槓桿倍數,和名義價值詳細請查看這篇文章

立即注册,最高可获 100 USDT 的交易手续费返还(仅限认证用户)