Ta članek ne podpira vašega jezika.

What Are Mark Price and Price Index in USDⓈ-Margined Futures?

Objavljeno 2019-09-09 02:29
Posodobljeno 2026-01-09 05:00

Disclaimer: In compliance with MiCA requirements, unauthorized stablecoins are subject to certain restrictions for EEA users. For more information, please click here

Disclaimer: This FAQ Page is for general information and educational purposes only. It does not constitute legal terms or any form of legal agreement between you and Binance. It should not be construed as financial, legal or other professional advice. The information on this page may be outdated. For legal terms applicable to Futures and Options Trading Services, please refer to the Terms of Use, the Exchange Rules (including the Exchange Procedures) and the Clearing Rules (including the Clearing Procedures) which come into effect on 5 January 2026. Additional terms and conditions will also be set out in the Contract Specifications applicable to the relevant Derivatives contract.

 

1. Introduction to Mark Price and Price Index

The Mark Price is used in crypto futures trading to provide a fair and accurate price for futures contracts. It helps prevent unfair liquidations by reflecting a price that factors in recent trades, order book data, funding rates and a composite average of the underlying asset’s spot price across major exchanges.

The Price Index offers a stable reference price by calculating a weighted average of the asset’s spot price from multiple major crypto exchanges. It helps reduce price volatility and market manipulation risks. 

The Mark Price is calculated using the Price Index along with other market data like bid/ask prices and funding rates. This combination provides a reliable price for futures contract valuation.

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?

Disclaimer:

In compliance with MCA requirements, unauthorized stablecoins are subject to certain restrictions for EEA users. For more information, please click here

image

2. Price Index of USDⓈ-M Futures contracts

What is the USDⓈ-M Futures Price Index? 

The Price Index is a core component of the Mark Price and represents the weighted average price of the underlying asset across multiple major spot exchanges. It reflects the fair market value of the futures contract by aggregating prices to mitigate volatility and manipulation risks.

At Binance, the Price Index for USDⓈ-M Futures contracts includes prices from a broad range of exchanges, such as Binance, KuCoin, OKX, HitBTC, Gate.io, Ascendex, MEXC, Coinbase, Kraken, Bitget, Bitfinex, Bybit, PancakeSwap (BNB Chain), Uniswap (Ethereum), Raydium (Solana) and Aster. The Binance Futures Last Price is also included as a constituent, with selections based on market reliability and data quality.

Starting February 10, 2025, PancakeSwap (BNB Chain), Uniswap (Ethereum) and Raydium (Solana) will be included in Price Index calculations for selected contracts, subject to their availability and price feed stability.

Binance regularly reviews and may update the list of Price Index constituents to maintain accuracy and market integrity in accordance with regulatory standards. 

Binance continuously monitors price feeds to ensure stability and reliability of the Price Index and implements controls to mitigate risks from sudden price fluctuations.

You can view the real-time Price Index Info on the Binance website.

image

How to calculate the Price Index for perpetual futures contracts?

The price Index is a weighted average of the spot prices for an asset across multiple major spot exchanges. It serves as a fair market reference price for perpetual futures contracts, helping to reduce price volatility and manipulation risks.

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:

  • Weight Percent of Exchange i = Weight of Exchange i / Total Weight
  • Total Weight = Sum of (Weight of Exchange A + Weight of Exchange B + ...+ Weight of Exchange N)

Important protective measures:

  • Handling extreme price volatility or large deviations: Binance may take additional protective measures such as changing the exchanges contributing to the Price Index or using smoothed prices for volatile data sources to maintain price stability.
  • Single price source deviation limit: To prevent anomalies, if an exchange’s latest price deviates more than a certain percentage from the median price of all exchanges, Binance caps it as follows:
SymbolDeviation Cap
BNBUSDC1%
BNBUSDT1%
BTCUSDC1%
BTCUSDT1%
ETHUSDC1%
ETHUSDT1%
SOLUSDT1%
USDCUSDT1%
XRPUSDT1%
FOLKSUSDT1%
BEATUSDT1%

For example, if the median price for BTCUSDT is 20,000 USDT and one exchange’s price deviates + 7%, that price will be capped at 20,200 USDT (20,000 x 1.01). If the deviation is -6%, it will be capped at 19,800 USDT (20,000 x 0.99). Once the price falls back within the allowed deviation, the original price from that exchange will be used again.

Note: Some designated indexes may be excluded from this capping rule.

Exchange connectivity issues: If Binance is unable to access data from an exchange or the exchange has not updated its trading data within the last five minutes, the weight of that exchange will be set to zero in the weighted average calculation.

The “Last Price Protected” mechanism: When a stable  Price Index or  Mark Price cannot be obtained, Binance temporarily uses the latest contract transaction price within certain limits to calculate the Mark Price. This helps prevent unnecessary liquidations during data disruptions.You can refer to the latest exchange reference on the Price Index for real-time updates.

