Disclaimer: In compliance with MiCA requirements, unauthorized stablecoins are subject to certain restrictions for EEA users. For more information, please click here.
The Mark Price is a mechanism used in crypto futures trading to ensure fair and accurate pricing of futures contracts.
The Price Index is used to mitigate risks arising from price volatility and market manipulation by providing a more stable reference point. Instead of using the asset's last price, the Price Index takes into account the price of the asset across multiple exchanges. To learn more about the differences between the Mark Price and the Last Price, please refer to What Is the Difference Between a Futures Contract’s Last Price and Mark Price?
On Binance Futures, the Mark Price of a contract is determined by various factors, including the contract’s Last Price, the bid1 and ask1 series from the order book, the funding rate, and a composite average of the asset's spot price on major crypto exchanges.
The Price Index is used to calculate the Mark Price and is based on the weighted average spot price of the asset across multiple crypto exchanges.
The Price Index is the main component of the Mark Price. It represents the weighted average value of the underlying asset across major spot exchanges, reflecting the fair market value of the futures contract. The Price Index is continuously updated to account for any changes in the asset’s spot price or the exchange weightings used in the calculation.
At Binance, the Price Index for USDⓈ-M Futures contracts is based on prices from exchanges, such as KuCoin, OKX, HitBTC, Gate.io, Ascendex, MEXC, Coinbase, Kraken, Bitget, Bitfinex, and Bybit.
You can view the real-time Price Index Info on the Binance website.
The Price Index is calculated as follows:
Price Index = Sum of (Weight Percent of Exchange A * The Symbol’s Spot Price on Exchange A + Weight Percent of Exchange B * The Symbol’s Spot Price on Exchange B +...+ Weight Percent of Exchange N * The Symbol’s Spot Price on Exchange N)
Where:
Please note: In the event of extreme price volatility or significant deviation from the Price Index, Binance will undertake additional protective measures, including but not limited to changing the constituents of the Price Index.
Binance applies additional protections to safeguard against poor market performance during spot exchange outages or connectivity issues:
You can refer to the latest exchange reference on the Price Index for real-time updates.
Note:
You can consider the Price Index as the “Spot Price”. Now, let’s look at how to calculate the Mark Price for all Unrealized PnL calculations. Please note that Realized PnL is based on actual executed market prices.
The Mark Price offers a better estimate of a contract’s ‘true’ value compared to Perpetual Futures prices, as it is less volatile in the short term. Binance uses the Mark Price to prevent unnecessary liquidations and discourage market manipulations by bad actors.
On Binance Futures, the Mark Price is calculated by taking into account several factors. These include the Last Price of the futures contract, the bid1, and ask1 series from the order book, the funding rate, and a composite average of the underlying asset's spot price on major crypto exchanges.
The calculation of the Mark Price is closely linked to the Funding Rate and vice versa. Since Unrealized PnL is the key factor in triggering liquidations, it is crucial that its calculation is accurate to prevent unnecessary liquidations. The underlying asset for the Perpetual Contract represents the contract’s ‘true’ value, and the Price Index – an average of prices from major markets – serves as the primary component of the Mark Price.
The Mark Price is calculated using the following formula:
Mark Price = Median (Price 1, Price 2, Contract Price)
Where:
Note: The funding fee is exchanged between long and short-position holders, with Binance acting as a neutral intermediary in the transaction.
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 averaging the bid and ask prices and then subtracting the Price Index.
The formula is:
Moving Average (2.5-minute Basis) = Sum of [(Bid1_i + Ask1_i)/2 - PI_i] /30
Where:
Please refer to the Price Index for each USDⓈ-M Futures Contract for more details.
Median Calculation for the Mark Price:
Note: The Mark Price may deviate from the spot price during extreme market conditions or deviations in price sources. In such cases, Binance will take additional protective measures, such as calculating Mark Price = Price 2.
During system upgrades or downtime, when all trading activities are paused, the system will continue calculating the Mark Price using the standard formula. However, the Moving Average (2.5-minute basis) in Price 2 will be set to 0 until the system returns to normal.
Before the delivery date:
Moving Average (Bid1 + Ask1) / 2 - Price Index), calculated every minute over a 2.5-minute interval.
On the delivery date:
Mark Price before 25 September 2020, 07:29:59 UTC
= Price Index + Moving Average (2.5-Minute Basis)
= Average of the Price Index, calculated every second between 07:30:00 and 07:59:59 UTC on the delivery day.