Perpetual futures overview
Perpetual futures are a type of derivative similar to the traditional futures contracts, with the key difference being:
- It has no delivery or settlement date.
- Perpetual futures share similarities with margined spot trading, as they both trade at a price close to the price of the underlying asset's index price, and the primary mechanism for anchoring the spot price in both cases is the funding fee.
Perpetual futures trading mechanism
When trading perpetual futures at Bitget, in addition to understanding margin trading, traders should be aware of:
Mark price: The method of reasonable price marking used for perpetual futures, where the mark price, adjusted based on the index price, determines the unrealized PnL and liquidation price.
Initial margin and maintenance margin: The initial margin determines the amount of margin you need to open a position and the maintenance margin determines the price at which the liquidation is triggered.
Assuming the funding fee is exchanged at an 8-hour interval, buyers and sellers will pay/receive funding fees every 8 hours. If the rate is positive, long position holders will pay funding fees to the short position holders. Conversely, if the rate is negative, the opposite will occur. Users only pay or collect Funding fee if they hold positions at the funding fee calculation timestamps.
Assuming the funding fees is exchanged at an 8-hour interval, the timestamps for funding rates are as follows: 00:00 UTC (08:00 UTC+8), 08:00 UTC (16:00 UTC+8), and 16:00 UTC (00:00 UTC+8).
Delivery futures overview
Bitget offers both quarterly and bi-quarterly Coin-M delivery futures.
The futures delivery time is 8:00 (UTC) on the delivery day. Upon maturity of the futures contract, the average index price of the last 1 hour will be used as the settlement price to settle all open positions. Settlement will be completed within 10 minutes after the contract matures.
Funding fee
Funding fee = position value × funding rate
The funding rate consists of two components: Interest rate and Premium index.
Bitget calculates the Premium index (P) and the Interest rate (I) every minute, and then performs an N*-Hour Time-Weighted-Average-Price (TWAP) over the series of minute rates.
The funding rate is calculated based on the N-hour interest rate and the premium/discount component. An a,b dampener is added.
N represents the funding fee charging interval. If funding fees are incurred every 8 hours, then N equals 8. Similarly, if funding fees are incurred every 1 hour, then N equals 1.
Funding rate (F) = Premium index (P) + clamp (Interest rate (I) − Premium index (P), a, b)
So, if (I - P) is between a to b, then F = P + (I - P) = I. In other words, the funding rate will be equal to the interest rate.
The calculated funding rate will be applied to the trader's position value, and the funding fee to be paid or charged will then be calculated at the corresponding timestamp.
Interest rate (I) = 0.01%
For more information on futures funding rates, click here.
Index price
The index price represents the consensus market price of the underlying asset. It is derived from the weighted average of quotes from multiple spot exchanges.
Mark price overview
Perpetual futures mark price
Bitget uses the mark price to set the trigger price for liquidation and calculate unrealized PnL, without affecting the trader's actual PnL. A trader's position will only be liquidated when the mark price reaches the position's liquidation price.
Mark price calculation
Mark price = index price + N-minute moving average
N-minute moving average = moving average [(Bid 1 + Ask 1) ÷ 2 − Index price], measured every second in an N-minute interval.
Delivery futures mark price
Bitget employs a fair mark price approach to prevent undesired deviations between the latest traded price and the index price, stemming from market manipulation or illiquidity, avoiding unintended liquidation of user positions. Bitget uses the mark price to trigger liquidation.
Delivery futures mark price = index price + N-minute moving average
N-minute moving average = moving average [(Bid 1 + Ask 1) ÷ 2 − Index price], measured every second in an N-minute interval.
Note: You may see the unrealized PnL displayed immediately after your order is filled. This occurs due to a slight deviation of the mark price from the filled price, which does not necessarily indicate that you have actual profit or loss.