Additional Notes:

  • Cross rate calculations: For  assets without direct price quotes, Binance calculates synthetic prices using cross rates. For instance, LINK/USDT can be derived from LINK/BTC and BTC/USDT prices.
  • Price Index updates: Binance reserves the right to update the Price Index references and methodology periodically without prior notice to ensure accuracy and reliability. The Price  Index can be considered the “Spot Price” reference for futures contracts. The Mark Price is then calculated using the Price Index and other factors to determine  Unrealized PnL. Please note that Realized PnL is based on actual completed trade prices.

3. Mark Price of USDⓈ-M Futures contracts

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. 

How to calculate the Mark Price for USDⓈ-M perpetual futures contracts?

The Mark Price is calculated using a combination of the Price Index, the funding rate adjustment and a moving average of order book prices.

The Mark Price is calculated using the following formula:

Mark Price = Median (Price 1, Price 2, Contract Price) 

  • Price 1 = Price Index * (1 + Last Funding Rate * (Time Until Next Funding / Funding Period))

Where: 

  • The funding period refers to the duration between each time Binance charges users a funding fee, expressed in hours.
  • Time until next funding is the remaining time (expressed in hours) until the next funding fee is charged. For example, if the funding period is set to 8 hours, and the last funding fee charge occurred 2 hours ago, the time until the next funding would be 6 hours.

Please note: The funding fee is exchanged between long and short-position holders, with Binance acting as a neutral intermediary in the transaction.

  • Price 2 = Price Index + Moving Average (30 seconds basis)

The Moving Average (30 seconds basis) is calculated as the average of 30 data points over a 30 seconds period. The data point is calculated every 1 second by averaging the bid and ask prices and then subtracting the Price Index.

The formula is:

Moving Average (30 seconds basis) = Sum of [(Bid1_i + Ask1_i)/2 - PI_i] / 30

Where:

  • PI is the Price Index at the time of calculation.
  • Bid1_i, Ask1_i, and PI_i are recorded over 30 data points collected at 1-second intervals during a 30 seconds period (0, 1, …. 28,29,30 seconds past the 30 seconds).

Please refer to the Price Index for each USDⓈ-M Futures contract for more details.

Median calculation for the Mark Price:

  • If Price 1 < Price 2 < Contract Price, then Price 2 will be used as the Mark Price.

Please 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.

Please also note: When the Mark Price exhibits an abnormally rapid upward surge within a short period of time, Binance reserves the right to place the symbol in a buy-side reduce-only mode to maintain market stability and price integrity.

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 (30 seconds basis) in Price 2 will be set to 0 until the system returns to normal.

How to calculate the Mark Price for USDⓈ-M quarterly delivery contracts?

Before the delivery date:

  • Mark Price = Price Index + Moving Average (30 seconds basis) 
  • Moving Average  (30 seconds basis) is calculated as:

Moving Average (Bid1 + Ask1) / 2 - Price Index), calculated every second over a 30 seconds interval.

On the delivery date:

  • i) If the time to delivery is greater than 30 minutes
    • Using BTCUSDT 0925 as an example:

Mark Price before 25 September 2020, 07:29:59 UTC

= Price Index + Moving Average (30 seconds basis) 

  • Moving Average (30 Seconds Basis) = Moving Average ((Bid1 + Ask1) / 2 - Price Index), calculated every second over a 30 seconds interval.
  • ii) If time to delivery is 30 minutes or less
    • Mark Price on 25 September 2020, 07:30:00 - 07:59:59 UTC

= Average of the Price Index, calculated every second between 07:30:00 and 07:59:59 UTC on the delivery day.

4. Mark Price of USDⓈ-M Futures contracts pre-market trading

Mark Price methodology during the pre-market trading period 

Pre-market perpetual futures contract Mark Price is calculated using the following formula:

Mark Price = Average of last 10 seconds trade prices, calculated every second.

If there are less than 21 transaction prices in the 10 seconds interval, the average of the Price Index will be based on the last 20 transaction prices. 

Pre-market standard perpetual transition period

Pre-market perpetual futures contracts will be converted to standard perpetual futures contracts when a stable index price can be derived from the spot market(s) (as determined by Binance). The Mark Price will gradually converge from pre-market trading Mark Price to the standard Mark Price calculation (Mark Price = Median (Price 1, Price 2, Contract Price)) during the transition period.

Trading function is not affected during the transition period. Open orders and positions will not be cancelled. 

Mark Price after the pre-market trading ends

When the pre-market perpetual futures contract ends, the Mark Price will be calculated using the following formula:

Mark Price = Median (Price 1, Price 2, Contract Price)