Futures Specs
Overview
All subaccounts on Backpack are cross-margined. Margin is isolated per subaccount.
There is only one wallet to access all products (spot, futures, spot margin, borrow/lending).
Currently, markets are denominated and settled in USDC.
Lent assets can be used as collateral to open and maintain futures positions. Interest rates are determined by the public utilization rate curve of the Borrow Lend market.
Unrealized PnL also earns/pays interest, and fully counts towards net equity. You can choose to continuously realize PnL if you prefer to do so instead.
Liquidations first go through the orderbook, and upon hitting the auto-close margin, accounts are liquidated against Backstop Liquidity Providers.
Margin & Collateral
Item
Description
Formula
Collateral Value
Notional value of collateral asset with haircut applied
Total Account Collateral
Total value of collateral assets with haircut applied
Unrealized PnL
Position Unrealized PnL
Net Exposure Quantity
Size in tokens of current open positions and open orders that increase risk within a symbol
Net Exposure Notional
Notional size of current open positions and open orders that increase risk within a symbol
Total Exposure Notional
Total notional sum of open positions and orders that increase risk across all symbols
Base IMF
Position IMF without considering size
Position Initial Margin Fraction (IMF)
Initial margin requirement for a position adjusted for position size
Position Maintenance Margin Fraction (MMF)
Maintenance margin requirement adjusted for position size
Account IMF
Minimum margin fraction required to open new positions
Account MMF
Minimum margin fraction required to not get liquidated.
Net Equity
Total net equity value of the account.
Net Equity Locked
Total equity used to maintain open positions and orders that increase risk.
Net Equity Available
Equity available to open new positions.
Account Margin Fraction (MF)
How levered an account is given its current active positions and the mark prices of the coins.
Auto Close Margin Fraction
Margin fraction in which account is liquidated against BLPs.
Mark Price and Index Price
We have fallback logic to calculate the Mark Price. The order of preference is:
Index price + 5 minute moving average of (mid price - index price) delta. The mid price is the mean of the best bid and best offer.
Index price.
Median of the best bid, best offer and last traded price on Backpack.
Mid price (mean of best bid and best offer) on Backpack.
Last traded price on Backpack.
We will resort to using the fallback logic if we do not have the necessary data (e.g. it is stale).
For Index Price, we retrieve market price data from a set of exchanges.
For each exchange, we take the median of {best bid, best ask, last price} and use this as the market price.
We then calculate the median market price for the exchanges.
We apply a ceiling price of 30bps above the median and a floor price of 30bps below the median. If an exchange is outside of that, then they will be given the ceiling / floor price.
Each exchange is given a weighing that affects their weight. We use that weighting in a weighted mean average market price calculation for the set of exchanges.
Funding Rate
Every second, we record the current funding rate in a time series.
funding rate = premium / index price
premium = mark price - index price
At the end of the funding interval, we calculate the average of the funding rate from the first step.
We apply a ceiling & floor which is configurable by market. If the mean funding rate exceeds the ceiling, then the ceiling is used instead (vice versa for floor).
The result of this is the average funding rate.
We then multiply the average funding rate by each position's net quantity multiplied by the current mark price. This is the funding payment for a position.
Price Bands
Limit Price Bands
These are applied to limit orders.
We calculate the median of {best bid, best offer, last price}. This is called the Active Price.
We then have a configurable Max Multiplier and Min Multiplier parameters.
If a limit order is submitted with a limit price that exceeds Active Price * Max Multiplier, then it is rejected. Conversely, if it has a limit price below Active Price * Min Multiplier, then it is rejected
Price Impact Bands
These are applied to maker orders.
We have parameters Max Impact Multiplier and Min Impact Multiplier.
If we have a buy maker order, we will only allow it to to take up to the price level of best offer * Max Impact Multiplier. If the order is not fully filled at that point then we will expire the order and it will be partially filled. Converse logic applied for Min Impact Multiplier.
Mean Mark Price Bands
We calculate the 5 minute moving mean average for the mark price, mean mark price
We then have 2 parameters Max Multiplier and Min multiplier
If a maker order is submitted, then we will allow it to fill up until the price level of mean mark price * Max Multiplier . If the order is not fully filled at that point then we will expire the order and it will be partially filled. Converse logic applied for Min Multiplier . This is similar to the above price impact price bands.
Mean Premium Bands
We calculate the 5 minute moving average of the premium, mean premium
We then have a parameter tolerance pct
If, e.g. the tolerance percentage is 1% and the mean premium is 3%, then if a maker order is submitted, we will only allow it full up to a price level at which the current premium is 4%. If the order is not fully filled at that point then we will expire the order and it will be partially filled.
If, e.g. the tolerance percentage is 1% and the mean premium is -3%, then if a maker order is submitted, we will only allow it full up to a price level at which the current premium is -4%. If the order is not fully filled at that point then we will expire the order and it will be partially filled.
Last updated