Binance Futures uses Mark Price as a reference for liquidations and calculating unrealized PNL. Mark Price represents an estimated fair value of a contract and is distinct from ‘Last Price. It helps to prevent unfair and unnecessary liquidations that may happen during high market volatility and prevents price manipulation.
Mark prices differ between perpetual and quarterly contracts, with each using specific formulas and methodologies. We recommend reviewing both Mark Price in Perpetual Futures and Mark Price in Quarterly Futures support pages for a fuller understanding of the methodologies involved.
1. Components of Mark Price
The Mark Price consists of two components:
- Price Index: An aggregate price extracted from major Spot exchanges, weighted by relative volume to reduce the risk of price manipulation. For COIN-Margined contracts, prices are sourced from exchanges like Bitstamp, Coinbase Pro, Kraken, Binance, Huobi, Kucoin, and OKX.
- Moving Average (MA) basis: A moving average basis is used as the second component of a Mark Price calculation. It helps to smooth out price data over a specified period of time by creating a constantly updated average price. This methodology reduces the possibility of unfair and unnecessary liquidations when the market is highly volatile.
More information can be found on the Price Index references of each COIN-Margined contract.
2. Mark Price of COIN-Margined Perpetual Contracts
Mark Price = Median * (Price 1, Price 2, Contract Price)
Price 1 = Price Index * (1 + Last Funding Rate*(Time Until Funding / 8))
Price 2 = Price Index + Moving Average (2.5-Minute Basis)
The Moving Average (2.5-Minute Basis) is calculated as the average of 30 data points over a 2.5-minute period. The data point is calculated every 5 seconds by taking the average of the bid and ask prices and then subtracting the Price Index.
Moving Average (2.5-Minute Basis) = sum of [(Bid1_i + Ask1_i)/2 - PI_i] /30
Median: If Price 1 < Price 2 < Contract Price, then take Price 2 as Mark Price.
Please note that during extreme market conditions or deviations in price sources, which may lead to the Mark Price deviating from the Spot price, Binance will take additional protective measures (e.g., setting Mark Price to Price 2).
During system upgrades or downtime, the Mark Price formula remains the same, but the Moving Average (2.5-minute basis) in Price 2 is temporarily set to zero until normal operations resume. Note: Mark Price is a better estimate of the ‘true’ value of the contract, compared to Perpetual Futures prices which can be more volatile in the short term. We use this price to prevent unnecessary liquidations for traders and to discourage any market manipulations by bad actors.
3. Mark Price of COIN-Margined Quarterly Delivery Contracts
Traditionally, the price of quarterly Futures contracts will converge with its corresponding Spot prices as they approach expiration after the 3-month period. As the contract nears expiry, the Mark Price will closely reflect Spot prices and the moving average basis component will no longer be part of the Mark Price calculation. Consequently, the Mark Price of a quarterly Futures contract will be calculated differently as it reaches the time of expiration.
Before delivery date:
Mark Price = Price Index + Moving Average (2.5-Minute Basis)
Moving Average (2.5-Minute Basis) = Moving Average ((Bid1 + Ask1) / 2 - Price Index), calculated each minute in a 2.5-minute interval.
On the delivery date:
i) The time to delivery is greater than 30 minutes
For example, using BTCUSD 0925:
Mark Price before 25 September 2020, 07:29:59 UTC:
Mark Price = Price Index + Moving Average (2.5-Minute Basis)
Moving Average (2.5-Minute Basis) = Moving Average ((Bid1 + Ask1) / 2 - Price Index), calculated each minute in a 2.5-minute interval.
ii) Time to delivery is equal or less than 30 minutes
Mark Price on 25 September 2020, 07:30:00 - 07:59:59 UTC
Mark Price = Average of Price Index (every second from 07:30:00 and 07:59:59 UTC on the delivery day)
For more information regarding COIN-M Futures Contracts, please visit the articles: