Unless otherwise stated and where applicable, parameters are for both the ETH and BTC markets. All parameters are configurable post launch (via a governance vote) unless otherwise specified.
Portfolio Margin Risk Manager
Account Parameters
| Doc Name | 
Contract Name | 
Value | 
Bounds | 
Description | 
MAX_ACCOUNT_SIZE | 
maxAccountSize | 
64 | 
No bounds | 
This 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_EXPIRIES | 
maxExpiries | 
11 | 
No bounds | 
This is the maximum number of unique expiries that can be held by a single portfolio margined subaccount. Note: perpetuals are not included as an expiry. | 
Portfolio Margin Shock Scenarios
These are the scenarios of various spot and volatility shocks used to compute portfolio margin.
[spot shock as a %, vol shock] where vol shock is +1 for up, -1 for down and 0 for static
[+20, 1], [+15, 1], [+15, 0], [+15, -1], [+10, 1], [+10, 0], [+10, -1], [+5, 1], [+5, 0], [+5, -1], [0, 1], [0, 0], [0, -1], [-5, 1], [-5, 0], [-5, -1], [-10, 1], [-10, 0], [-10, -1], [-15, 1], [-15, 0], [-15, -1], [-20, 1]. 
I.e. all spot shocks from -20% to +20%, increasing in steps of 5%. Up/down/static vol shocks for all scenarios between (and inclusive of) -15% and +15%. Only up/static scenarios for +20% and -20%.
Contingency Margin
| Doc Name | 
Contract Name | 
Value | 
Bounds | 
Description | 
PEG_FACTOR | 
OtherContingencyParameters.pegLossFactor | 
4.0 | 
[0.0, 20.0] | 
Increases the scaling of initial margin when USDC depegs beyond a threshold value. | 
BASE_FACTOR | 
OtherContingencyParameters.basePercent | 
0.03 | 
[0.0, 1.0] | 
This is used to compute the base contingency, simply a small percentage of the spot price. | 
PERP_FACTOR | 
OtherContingencyParameters.perpPercent | 
0.03 | 
[0.0, 1.0] | 
This is used to compute the perp contingency, simply a small percentage of the spot price. | 
OPTION_FACTOR | 
OtherContingencyParameters.optionPercent | 
0.02 | 
[0.0, 1.0] | 
A small percentage of the spot price is added per net short contract per strike to the asset contingency. | 
Volatility Shocks
| Doc Name | 
Contract Name | 
Value | 
Bounds | 
Description | 
VOL_RANGE (up) | 
VolShockParameters.volRangeUp | 
0.6 | 
[0.01, 2.0] | 
Multiplicative scaling of the implied volatility when considering an increase in volatility. | 
VOL_RANGE (down) | 
VolShockParameters.volRangeDown | 
0.3 | 
[0.01, 2.0] | 
Multiplicative scaling of the implied volatility when considering a decrease in volatility. | 
SHORT TERM VEGA_POWER | 
VolShockParameters.shortTermPower | 
0.3 | 
[0.0, 0.5] | 
A power scaling of the multiplicative volatility shock (for short dated expiries). | 
LONG TERM VEGA_POWER | 
VolShockParameters.longTermPower | 
0.13 | 
[0.0, 0.5] | 
A power scaling of the multiplicative volatility shock (for long dated expiries). | 
DTE_FLOOR | 
VolShockParameters.dteFloor | 
1 day | 
[0.01, 100] days | 
A floor on the time-to-expiry used when computing the volatility shock. Avoids divergence arising from dividing by near 0 values. | 
Discounting
| Doc Name | 
Contract Name | 
Value | 
Bounds | 
Description | 
RATE_PARAM_1 | 
MarginParameters.rateMultScale | 
1.0 | 
[0, 5.0] | 
Multiplicative scaling of the risk free rate used when computing the discounting for a long sub-portfolio. | 
RATE_PARAM_2 | 
MarginParameters.rateAddScale | 
0.12 | 
[0, 5.0] | 
Additive scaling of the risk free rate used when computing the discounting for a long sub-portfolio. | 
STATIC_SCALE | 
MarginParameters.baseStaticDiscount | 
0.95 | 
[0.0,1.0] | 
A flat scaling of the sub-portfolio's shocked marked value (only applies if positive). | 
Forward Contingency
| Doc Name | 
Contract Name | 
Value | 
Bounds | 
Description | 
ADD_FACTOR | 
BasisContingencyParameters.basisContAddFactor | 
1.0 | 
[0,5.0] | 
Additive scaling factor when computing the basis contingency | 
MULT_FACTOR | 
BasisContingencyParameters.basisContMultFactor | 
1.2 | 
[0,5.0] | 
Multiplicative scaling factor when computing the basis contingency. | 
UP_SCENARIO_MOVE | 
BasisContingencyParameters.scenarioSpotUp | 
1.05 (i.e. [5%, 0] scenario) | 
[0.0, 2.0] | 
One of the spot shock scenarios used to compute the basis (forward) contingency. | 
DOWN_SCENARIO_MOVE | 
BasisContingencyParameters.scenarioSpotDown | 
0.95 (i.e. [-5%, 0] scenario) | 
[0.0, 1.0] | 
The other scenario used to compute the basis (forward) contingency. | 
Initial Margin and Contingencies