Documentation

Portfolio Margin Parameters

This page documents the up to date values of all market specific parameters for the portfolio margin manager.

Portfolio Margin Scenarios

These are the scenarios used when computing portfolio margin.

Scenario NumberSpot Shock (%)Volatility Shock
1+20%Up
2+15%Up
3+15%Static
4+15%Down
5+10%Up
6+10%Static
7+10%Down
8+5%Up
9+5%Static
10+5%Down
11+0%Up
12+0%Static
13+0%Down
14-5%Up
15-5%Static
16-5%Down
17-10%Up
18-10%Static
19-10%Down
20-15%Up
21-15%Static
22-15%Down
23-20%Up

Account Details

These parameters govern the size and supported expiries of a PMRM subaccount.

ParameterContract VariableETHBTCRangeDescription
MAX_ACCOUNT_SIZEmaxAccountSize6464No boundsThis is the maximum number of assets (options, cash, base, perpetuals) that can be supported by a single portfolio margined subaccount. This is constrained by gas requirements.
MAX_EXPIRIESmaxExpiries1111No boundsThis is the maximum number of unique expiries that can be held by a single portfolio margined subaccount.

Contingency Margin

These parameters govern various pieces of contingency margin which account for possibilities not encoded in the spot and IV shocks.

ParameterContract VariableETHBTCRangeDescription
PEG_FACTOROtherContingencyParameters.pegLossFactor4.04.0[0.0, 20.0]Increases IM_FACTOR when USDC depegs beyond a threshold value.
BASE_FACTOROtherContingencyParameters.basePercent0.030.03[0.0, 1.0]This is used to compute the base contingency, simply a small percentage (given by BASE_FACTOR) of the spot price.
PERP_FACTOROtherContingencyParameters.perpPercent0.030.03[0.0, 1.0]This is used to compute the perp contingency, simply a small percentage (given by PERP_FACTOR) of the spot price.
OPTION_FACTOROtherContingencyParameters.optionPercent0.020.02[0.0, 1.0]A small percentage (OPTION_FACTOR) of the spot price is added per net short contract per strike to the asset contingency.

Volatility Shocks

These parameters govern the shock IVs used when computing portfolio margin.

ParameterContract VariableETHBTCRangeDescription
VOL_RANGE (up)VolShockParameters.volRangeUp0.60.6[0.01, 2.0]Multiplicative scaling of the implied volatility when considering an increase in volatility.
VOL_RANGE (down)VolShockParameters.volRangeDown0.300.30[0.01, 1.0]Multiplicative scaling of the implied volatility when considering a decrease in volatility.
VEGA_POWER (< 30 DTE)VolShockParameters.shortTermPower0.30.3[0.0, 0.5]A power scaling of the multiplicative volatility shock (for short dated expiries).
VEGA_POWER (> 30 DTE)VolShockParameters.longTermPower0.130.13[0.0, 0.5]A power scaling of the multiplicative volatility shock (for long dated expiries).
DTE_FLOORVolShockParameters.dteFloor1 day1 day[0.01, 100] daysA floor on the time-to-expiry used when computing the volatility shock. Avoids divergence arising from dividing by near 0 values.

Discounting

These parameters govern how long sub-portfolios are discounted.

ParameterContract VariableETHBTCRangeDescription
RATE_PARAM_1MarginParameters.rateMultScale1.01.0[0.0, 5.0]Multiplicative scaling of the risk free rate used when computing the discounting for a long sub-portfolio.
RATE_PARAM_2MarginParameters.rateAddScale0.120.12[0.0, 5.0]Additive scaling of the risk free rate used when computing the discounting for a long sub-portfolio.
STATIC_SCALEMarginParameters.baseStaticDiscount0.950.95[0.0, 1.0]A flat scaling of the sub-portfolio's shocked marked value (only applies if positive).

Forward Contingency

These are parameters that govern the forward contingency. This accounts for forward basis movements against the trader.

ParameterContract VariableETHBTCRangeDescription
ADD_FACTORBasisContingencyParameters.baseContAddFactor1.01.0[0,5.0]Additive scaling factor when computing the basis contingency
MULT_FACTORBasisContingencyParameters.basisContMultFactor1.21.2[0,5.0]Multiplicative scaling factor when computing the basis contingency.
UP_SCENARIO_MOVEBasisContingencyParameters.scenarioSpotUpSpot up 1.05 (IV static)Spot up 1.05 (IV static)N/AOne of the spot shock scenarios used to compute the basis contingency.
DOWN_SCENARIO_MOVEBasisContingencyParameters.scenarioSpotDownSpot down to 0.95 (IV static)Spot down to 0.95 (IV static)N/AThe other scenario used to compute the basis contingency.

Initial Margin and Oracle Contingency

These govern how initial margin is typically defined, as well as circumstances where it may increase due to stable coin depeggings and/or low data confidence.

ParameterContract VariableETHBTCRangeDescription
IM_FACTORMarginParameters.imFactor1.251.25[1.01, 4.0]This scales the maxLoss and contingencies when computing the initial margin for a portfolio margined subaccount.
USDC_THRESHOLDOtherContingencyParameters.pegLossThreshold0.990.99[0.0, 1.05]Value of USDC beneath which the depeg contingency comes into effect.
CONFIDENCE_THRESHOLDOtherContingencyParameters.confThreshold0.550.55[0.0, 1.0]Value of the confidence beneath which the relevant data is considered low confidence (thereby attracting additional initial margin).
CONFIDENCE_SCALEOtherContingencyParameters.confMargin1.01.0[0, 2.0]Percentage of the spot price added when considering the oracle contingency.

Open Interest Caps

Open interest caps on options, base and perpetual instruments.

ParameterContract VariableETHBTCRangeDescription
UNDERLYING_OI_CAPbaseAsset.totalPositionCap75015[0, no upper bound]Maximum open interest of the underlying asset.
OPTION_OI_CAPoption.totalPositionCap2000,000100,000[0, no upper bound]Maximum open interest of options.
PERP_OI_CAPperp.totalPositionCap250,00012,000[0, no upper bound]Maximum open interest of perpetuals.

Fees

These are fees charged by the managers on the protocol layer.

ParameterContract VariableETHBTCRangeDescription
SPOT_FACTORmanager.OIFeeRateBPS0.70 (70%)0.70 (70%)[0, 5.0]Percentage of the spot price charged when the trade increases the open interest.
MIN_OI_FEEminOIFee$800 USDC$800 USDC[0, 800]Minimum fee charged when open interest is increased.