1. What is Funding Rate?
Funding rates are periodic payments made to either long or short traders, calculated based on the difference between the perpetual contract prices and spot prices. When the market is bullish, the funding rate is positive and tends to rise over time. In these situations, traders who are long on a perpetual contract will pay a funding fee to traders on the opposing side. Conversely, the funding rate will be negative when the market is bearish, where traders who are short on a perpetual contract will pay a funding fee to long traders.
2. Why is the Funding Rate important?
The funding rate is primarily used to force convergence of prices between the perpetual contract and the underlying asset.
Unlike traditional futures, perpetual contracts have no expiration date. Thus, traders can hold positions to perpetuity unless he gets liquidated. As a result, trading perpetual contracts are very similar to spot trading pairs.
As such, crypto exchanges created a mechanism to ensure that perpetual contract prices correspond to the index. This is known as Funding Rate.
3. How are Funding Rates calculated on BTCEX?
Funding rates are calculated using the following formula:
Funding Amount = Nominal Value of Positions × Funding Rate
(Nominal Value of Positions = Mark Price x Amount of a Contract)
Please note that BTCEX takes no fees from funding rate transfers as funding fees are transferred directly between traders.
Funding payments occur every 8 hours at 00:00 UTC, 08:00 UTC, and 16:00 UTC for all BTCEX Futures perpetual contracts. Traders are only liable for funding payments in either direction if they have open positions at the pre-specified funding times. If traders do not have a position, they are not liable for any funding. If you close your position before the funding time, you will not pay or receive any funding.
There is a 15-second deviation in the actual funding fee transaction time. For example, when a trader opens a position at 08:00:05 UTC, the funding fee could still apply to the trader (either paying or receiving the funding fee).
You can view the Funding Rates and a countdown timer to the next funding on the BTCEX Futures interface above the candlestick chart:
4. What determines the Funding Rate?
There are two components to the Funding Rate: the Interest Rate and the Premium. The Premium is why the price of the perpetual contract will converge with the underlying asset price.
BTCEX uses a flat interest rate, assuming that holding cash equivalent returns a higher interest than the BTC equivalent. The difference is stipulated to be 0.03% per day by default (0.01% per funding interval since funding occurs every 8 hours). It may change depending on market conditions, such as the Federal Funds Rate.
There may be a significant difference in price between the perpetual contract and the Mark Price. On such occasions, a Premium Index will be used to enforce price convergence between the two markets. It is calculated separately for every contract:
Premium Index (P) = [Max(0, Impact Bid Price - Price Index ) - Max(0, Price Index - Impact Ask Price)] / Price Index
Impact Bid Price = The average fill price to execute the Impact Margin Notional on the Bid Price.
Impact Ask Price = The average fill price to execute the Impact Margin Notional on the Ask Price.
- Price Index is a basket of prices from the major spot market exchanges, weighted by their relative volume.
- The Impact Margin Notional (IMN) for USDT-Margined Contracts is the notional available to trade with 200 USDT worth of margin (price quote in USDT). IMN is used to locate the average Impact Bid or Ask price in the order book.
Impact Margin Notional (IMN) = 200 USDT / Initial margin rate at maximum leverage level
For example, the maximum leverage of BTCUSDT perpetual contract is 125x, and its corresponding Initial Margin Rate is 0.8%. The Impact Margin Notional (IMN) is 25,000 USDT (200 USDT / 0.8%), and the system will take an IMN of 25,000 USDT every minute in the order book to measure the average Impact Bid/Ask price.
5. How to calculate the Funding Rate?
Step 1. Find the Impact Bid/Ask Price Series in a given funding period
Assume the following Bid-side order book:
Level |
Price |
Base Quantity |
Quote Notional Quantity |
Accumulated Quote Notional Quantity |
1 |
p1 |
q1 |
multiplier*p1*q1 |
multiplier*p1*q1 |
2 |
p2 |
q2 |
multiplier*p2*q2 |
multiplier**p1*q1+multiplier*p2*q2 |
3 |
p3 |
q3 |
multiplier*p3*q3 |
multiplier**p1*q1+multiplier**p2*q2+multiplier*p3*q3 |
... |
... |
... |
... |
... |
n |
pn |
qn |
multiplier*pn*qn |
multiplier*∑pn*qn |
If multiplier *∑px*qx > IMN in Level x and multiplier * ∑px-1*qx-1 < IMN in Level x-1, then we can find the Impact Bid Price from the Level x order book:
Impact bid price =IMN / [(IMN-multiplier *∑px-1*qx-1)/px+multiplier * ∑qx-1]
*IMN: Impact Margin Notional
To get the Impact Bid/Ask Price Series, the system performs the above methodology over the order book snapshots in this funding period:
The Ask order book is summarised as below:
Level |
Price |
Base Quantity |
Quote Notional Quantity |
Accumulated Quote Notional Quantity |
1 |
11409.63 |
0.499 |
(11409.63 x 0.499) |
5693.41 |
2 |
11409.78 |
0.008 |
(11409.78 x 0.008) |
(11409.63 x 0.499) + (11409.78 x 0.008) |
3 |
11410.08 |
0.616 |
(11410.08 x 0.616) |
…... |
4 |
11410.49 |
0.079 |
(11410.49 x 0.079) |
……... |
5=x-1 |
11410.50 |
0.065 |
(11410.50 x 0.065) |
14,456.38 < 25,000 USDT * |
6=x |
11410.54 |
2.850 |
(11410.54 x 2.850) |
(11409.63 x 0.499) + (11409.78 x 0.008)+ (11410.08 x 0.616)+ (11410.49 x 0.079)+ (11410.50 x 0.065) + (11410.54 x 2.850) = 46,976.38 > 25,000 USDT * |
*BTCUSDT perpetual contract default Impact Margin Notional
From the table above we get the following figures:
- Price at Levelx - 1 is 11410.50
- Accumulated quote notional quantity at Level x is 14456.38
- Accumulated base quantity at Level x-1 is：499 + 0.008 + 0.616 +0.079 + 0.065 = 1.267
Substituting into the formula:
Impact Ask Price = IMN / [(IMN-multiplier x ∑px-1 x qx-1)/px+multiplier x ∑qx-1]
= 25,000 / [(25,000 - 14456.38) / 11410.54 + 1.267]
= 25,000 / (10543.62 / 11410.54 + 1.267）
= 11,410.31 USDT
Analysis:
- The corresponding quantity when it reaches NIM at Level x: (IMN-multiplier x ∑px-1 x qx-1) / px = (25,000 - 14456.38 ) / 11410.54 = 0.924
- Accumulated base quantity when it reaches NIM: 0.924 + 1.267 = 2.191
- Impact Ask Price = 25,000 / 2.191 = 11,410.31 USDT
Step 2. Find the Premium Index Series in the observed funding period
BTCEX calculates the Premium Index every minute and takes a time-weighted average across all indices to the Funding Time (every 8 hours).
Premium Index Formula:
Premium Index(P) = [ Max(0, Impact Bid Price - Price Index ) - Max(0, Price Index - Impact Ask Price)] / Price Index
(Max(0,bpn-ipn)-Max(0,ipn-apn))/ipn
Sequence |
Impact Bid Price |
Impact Ask Price |
Index Price |
Premium Index |
1 |
bp1 |
ap1 |
ip1 |
(Max(0,bp1-ip1)-Max(0,ip1-ap1))/ip1 |
2 |
bp2 |
ap2 |
ip2 |
(Max(0,bp2-ip2)-Max(0,ip2-ap2))/ip2 |
... |
... |
... |
... |
... |
n |
bpn |
apn |
ipn |
(Max(0,bpn-ipn)-Max(0,ipn-apn))/ipn |
Step 3. Time-to-funding weighted Average of Premium Index of the observed funding period
Use the Premium Index Series in this funding period (from step 2), and we substitute it to the Average Premium Index formula:
Average Premium Index (P) =(1 x Premium_Index_1+2 x Premium_Index_2+3 x Premium_Index_3+···+·480 x Premium_index_480)/(1+2+3+···+480) x Premium_Index_1: the premium index at the first minute
Step 4. Calculate the Funding Rate
The Funding Rate is then calculated with this 8-Hour Interest Rate Component and the 8-Hour Premium Component. A +/- 0.05% damper is also added. For example, the Funding Rates calculated from 00:00 - 08:00 are exchanged at 08:00.
The Funding Rate formula:
Funding Rate (F) = Average Premium Index (P) + clamp (interest rate - Premium Index (P), 0.05%, -0.05%)
*Premium Index (P) here refers to the current average
Note:
The function clamp (x, min, max) means that if (x < min), then x = min; if (x > max), then x = max; if max ≥ a ≥ min, then return x.
In other words, as long as the Premium Index is between -0.04% to 0.06%, the Funding Rate will equal 0.01% (the Interest Rate).
If (Interest Rate (I) - Premium Index (P)) is within +/-0.05% then F = P + (I - P) = I. In other words, the Funding Rate will be equal to the Interest Rate.
Example 1:
Time stamp: 2020-08-27 20:00:00 UTC
Price Index: 11,312.66USDT
Impact Bid Price: 11,316.83 USDT
Impact Ask Price: 11,316.80 USDT
Premium Index(P) = Max(0, Impact Bid Price − Price Index ) − Max(0, Price Index − Impact Ask Price) / Price Index
=Max(0, 11,316.83 - 11,312.66) - Max(0,11,312.66 - 11317.66) / 11,312.66
= (4.17 - 0) / 11,312.66
= 0.0369%
6. Capped Funding Rate
Floor = -0.75%, Cap = 0.75%
Capped Funding Rate = clamp(Funding Rate, Floor, Cap) * Funding Rate
The funding rate of each contract is calculated based on its corresponding "Initial Margin Ratio" and "Maintenance Margin Ratio" at the maximum leverage level. For Initial Margin Ratio and Maintenance Margin Ratio.
For example: To calculate the Floor and Cap of BTCUSDT perpetual contract, the corresponding "Initial Margin Ratio" and "Maintenance Margin Ratio" in the table at the maximum leverage level 125x is 0.8% and 0.4% respectively.