Perpetual contracts never settle traditionally, so exchanges use a funding rate to ensure perpetual prices converge with index prices regularly. GRVT calculates and charges funding fees on a minutely basis based on the following factors.
Factor | Specification |
Face value | BTC: 1 BTC ETH: 1 ETH |
Number of contracts | = Number of Contracts * Face Value E.g., long 100 contracts of BTC-USDT perpetual, the Size (or Position Size) will 100 * 1 = 100 BTC. |
Size (or Position Size) | = Number of Contracts * Face Value E.g., long 100 contracts of BTC-USDT perpetual, the Size (or Position Size) will 100 * 0.001 = 0.1 BTC. Actually, the face value defines the minimum trading volume of the product. |
FairImpactBid / Ask | Using the impact notional (50,000 USDT) to work through the order book of the bid side (or ask side resp.) and to get the averaged fill price, calculating once every second. |
Fair Price | = (FairImpactBid + FairImpactAsk) / 2
Calculated once every second. |
Index Price | Weighted averaged price from other exchanges, calculated once every second. |
Premium | = Fair price - Index price
Calculated once every second. |
Premium Rate | = SMA_60s (Premium) / Index Price * 100%
SMA_60s: simple average of the 60 premiums (computed every second ) within one minute, and the index price is the one at the last second
This factor is calculated/charged once every minute (at the last second). |
Funding Rate (8-hourly Funding Rate) | Apply two adjustments below from the premium rate: (1) Applying a “Damper”: Funding Rate = Max( 0.025%, Premium Rate ) + Min( -0.025%, Premium Rate )
(2) Applying a cap (or floor) Funding Rate = Max( Min(Funding Rate, 5%), -5%)
This factor is calculated/charged once every minute (at the last second). |
Time Factor | We charge once every minute, then time factor = 1 / 480 |
Funding Payment | = Position Size * Mark Price * Funding Rate * Time Factor
where the Position Size, Mark Price are the numbers at the time we charge the funding payment, once every minute (at the last second). |