Futures 與爆倉風險
Mark Price 和 Last Price 差在哪?為什麼價格沒碰到爆倉價也會被強平
觸發強平的通常不是 K 線上的 Last Price,而是 Mark Price。本文拆解 Binance 公開的 Mark Price 中位數算法、Price Index 的來源與偏離保護,並用一組可覆算的數字說明插針時兩個價格為何會分開。
很多人第一次被強平時的反應是:「圖表上的價格明明沒有碰到我的爆倉價。」看 K 線沒錯,但觸發強平的通常不是 K 線上那個 Last Price,而是另一個數字——Mark Price。這篇說明這兩個價格分別代表甚麼、Mark Price 怎麼產生,以及倉位面板上哪些欄位其實是按 Mark Price 在跳。
Last Price 是成交價,Mark Price 是估值價
Last Price 就是這個合約市場最近一筆實際成交的價格,它只反映這一個訂單簿裡發生的事。如果某一刻流動性變薄,一筆大單可以把 Last Price 瞬間打穿一段距離再彈回來,也就是常說的「插針」。
Mark Price 則是交易所對合約「合理價值」的估算。按 Binance 官方說明,採用 Mark Price 的目的是「避免不必要的強平,並減少市場操縱」,因為它在短時間內的波動比 Last Price 小。

Mark Price 怎麼算出來
以 Binance USDⓈ-M 永續合約為例,官方文件給出的算法是取三個數的中位數:
Mark Price = Median(Price 1, Price 2, Contract Price)
其中:
Price 1 = Price Index × (1 + 最近一次 Funding Rate × (距下次結算時間 ÷ Funding 週期))Price 2 = Price Index + 移動平均 BasisContract Price即該合約本身的 Last Price
移動平均 Basis 的官方定義是 Sum[(Bid1ᵢ + Ask1ᵢ) ÷ 2 − PIᵢ] ÷ 30,取 30 秒內每秒一個、共 30 個取樣點,衡量合約盤口中價相對現貨指數的溢價或折價。
取中位數這一步是關鍵:當合約自己的 Last Price 被單邊打到極端位置時,它會變成三個數裡的最大或最小值,中位數就自動落在另外兩個以現貨指數為基礎的數上。這就是插針時 Mark Price 跟不上 Last Price 的原因。
Price Index:Mark Price 的地基
Price Index 是多家現貨交易所同一資產價格的加權平均,而不是單一市場的報價。Binance 目前列出的來源包括 Binance、KuCoin、OKX、HitBTC、Gate.io、MEXC、Coinbase、Kraken、Bitget、Bitfinex、Bybit,以及 PancakeSwap(BNB Chain)、Uniswap(Ethereum)與 Aster;Raydium(Solana)等鏈上場所則只納入 2025-02-10 之後上架的指數,並視資料可得性而定。Binance Futures 自身的 Last Price 也可能被納入指數成分。官方同時聲明可隨時調整成分,不另行通知。
指數本身也有防護。若某一家來源的最新價偏離所有來源中位數超過 3%,該來源的取值會立刻被限制在中位數的 1.03 倍或 0.97 倍;價格回到 3% 範圍內後才恢復原值。部分主要合約另有更嚴的單獨上限。

還有兩層獨立的保護要分清楚。一是連線異常處理:若 Binance 取不到某家交易所的資料,或該交易所最近五分鐘沒有更新交易資料,這家的權重會被設為零,直接退出加權計算。二是 Last Price Protected 機制:當價格相對 Price Index 出現突發或顯著偏離時,指數會在一定限度內改以該合約最後一筆成交價為基準暫時更新,供 Mark Price 計算未實現盈虧與強平水平之用,等行情回穩後恢復正常。
哪些數字跟著 Mark Price 走
分清楚這一點,倉位面板就不再矛盾:
- 未實現盈虧(Unrealized PnL):按 Mark Price 計算。所以持倉浮虧會在成交清淡時仍然變動。
- 強平觸發:以 Mark Price 與維持保證金比較,不是以 Last Price。
- 已實現盈虧:按實際成交價計算。官方明確說明 Realized PnL 基於真實成交價,所以平倉後的最終數字會和浮盈浮虧有落差。
- 限價單與止損單的觸發:取決於你選的觸發價類型。下單面板通常可以在 Mark Price 與 Last Price 之間切換,這個選項決定了止損會不會被插針掃掉。
一個可以自己覆算的情境
假設 BTCUSDT 永續某一刻 Price Index 為 60,000 USDT,盤口中價相對指數的 30 秒移動平均 Basis 為 +20 USDT,最近一次 Funding Rate 為 0.01%、距下次結算還有 4 小時(8 小時週期的一半)。
Price 1 = 60,000 × (1 + 0.0001 × 0.5) = 60,003Price 2 = 60,000 + 20 = 60,020- 若此時一筆大單把
Contract Price打到 59,400
三者中位數是 60,003,Mark Price 取 60,003。帳面上 Last Price 已經到 59,400,但用於判斷強平的仍是 60,003。反過來,如果 Contract Price 落在 60,003 與 60,020 之間,中位數就會是 Contract Price 本身,此時兩個價格幾乎重合。
這也說明為甚麼不能用「離現價還有多少百分比」來估安全距離。真正該對照的是 Mark Price 與你倉位的維持保證金邊界,計算方式可參考爆倉價怎麼算?先看懂 Margin 與維持保證金;而 Price 1 裡的 Funding Rate 項,也把Funding Fee 怎麼算?先判斷誰付款裡的結算機制直接牽進了估值。
被強平後該查甚麼
- 打開交易所的強平記錄,看它記錄的觸發價是 Mark Price 還是 Last Price。
- 回查同一時間的 Price Index 歷史,確認是整個現貨市場在動,還是只有這一個合約的訂單簿在動。
- 檢查倉位當時的有效保證金與所處 risk tier 的維持保證金率——倉位加大後 tier 可能已經改變。
- 確認止損單的觸發價類型;如果設的是 Last Price,插針確實可能先掃到它。
- 若用的是全倉,還要看帳戶內其他倉位的浮虧有沒有吃掉 equity,兩種模式的差別見全倉還是逐倉?同一筆倉位在兩種保證金模式下的差別。
常見誤解
「Mark Price 是交易所隨便定的。」 它的每個組成部分都有公開定義,任何人都能用現貨指數、盤口與資金費率自行覆算,差異通常來自取樣時點而非規則本身。
「用 Mark Price 就不會被插針影響。」 中位數規則減弱了單一合約訂單簿的影響,但若現貨市場整體下跌,Price Index 跟著走,Mark Price 一樣會到達你的強平邊界。
「兩個價格應該永遠一致。」 正常行情下它們非常接近,差距本身就是市場資訊:持續的正 Basis 代表合約相對現貨溢價,通常伴隨正的資金費率。
「看 Mark Price 就能預測方向。」 它是估值工具,不是信號。它能回答「我現在離強平多遠」,回答不了「接下來會漲還是跌」。
本文所有數字均為教學用假設,公式依據 Binance 公開規則頁;實際數值與規則請以交易所當下畫面與官方公告為準。各交易所的 Mark Price 定義不完全相同,使用其他平台時需另行核對。
