Unlike conventional futures contracts, perpetual contracts never expire, eliminating the need to rollover for perpetual contract holders.
BIT uses funding rate to encourage risk free arbitrage between spot and perpetual markets so that the perpetual prices and index prices converge on a regular basis. Funding Fees are periodic payments made to or by opposite position holders based on the funding rate.
BIT employs a 10-second interval mechanism instead of an 8-hour mechanism for the funding of perpetual contracts. The funding rate will be generated 5 seconds before the start of every 10-second funding interval. For example, the funding rate, which is used to charge the funding fee for the interval between 15:20:40 and 15:20:50, is calculated from the market data as of 15:20:35.
Funding Rate Calculation
Step 1: Calculate Premium Index (P) component
Premium Index (P) = (Mark Price - Index Price) / Index Price
In order to generate the Premium Index (P) that is consistent with the timing of the Funding Rate (F), Mark Price and Index Price are valued 5 seconds before the start of the funding interval.
Step 2: Specify Interest Rate Differential (I) component
Interest Rate Differential (I) = Quote Currency Interest Rate − Base Currency Interest Rate
Currently BIT fixes the Interest Rate Differential (I) at 0.03% daily (0.01% per 8 hours or 0.01%*(10/(8*3600)) per funding interval), with the assumption that holding USD cash equivalent (quote currency) returns a higher interest than coin equivalent (base currency). This fixed interest rate differential may be changed by BIT risk team according to market conditions.
Step 3: Calculate Funding Rate (F)
Funding Rate (F) = Premium Index (P) + Clamp [Interest Rate Differential (I) − Premium Index (P), dampener , −dampener] = Premium Index (P) + Clamp [0.01% − Premium Index (P), 0.05%, −0.05%]
The function Clamp [x, max, min] means that if (x < min), then x = min; if (x > max), then x = max; if max ≥ x ≥ min, then return x.
The dampener is specified to be +/-0.05%. The way the dampener works is illustrated in the following diagram.
In practice, the Funding Rate (F) is equal to the Interest Rate Differential (I) of 0.01% for most of the time. This is because, as long as the Premium Index (P) is between -0.04% and 0.06%, (I - P) will stay in the range of +/-0.05%. As a result, F = P + (I - P) = I. Only when Premium Index (P) deviates more from Interest Rate Differential (I) will we see different values of Funding Rate (F).
For example, if Premium Index (P) is below -0.04%, F = P + 0.05% which is below 0.01% and even further dips into the negative zone. If Premium Index (P) is above 0.06%, F = P - 0.05% which is above 0.01%.
Step 4: Clamp Funding Rate
Clamped Funding Rate = Clamp [Funding Rate, Upper Limit, Lower Limit]
In order to better protect the interests of users in periods of high volatility, BIT sets a band of +/-0.5% for the funding rate. This band might be adjusted by the BIT risk team in real time according to market conditions.
Additionally, an 8-hour average funding rate is calculated for display and comparison only.
8-hour average funding rate is calculated as the arithmetic mean of the funding rates generated every 10 seconds in the last 8 hours (i.e. 60/10 * 60 * 8 = 2880 data points).
Example of funding rate
Take BTCUSD perpetual funding rate as an example:
||Interest Rate Differential
||Clamped Funding Rate
Calculation of funding fee
Funding Fee is calculated and charged at the end of each 10-second funding interval or at each transaction time. It’s based on the Funding Rate (see steps above) generated 5 seconds before the start of the current interval.
Funding Fee = -1 * Clamped Funding Rate * Position Value (USD) * Holding Time Fraction
Position Value is the USD value of the position held until the as-of time of the calculation. When mark price is used in the valuation, it should be the mark price as of the beginning of the current funding interval.
Holding Time Fraction is the position holding time within the current 10-second funding interval divided by the conventional period of 8 hours (or 8*3600 seconds). E.g., the current position holding time is 6 seconds, then the holding time fraction is 6/(8*3600).
Total Funding Fees as of the end of the session (8:00 UTC every day) is the sum of all the Funding Fees in that session.
Example of funding fee
Taking the funding interval from 15:20:40 to 15:20:50 as an example, the current funding rate is 0.011%, there is no position change in this 10-second period, and the user's BTCUSD perpetual position is 6000 USD.
If the user holds the position of 6000 USD from 15:20:40 to 15:20:50 for 10 seconds:
Funding Fee =-1*0.011%*6000*[10/(8*3600)]
Taking the funding interval from 15:20:50 to 15:20:60 as an example, the current funding rate is 0.014%, and one trade occurs at 15:20:53. The user’s BTCUSD perpetual position value is 6000 USD before the trade, and the position value is 7000 USD after the trade. Due to the change of the position within the 10-second interval, the calculation of funding fee needs to be done in 2 parts:
If the user holds the position of 6000 USD from 15:20:50 to 15:20:53 for 3 seconds:
If the user holds the position of 7000 USD from 15:20:53 to 15:20:60 for 7 seconds: