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

TokenSize×MarkPrice×CollateralWeight\text{TokenSize} \times \text{MarkPrice} \times \text{CollateralWeight}

Total Account Collateral

Total value of collateral assets with haircut applied

(Collateral Value) for all collateral assets\sum \text{(Collateral Value)} \text{ for all collateral assets}

Unrealized PnL

Position Unrealized PnL

Position Size×(Mark PriceAverage Entry Price)\text{Position Size} \times (\text{Mark Price} - \text{Average Entry Price})

Net Exposure Quantity

Size in tokens of current open positions and open orders that increase risk within a symbol

Position Size+Open Order Size Of Orders Increasing Risk\text{Position Size} + \text{Open Order Size Of Orders Increasing Risk}

Net Exposure Notional

Notional size of current open positions and open orders that increase risk within a symbol

Net Exposure Quantity×Mark Price\text{Net Exposure Quantity} \times \text{Mark Price}

Total Exposure Notional

Total notional sum of open positions and orders that increase risk across all symbols

(Net Exposure Notional) across all futures and spot margin positions\sum \text{(Net Exposure Notional)} \text{ across all futures and spot margin positions}

Base IMF

Position IMF without considering size

max(1maximum leverage on platform,1maximum leverage set by user)\max\left(\dfrac{1}{\text{maximum leverage on platform}}, \dfrac{1}{\text{maximum leverage set by user}}\right)

Position Initial Margin Fraction (IMF)

Initial margin requirement for a position adjusted for position size

max(Base IMF,IMF Factor×Notional Position Size)\max \left(\text{Base IMF}, \text{IMF Factor} \times \sqrt{\text{Notional Position Size}}\right)

Position Maintenance Margin Fraction (MMF)

Maintenance margin requirement adjusted for position size

max(Base MMF,MMF Factor×Notional Position Size)\max \left(\text{Base MMF}, \text{MMF Factor} \times \sqrt{\text{Notional Position Size}}\right)

Account IMF

Minimum margin fraction required to open new positions

max(1max leverage,(Notional Position Size×Position IMF)Total Exposure Notional)\max\left(\dfrac{1}{\text{max leverage}}, \dfrac{\sum \text{(Notional Position Size} \times \text{Position IMF)}}{\text{Total Exposure Notional}}\right)

Account MMF

Minimum margin fraction required to not get liquidated.

(Notional Position Size×Position MMF)Total Exposure Notional\dfrac{\sum \text{(Notional Position Size} \times \text{Position MMF)}}{\text{Total Exposure Notional}}

Net Equity

Total net equity value of the account.

Total Collateral Value+Total Unrealized PnL+Unsettled BalancesTotal Borrow Liability\text{Total Collateral Value} + \text{Total Unrealized PnL} + \text{Unsettled Balances} - \text{Total Borrow Liability}

Net Equity Locked

Total equity used to maintain open positions and orders that increase risk.

Initial Margin Fraction×Total Exposure Notional summed across all token market positions\text{Initial Margin Fraction} \times \text{Total Exposure Notional} \text{ summed across all token market positions}

Net Equity Available

Equity available to open new positions.

Net EquityNet Equity Locked\text{Net Equity} - \text{Net Equity Locked}

Account Margin Fraction (MF)

How levered an account is given its current active positions and the mark prices of the coins.

Net EquityTotal Exposure Notional\dfrac{\text{Net Equity}}{\text{Total Exposure Notional}}

Auto Close Margin Fraction

Margin fraction in which account is liquidated against BLPs.

max(Account MMFACMF Divisor,Account MMFACMF Offset)\max \left(\dfrac{\text{Account MMF}}{\text{ACMF Divisor}}, \text{Account MMF} - \text{ACMF Offset}\right)

Mark Price and Index Price

We have fallback logic to calculate the Mark Price. The order of preference is:

  1. 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.

  2. Index price.

  3. Median of the best bid, best offer and last traded price on Backpack.

  4. Mid price (mean of best bid and best offer) on Backpack.

  5. 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