Funding Rates

This new funding rate system went into effect on July 3rd after the release window.

Perpetual futures contracts employ a funding rate mechanism to ensure the mark price stays close to the index price. Please see Mark, Index, and Quoted Prices for an overview of the different prices. In summary, the index price is computed by aggregating the spot prices across different exchanges. The mark price is the fair value of the perpetual futures contract and is not used in the computations to derive the funding rate.

A positive funding rate means longs pay shorts; a negative funding rate means shorts pay longs.

There is a funding payment window every hour; however, the rate may be 0 some hours and the funding payment will be skipped in that case. Please see Calculation window for details.

Formulas

Funding Rate (F) = Average Premium Index (P) + clamp (interest rate - Premium Index (P), -0.0005, 0.0005)

The premium is computed every 60s and then averaged over the calculation window using the weighting scheme described below.

premium = impact_price_difference / index_price

impact_price_difference = max(impact_bid_px - index_price, 0) - max(index_price - impact_ask_px, 0)

The impact_bid_px is the bid price returned for a RFQ of size $10,000.

The impact_ask_px is the ask price obtained for a RFQ of size $10,000.

The interest rate is fixed at 0.001% / hour, and the funding rate is capped at 2% per hour.

Weighting scheme

We sample the premium P every 60s, leading to samples P_1, P_2, ... P_i, ...P_N. Then each sample P_i has weight 2iN(N+1)\frac{2i}{N(N+1)}

Calculation window

The calculation window is designed to match centralized exchanges, the waterfall works as follows:

  1. If the market exists on Binance, the calculation window will match Binance's.

  2. Else if the market exists on Bybit, the calculation window will match Bybit's.

  3. Else the calculation window is 1 hour.

Example:

BTC perp market exists on Binance and has a 8 hour calculation window. This means in hours 1-7, the hourly funding rate will be 0. In hour 8, the funding rate will be computed off the previous 8 hours of data.

Numerical example

Let's take

index_price = $10,000
impact_bid_px = $10,100
impact_ask_px = $10,200

Step 1: compute the impact_price_difference

impact_price_difference = max($10,100 - $10,000, 0) - max($10,000 - $10,200, 0)
                        = max($100, 0) - max(-$200, 0)
                        = $100 - $0
                        = $100

Step 2: compute the premium

premium = $100 / $10,000
        = 0.01

Step 3: compute the funding rate

Funding Rate (F) = 0.01 + clamp(0.00001 - 0.01, -0.0005, 0.0005)
                 = 0.01 + clamp(-0.00999, -0.0005, 0.0005)
                 = 0.01 - 0.0005
                 = 0.0095

Last updated