Futures

Index price calculation

2025-03-13 12:000363

What is index price?

The index price represents the spot market price of an underlying asset. It is designed to provide a stable reference price, considering that different exchanges may show slight variations in price. To ensure a reliable and stable index price, Bitget calculates a weighted average of spot prices from leading cryptocurrency exchanges.

Index price calculation process

Bitget determines the index price by aggregating real-time spot prices from major exchanges and weighting them based on trading volume. The final index price is calculated using a weighted average.

1. Gathering exchange prices

Bitget sources real-time spot prices from multiple major exchanges, including Bitget, Binance, Coinbase, OKX, Bybit, Gate.io, MEXC, Bitfinex, and Kraken.

2. Assigning weight to each exchange

The weight assigned to each exchange is based on its 24-hour trading volume, and this information is updated every four hours. The formula for calculating an exchange’s weight is as follows:

Weight of Exchange A = 24-hour trading volume of Exchange A ÷ (sum of the 24-hour trading volumes of all exchanges involved). The denominator is the total of the trading volumes from all exchanges, while the numerator is the volume of the specific exchange. A maximum of six exchanges are used in the index calculation.

3. Calculating the index price

a. Basic formula: Index price = (spot price of Exchange A × weight of Exchange A) + (spot price of Exchange B × weight of Exchange B) + ... + (spot price of Exchange X × weight of Exchange X). The sum of all exchange weightings equals 100%. The index price updates at least once per second.

b. Special handling scenarios:

If the spot price from any major exchange deviates more than 5% from the median price of all sources, it is excluded from the calculation. The excluded price will be reintroduced once the deviation falls within 2% of the median.

If an exchange fails to update its price for 15 minutes, it will be automatically removed from the index calculation. It will be reinstated once it resumes updating its price within 2% of the median.

In extreme cases, Bitget may remove an exchange from the calculation or assign fixed weights to prevent systemic risk.

If a change in the list of included exchanges causes the index price to fluctuate by more than 0.1%, Bitget will gradually transition to the new index price calculation. This prevents sudden jumps in the index price.

c. Examples

Spot exchange

Trading pair

Spot price

Weighting

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%

Based on the above exchange data, the index price is calculated as: (91,500 × 10%) + (91,495 × 20%) + (91,498 × 30%) + (91,502 × 10%) + (91,505 × 15%) + (91,490 × 15%) = 91,497.85

4. Adjustment of index price in extreme market conditions

If extreme market conditions occur and no reliable external index source is available, Bitget may derive the index price from the futures market. This ensures contract stability and mitigates price confusion.

Synthetic price algorithm

a. Calculate the depth-weighted buy price and depth-weighted sell price through the futures market order book to obtain the depth-weighted mid-price. Depth-weighted mid-price = (depth-weighted buy price + depth-weighted sell price) ÷ 2. The order book depth required for the calculation is configured per trading pair. The depth-weighted price is calculated similarly to the funding rate.

b. The index price at Tn = α × depth-weighted mid-price at Tn + (1 − α) × index price at Tn−1, where "α" is the configured value (by default, 0.1818), which will be adjusted based on market conditions.

5. Price conversion

If an exchange does not list a trading pair in the desired quote currency, Bitget applies a conversion mechanism to acquire the price in the desired unit.

Suppose Coinbase provides a BTC/USD spot price, but Bitget needs a BTC/USDC index price, and Coinbase is used as a data source, the conversion will be as follows: Equivalent BTC/USDC spot price for Coinbase = BTC/USD price × USD/USDC index price. USD/USDC index price = BTC/USDC index price ÷ BTC/USD index price.

Join Bitget, the World's Leading Crypto Exchange and Web 3 Company