What Are Index Price, Mark Price, and Last Price?
Bitget futures: What are index price, mark price, and last price?
In crypto derivatives trading, index price, mark price, and last price are fundamental concepts. This article explains what they are, how they function, and how they're used in Bitget futures trading, to help you make more informed trading decisions.
Why do we need index price, mark price, and last price?
In spot trading, you exchange a specific amount of one asset for a different amount of another. However, in derivatives trading, such as futures, you don't need to own the underlying asset. Instead, you trade futures contracts that track the asset's price movements. As a result, futures markets rely on spot market price data to facilitate both long and short positions, making index price, mark price, and last price essential components of futures trading.
• Risk management: Mark price and index price help reduce the risk of liquidation caused by extreme market volatility.
• Fair trading: Mark price and index price help prevent price manipulation, ensuring fair execution of futures.
• Informed decision-making: Last price provides real-time market data, helping traders make precise trading decisions.
Key differences and features
Price type |
Definition |
Role |
Feature |
Index price |
Weighted average price from multiple spot markets |
Used as a fair reference price for liquidations |
Stable and resistant to manipulation from any single market |
Mark price |
Calculated based on index price and funding rate |
Determines unrealized PnL and liquidation |
Smooths volatility and adjusts to extreme conditions |
Last price |
Price of the most recent trade executed |
Reflects real-time market trading |
More volatile, suitable for short-term trading strategies |
What is index price?
The index price is a weighted average of spot prices across major exchanges. It reflects a fair market value of a cryptocurrency. Bitget collects spot prices in real-time from platforms like Bitget itself, Binance, Coinbase, OKX, Bybit, Gate.io, MEXC, Bitfinex, and Kraken, to scientifically calculate this figure.
How index price is calculated
1. Exchange price collection: Bitget pulls spot prices from major exchanges and updates in real time.
2. Weighting: Each exchange's price is weighted based on its 24-hour trading volume, updated every four hours. Weight formula:
Exchange A's weight = (A's 24h trading volume) ÷ (total 24h trading volume of all exchanges used)
A maximum of six exchanges are used in the calculation.
3. Index price formula: Index Price = Σ (spot price × weight), with a total weight count of 1 (100%), updated every second.
4. Special conditions:
○ If an exchange's price deviates more than 5% from the median, it's excluded until the deviation falls below 2%.
○ If an exchange hasn't updated prices for 15 minutes, it's temporarily removed until the updated price meets the requirements.
○ In extreme conditions, Bitget may manually adjust weights or remove exchanges to protect system stability.
○ If changes in the exchange list would cause the index price to move over 0.1%, Bitget uses a smoothing mechanism to ease the transition.
Example: BTCUSDT index price calculation
Assuming the following are the spot prices of the BTCUSDT trading pair across different exchanges and the corresponding weights:
Exchange |
Trading pair |
Spot price |
Weight |
Exchange A |
BTC/USDT |
91,500 |
10% |
Exchange B |
BTC/USDT |
91,495 |
20% |
Exchange C |
BTC/USDT |
91,498 |
30% |
Exchange D |
BTC/USDT |
91,502 |
10% |
Exchange E |
BTC/USDT |
91,505 |
15% |
Exchange F |
BTC/USDT |
91,490 |
15% |
Index price = 91,500 × 10% + 91,495 × 20% + 91,498 × 30% + 91,502 × 10% + 91,505 × 15% + 91,490 × 15% = 91,497.85
What is mark price?
The mark price is a reference price used to calculate unrealized PnL and to trigger liquidations in derivatives trading. It's derived from the index price, funding rate, and order book basis. The goal is to smooth market fluctuations and ensure fair pricing.
How mark price is calculated
Bitget calculates three price inputs and takes the median as the final mark price:
1. Price 1: Last price
2. Price 2: Index price × (1 + latest funding rate × time factor)
3. Price 3: Index price + 5-minute moving average (MA) of order book basis
Final mark price = median (Price 1, Price 2, Price 3)
Example: BTCUSDT mark price
Assuming the last price of BTCUSDT perpetual futures is 91,500, the latest funding rate is 0.01%, and the moving average of the 5-minute order book basis is 50. The calculation is as follows:
• Price 1 = 91,500 (last price)
• Price 2 = 91,500 × (1 + 0.01% × 1/60) = 91,500.15 (taking two decimal places)
• Price 3 = 91,500 + 50 = 91,550
Mark Price = median (91,500, 91,500.15, 91,550) = 91,500.15
Special cases
• High volatility: If mark price lags behind the market, Bitget may adjust the moving average calculation window for Price 3 or use Price1 directly.
• Delivery futures:
○ More than 30 minutes before settlement: Mark price = index price + 5-minute moving average of order book basis
○ Within 30 minutes of settlement: Mark price = 30-minute moving average of the index price (or based on available duration if it is less than 30 minutes).
What is last price?
Last price refers to the price at which the most recent futures trade was executed. This price is updated in real time. While mark price is used to calculate unrealized PnL, last price determines realized PnL.
For example, in the BTCUSDT perpetual futures market, the futures price is influenced by Bitcoin's spot price. However, since traders actively buy and sell BTCUSDT futures on Bitget, supply and demand can create a futures price that differs from Bitcoin's spot price.
In other words, the last price of a futures contract may gradually diverge from the underlying asset's spot price. As trading volume in the futures market increases, this price gap can widen. To ensure stable and reliable pricing, Bitget relies on mark price instead of last price for key calculations.
Summary
Understanding index price, mark price, and last price is essential for futures traders. These pricing mechanisms not only help traders make better decisions but also play a vital role in margin calculations and liquidation processes.