Execution Risk Controls
SpiderRock Connect provides a robust framework for parent order arrival validation as well as continual risk assessment and control of child orders generated by our execution engines. This framework allows multiple control parties to simultaneously exert risk control over individual orders as well as risk aggregated at the ticker (product group), account, user, client firm, and supervisory client firm levels.
SpiderRock typically solicits guidance from clients as to the appropriate settings for all of the risk controls under SpiderRock's exclusive control. However, all such guidance is subject to approval by the SpiderRock risk committee.
Risk Controls | Control Level | Description |
---|---|---|
MAR | Account, ClientFirm | These pre-trade limits are compliant with the 15c3-5 SEC Market Access Rule (MAR), which requires broker-dealers to establish parent order-level risk controls. Each trading account is subject to at least one and up to four separate MarRiskControl records. One is under the exclusive control of SpiderRock and is mandatory, one is controlled by the client's sponsoring firm (if any), and the remaining two are under the exclusive control of the client (core- and sub- client firm levels). |
MAR/Ticker | Symbol | Any MAR control party can set ticker-specific MAR limit controls that act to override the more general control levels in the base MAR risk control records. These overrides can be used to set lower (or higher) arrival risk limits for specific tickers. |
Supervisory | Account, Symbol, User | These optional limits are tactical in nature. They enable clients to implement more restrictive controls at the account, symbol, and user level. They are used to both constrain child orders and potentially reject parent orders. |
Soft/Dynamic | Symbol | Soft risk controls are used to establish system wide (all clients, all orders) per-symbol max order size limits and are set dynamically by reference to metrics like average daily trading volume and recent print activity. These limits are typically set to levels that represent the maximum plausible (per symbol) trading size of the largest SpiderRock clients. These risk controls are not editable by clients. |
Global/Override | Symbol | Global risk controls are used to establish system wide per-symbol max order size limits. These limits can override Soft/Dynamic limits and are controlled exclusively by SpiderRock. |
Risk Group | RiskGroupID | These limits are associated with a given Risk Group ID linked to a distinct set of parent orders and dictate the size of the corresponding child orders being created. They can be implemented on expiry risk, symbol/day risk, and RiskGroup aggregate greeks and notional values. Some risk group controls are based on total (day) quantities others on short term (EMA) risk counters. |
Risk Counters
Risk counters are embedded in the SpiderRock Connect Execution Engine and aggregate risk across both executed and open orders. These risk counters, along with associated MAR risk limits, establish a risk control upper bound for all active parent orders. This upper bound is expressed in terms of shares or contracts and represents the most restrictive risk distance between a current risk counter and any applicable risk limits.
These risk counters update each time a child order is created, gets filled, or otherwise changes it's state. This process can be visualized as:
- While SpiderRock Connect's risk controls are fast acting, it may not always be possible to guarantee that risk control upper bounds will not be violated under all circumstances. These controls should be understood as best effort rather than absolute.
Arrival Risk Checks
All new parent orders undergo Arrival Risk Checks to verify that they originate from a recognized client firm and an active SpiderRock Connect account and have been submitted by an authorized user. These orders are then subject to all applicable Global, Soft/Dynamic, MAR, and Supervisory risk controls and are assessed for valid market access and compatibility with client-provided restricted lists.
Parent orders will be rejected if they exceed maximum per parent order size limits, if they would violate any margin limits if executed in full, if their client limit price exceeds collar thresholds (limit price is too far through the current market), or if it is believed that the order cannot be executed (and hedged if auto-hedging is requested) and remain compliant with applicable risk and regulatory controls. For orders (and their associated hedge, if any) this means that locate, short sale, and restricted list checks must all pass.
If a parent order fails the initial order arrival validation, the order is immediately rejected back to the client with a detailed reason for the rejection. Alternatively, if a parent order passes initial validation, it becomes an active parent order prepared for child order generation.
Continuous Risk Size Constraints
SpiderRock Connect will subject all active parent orders (ParentBrokers) to Risk Size Constraints. These risk evaluations are continuously being performed throughout the life of a child order with a maximum child order size constraint derived from all applicable MAR limits, Supervisory limits, and Parent Risk Group controls. Child orders will not be generated that would breach these limits and all active orders are regularly checked against these limits and cancelled if found to be in violation.
While a ParentBroker is active, the current most restrictive risk size limit and the associated metric name are visible in the SpdrParentBrkrState or SpdrMLegBrkrState record associated with the ParentBroker. This value is typically visible on SpiderRock Connect's OMS/EMS tools and via SRSE and MLink.
The most restrictive limit could, any point in time, be from any of the MAR Risk controls, the client supervisory controls, and/or any parent order risk group controls that might be applicable.
MAR and Supervisory Risk Metrics
The MarRiskCounter, SupervisoryRiskCounter and RiskGroupCounter records associated with the above controls are visible in the SpiderRock Connect Portal app and also accessible via SRSE and MLink APIs.
The MarRiskControl, MarRiskControlTkOverride and SupervisoryRiskControl records for this framework can be viewed (and, in some cases, edited) via the same applications.
The SpiderRock Connect risk control framework (counters and controls) utilize the following metrics when determining if parent orders should be accepted and also whether child order sizes should be constrained.
Control Metric | Global | Soft | MAR | MAR.Tk | Supervisory | Description |
---|---|---|---|---|---|---|
orderMaxMargin | X | Maximum (absolute) margin per parent order | ||||
orderMaxStkQty | X | X | X | Shares | ||
orderMaxFutQty | X | X | X | Contracts | ||
orderMaxOptQty | X | X | X | Contracts | ||
orderMaxStkDDelta | X | X | X | X | +/-PnL per 1% price change | |
orderMaxFutDDelta | X | X | X | X | +/-PnL per 1% price change | |
orderMaxOptDDelta | X | X | X | X | +/-PnL per 1% underlier price change | |
stkCollarPct | X | X | X | % through threshold | ||
futCollarPct | X | X | X | % through threshold | ||
optCollarPct | X | X | X | % through threshold | ||
marginLimitAcc | X | Simplified SPAN / TIMMS margin (SOD + trades) | ||||
marginLimitDay | X | Simplified SPAN / TIMMS margin (trade day only) | ||||
openExposureLimit | X | X | Abs Loss per 1% price/underlier change (all open child orders) | |||
maxDayFutnCnBot | X | X | Contracts bought (trade day only) | |||
maxDayFutCnSld | X | X | Contracts sold (trade day only) | |||
maxDayFutCnAbs | X | X | Abs contracts traded (trade day only) | |||
maxAccFutCnAbs | X | X | Abs contract position (SOD + trades) | |||
allowStkOddLots | X | Allow stock odd lots (sub-100 shares) | ||||
allowLimitOnClose | X | Allow stock limit-on-close orders | ||||
allowMarketOnClose | X | Allow stock market-on-close orders | ||||
allowShrtSaleExempt | X | Allow short sale exempt marking | ||||
allowInterMktSweep | X | Allow intermarket (NMS) sweeps | ||||
blockShortSales | X | X | Block all stock short sales | |||
maxDayDDeltaLn | X | Max long $delta (+/- 1% price/uPrc change) | ||||
maxDayDDeltaSh | X | Max short $delta (+/- 1% price/uPrc change) | ||||
maxDayDDeltaAbs | X | Max abs $delta (+/- 1% price/uPrc change) | ||||
maxDayWtVegaLn | X | Max long weighted time vega traded (options only) | ||||
maxDayWtVegaSh | X | Max short weighted time vega traded (options only) | ||||
maxDayWtVegaAbs | X | Max abs weighted time vega traded (options only) | ||||
maxDayNValueLn | X | Max long notional traded | ||||
maxDayNValueSh | X | Max short notional traded | ||||
maxDayNValueAbs | X | Max abs notional trades |
Parent Order Risk Group Metrics
RiskGroup risk controls are created via SpdrParentOrder parameters or with the SpdrRiskGroupControl records which can be uploaded via either SRSE or MLink independently.
SpiderRock Connect's parent order risk groups (counters and controls) utilize the following metrics when determining if or how much child order sizes should be constrained. The counters behind these metrics aggregate all child order activity for all parent orders with a common RiskGroupID + Accnt and then compare to control limits to determine an available size to the control limit. These limits both prevent child orders from being created and/or reduce their size or cancel them if later in violation.
RiskGroup Metric | Description |
---|---|
expDayWtVegaOffset | max acct+symbol day wtVega offset (target) |
maxExpDayWtVegaLn | max accnt+expiration day (time weighted) vega long (positive number; -1=no limit); risk limit = max limit - (current net counter - offset) |
maxExpDayWtVegaSh | max accnt+expiration day (time weighted) vega short (positive number; -1=no limit); risk limit = max limit + (current net counter - offset) |
maxExpDayRMetric6Ln | max acct+expiration day rMetric6 long (positive number; -1=no limit); risk limit = max limit - current net counter |
maxExpDayRMetric6Sh | max acct+expiration day rMetric6 short (positive number; -1=no limit); risk limit = max limit + current net counter |
symDayDDeltaOffset | max acct+symbol day $delta offset (target) |
maxSymDayDDeltaLn | max acct+symbol day $delta long (positive number; -1=no limit); risk limit = max limit - (current net counter - offset) |
maxSymDayDDeltaSh | max acct+symbol day $delta short (positive number; -1=no limit); risk limit = max limit + (current net counter - offset) |
symDayVegaOffset | max acct+symbol day vega offset (target) |
maxSymDayVegaLn | max acct+symbol day vega long (positive number; -1=no limit); risk limit = max limit - (current net counter - offset) |
maxSymDayVegaSh | max acct+symbol day vega short (positive number; -1=no limit); risk limit = max limit + (current net counter - offset) |
symDayWtVegaOffset | max acct+symbol day wtVega offset (target) |
maxSymDayWtVegaLn | max acct+symbol day (time weighted) vega long (positive number; -1=no limit); risk limit = max limit - (current net counter - offset) |
maxSymDayWtVegaSh | max acct+symbol day (time weighted) vega short (positive number; -1=no limit); risk limit = max limit + (current net counter - offset) |
maxSymDayRMetric7Ln | max acct+symbol day rMetric7 long (positive number; -1=no limit); risk limit = max limit - current net counter |
maxSymDayRMetric7Sh | max acct+symbol day rMetric7 short (positive number; -1=no limit); risk limit = max limit + current net counter |
maxGrpDayContractsLn | max acct+riskGroup day opt contracts long (positive number; -1=no limit); risk limit = max limit - current net counter |
maxGrpDayContractsSh | max acct+riskGroup day opt contracts short (positive number; -1=no limit); risk limit = max limit + current net counter |
maxGrpDayContractsAbs | max acct+riskGroup day opt contracts abs (positive number; -1=no limit); risk limit = max limit - abs(current net counter) |
maxGrpDayDDeltaLn | max acct+riskGroup day $delta long (positive number; -1=no limit); risk limit = max limit - current net counter |
maxGrpDayDDeltaSh | max acct+riskGroup day $delta short (positive number; -1=no limit); risk limit = max limit + current net counter |
maxGrpDayVegaLn | max acct+riskGroup day vega long (positive number; -1=no limit); risk limit = max limit - current net counter |
maxGrpDayVegaSh | max acct+riskGroup day vega short (positive number; -1=no limit); risk limit = max limit + current net counter |
maxGrpDayVegaAbs | max acct+riskGroup day vega abs (positive number; -1=no limit); risk limit = max limit - abs(current net counter) |
grpDayVegaRatio | target bot / sld ratio (eg ratio=2.0 means that neutral is bot vega = 2x sld vega) |
maxGrpDayRMetric1Ln | max acct+riskGroup day rMetric1 long (positive number; -1=no limit); risk limit = max limit - current net counter |
maxGrpDayRMetric1Sh | max acct+riskGroup day rMetric1 short (positive number; -1=no limit); risk limit = max limit + current net counter |
maxGrpDayRMetric1Abs | max acct+riskGroup day rMetric1 abs (positive number; -1=no limit); risk limit = max limit - abs(current net counter) |
grpDayRMetric1Ratio | target bot / sld ratio (eg ratio=0.5 means that neutral is bot rMetric1 = 0.5x sld rMetric1) |
maxGrpDayRMetric2Ln | max acct+riskGroup day rMetric2 long (positive number; -1=no limit); risk limit = max limit - current net counter |
maxGrpDayRMetric2Sh | max acct+riskGroup day rMetric2 short (positive number; -1=no limit); risk limit = max limit + current net counter |
maxGrpDayRMetric3Ln | max acct+riskGroup day rMetric3 long (positive number; -1=no limit); risk limit = max limit - current net counter |
maxGrpDayRMetric3Sh | max acct+riskGroup day rMetric3 short (positive number; -1=no limit); risk limit = max limit + current net counter |
maxGrpDayRMetric4Ln | max acct+riskGroup day rMetric4 long (positive number; -1=no limit); risk limit = max limit - current net counter |
maxGrpDayRMetric4Sh | max acct+riskGroup day rMetric4 short (positive number; -1=no limit); risk limit = max limit + current net counter |
maxGrpDayRMetric5Ln | max acct+riskGroup day rMetric5 long (positive number; -1=no limit); risk limit = max limit - current net counter |
maxGrpDayRMetric5Sh | max acct+riskGroup day rMetric5 short (positive number; -1=no limit); risk limit = max limit + current net counter |
accEmaCxlDDeltaLn | max acct 60s EMA $delta long (positive number; ≤ 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches] |
accEmaCxlDDeltaSh | max acct 60s EMA $delta short (positive number; ≤ 0 is no limit) |
accEmaCxlWtVegaLn | max acct 60s EMA wtVega long (positive number; ≤ 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches] |
accEmaCxlWtVegaSh | max acct 60s EMA wtVega short (positive number; ≤ 0 is no limit) |
symEmaCxlDDeltaLn | max acct+symbol 60s EMA $delta long (positive number; ≤ 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches] |
symEmaCxlDDeltaSh | max acct+symbol 60s EMA $delta short (positive number; ≤ 0 is no limit) |
symEmaCxlWtVegaLn | max acct+symbol 60s EMA wtVega long (positive number; ≤ 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches] |
symEmaCxlWtVegaSh | max acct+symbol 60s EMA wtVega short (positive number; ≤ 0 is no limit) |
Risk Dimensions
Risk Margin
SpiderRock Connect’s execution engines calculate simplified client risk margin at the account and day level. These simplified account (Acc) risk margins look at a client’s activity over one trading period in addition to the client’s start-of-day positions (if existing in the system) while trading day (Day) margin considers only the current day’s trading activity. Clients can opt to input their own start-of-day positions or use their positions that SpiderRock Connect knows from the previous day.
For both account and day margins, SpiderRock Connect calculates the margins from four slide points:
Slide Point | Definition |
---|---|
UDn + VDn | Stock, future, or underlying price moves down and volatility moves down |
UDn + VUp | Stock, future, or underlying price moves down and volatility moves up |
UUp + VDn | Stock, future, or underlying price moves up and volatility moves down |
UUp + VUp | Stock, future, or underlying price moves up and volatility moves up |
Margin Slide Increments
The increments used for the margin slides are dependent on which instrument is being traded.
Slide point increments for US NMS instruments are the standard OCC TIMS slide increments. Slides for other instruments are typically the native exchange SPAN slides for the product group.
For stock and future positions, the VDn and VUp move are both zero, and as a result only 2 of the 4 values are unique for stock and future positions.
TIMS margins and the SPAN margins – as provided by an exchange – would normally include a per contact minimum charge and cross product adjustments. SpiderRock Connect's execution engine margins do not include these contract minimums or cross product adjustments. Also, SpiderRock Connect's execution engine margin uses only the two or four end points of the full TIMS/SPAN margin methodologies and not the interior points.
Margin | Price Down | Price Up | Volatility Down | Volatility Up |
---|---|---|---|---|
Stock (NMS Index / Broad-based ETFs) | - 0.08 | + 0.06 | N/A | N/A |
Stock (NMS Equity) | - 0.15 | + 0.15 | N/A | N/A |
Option on Equity (NMS Index / Broad-based ETFs) | - 0.08 | + 0.06 | 0 | 0 |
Option on Equity (NMS Equity) | - 0.15 | + 0.15 | 0 | 0 |
Future | EXCH SPAN | EXCH SPAN | N/A | N/A |
Option on Future | EXCH SPAN | EXCH SPAN | EXCH SPAN | EXCH SPAN |
Option on Future (w/o SPAN) | - 0.15 | + 0.15 | 0 | 0 |
Margin is the loss associated with slide point with the largest loss expressed as a positive number. If all four margin slides are positive (no loss), the margin result will be zero
Margin Calculations
For equities the margin calculation is:
uDnVDn and uDnVUp Slide Points = -uIncDn * shares
uUpVDn and uUpVUp Slide Points = +uIncUp * shareswhere
uIncDn: EquityPrice * PriceDnPct
uIncUp: EquityPrice * PriceUpPctand contracts is either (+) or (-) if long or short.
For futures the margin calculation is:
uDnVDn and uDnVUp Slide Points = -uIncDn * pointValue * contracts
uUpVDn and uUpVUp Slide Points = +uIncUp * pointValue * contractswhere
uIncDn: FuturePrice * PriceDnPct
uIncUp: FuturePrice * PriceUpPctand contracts is either (+) or (-) if long or short.
For options, the margin calculation is:
uDnVDn Slide Point = [ OptionPrice(uPrc - uIncDn, vol - vIncrDn) - OptionPrice(uPrc, vol) ] * pointValue * contracts
uDnVUp Slide Point = [ OptionPrice(uPrc - uIncDn, vol + vIncrUp) - OptionPrice(uPrc, vol) ] * pointValue * contracts
uUpVDn Slide Point = [ OptionPrice(uPrc + uIncUp, vol - vIncrDn) - OptionPrice(uPrc, vol) ] * pointValue * contracts
uUpVUp Slide Point = [ OptionPrice(uPrc + uIncUp, vol + vIncrUp) - OptionPrice(uPrc, vol) ] * pointValue * contractswhere uPrc is the current underlier mid-market level and vol is typically a SpiderRock surface volatility and
uIncDn: uPrc * PriceDnPct
uIncUp: uPrc * PriceUpPctand contracts is either (+) or (-) if long or short.
Margin Netting
To net the margin values at the Supervisory-User risk level, SpiderRock Connect will net margin values across all trades made by a user. To start, values for all four margin slides are calculated for each trade. Next, values for each ticker’s margin slides are computed by summing each slide’s values from all trades for that ticker. The ticker’s live margin value will be the value from the margin slide leading to the largest loss. Finally, the user’s live margin value will be the sum of all individual ticker margin values.
When calculating the Supervisory-Account risk level, SpiderRock Connect will instead net the margin values across all trades within an account. First by computing the largest loss per ticker and then summing across tickers.
Likewise, when netting margin values at the Supervisory-Client Firm risk level, SpiderRock Connect will net margin values across all trades within all accounts under the client firm. Similar to above, client firm margin is computed by summing all individual client firm ticker margins.
For MAR Risk Margin, SpiderRock Connect will use the margin values from the Supervisory-Account risk level.
Open Exposure
SpiderRock Connect's open exposure is computed by summing the absolute dollar delta (value change for +1% change in stock, future, or underlying price) of all open child orders for a given account or client firm. This control acts to prevent new child orders from being generated that would breach the limit but does not cancel existing child orders.
- Please notethat dollar delta is now a 1% change in underlying price instead of a 100% change. This concept is discussed further below in Greeks and Notional Value Controls.
Order Max Controls
SpiderRock Connect takes a multi-layered approach to setting maximum risk protections throughout its system by implementing a platform-enforced limit through Global Risk Control and a client-specific limit through MAR Risk Control. For Global and MAR risk control, the maximums are set for the maximum order size, or maximum DDelta – dollar delta - value. For just Global risk control, an additional maximum is set for order margin.
In Global Risk Control, SpiderRock Connect can set overall maximums that apply throughout the platform and are set on a ticker-based level. Simultaneously, in MAR Risk Control, clients can set their own maximum order restraints and these restraints are set on the ticker level. Any violation of any of these maximum limits will result in a hard rejection of the parent order.
Future Position Max Controls
For futures, per contract position limits are required and are set in the MAR risk controls. These position limits will restrict the maximum contract position by side for an account or client firm. These contract position limits are typically set per product group (eg. @ES, @ZN, @CL, etc.)
Price Control Collars
SpiderRock Connect’s price control collar limits operate as fat finger checks on client supplied parent order limit prices. They can be set individually for stocks, futures, and options and they appear in both MAR Risk Controls and Global Risk Controls. Any violation of these collars will result in a rejection of the parent order on arrival.
Equity Order Permission Controls
Clients can specify permissions for certain order behaviors such as:
• allowing stock orders under 100 shares (odd-lots),
• allowing limit-on-close or market-on-close orders,
• allowing inter market sweeps, and
• blocking short sales.
These permissions are set on a yes or toggle and are found in MAR Risk Controls.
Greeks and Notional Value Controls
Clients have the option to set additional tactical controls in the Supervisory Risk Controls (sometimes referred to as the Spider Risk Controls). These controls are set on the DDelta, wtVega, and notional values and then the long, short, and absolute values of each. A breach of these limits will not result in a rejection of the parent order as with the Global and MAR risk controls but instead will constrain the quantity of any child orders generated to lie within the bounds of the most constrictive limit.
Dollar delta – or DDelta – is measured as the 1% change in the underlying price multiplied by the size.
- IMPORTANT NOTE: In V7, dollar deltas were 100% change in the underlying price. In V8, dollar deltas are based on a 1% change in the underlying price. Therefore, the V7 values are 100x the corresponding V8 values.
Weighted time vega – or WtVega – is measured as the 1% change in the volatility with time normalized to one quarter of a year (0.25 year).
User-Defined Risk Metrics
When submitting a parent order, clients have the option of selecting up to seven additional risk metrics to be applied to their order.
The available standard risk dimensions that can be added are as follows: vega, weighted vega (WVega), weighted time vega (WtVega), time vega (TVega), theta, gamma, delta gamma (DGamma), implied volatility skew-adjusted dollar delta (DDeltaIvS), beta dollar delta (BDDelta), option dollar delta (OptDDelta), premium price, and notional value.
In addition, clients can upload user defined or ‘custom’ greek-like risk values and control limits if necessary.
The limits on any of these risk dimensions can be added through the option order gateway, the SRSE SRTrade.msgRiskGroupControl or SRControl.msgSpdrParentLimit tables, or in the option order ticket blotter on System Viewer (SV).
EMA Cancel Triggers
The EMA cancel triggers part of the risk group controls are an optional symbol-level control on the EMA or exponential moving average of net DDelta or WtVega. If any order in the symbol causes the metric to exceed the limit, then all child option orders in that symbol will be canceled and any current and new parent orders will be placed on risk hold. These risk holds last for typically 60 seconds but can last longer in some cases based on dollar delta counters.
These EMA Cancel triggers are typically used as a safety measure when posting multiple orders simultaneously which helps minimize the damage in the event of getting swept.
In the SpiderRock V7 system Total Open Exposure was calculated as the total account haircut plus 15% of the dollar delta (100% change in underlying price) on open child orders.
Single Security Examples
A few examples of trades and composite portfolios are provided here to give a practical perspective into how risk controls operate within the SpiderRock Connect trading platform. Each example will list the risk controls and the value needed for the trade to pass the associated risk check before getting a rejection or a size constraint. For each risk control there will be more detail provided in the “Comments” column and in the “Calculations” column, there is a description of the calculation used to compute the listed value.
Listed here are some key assumptions made during the calculations of these trade examples:
In all examples, these orders are for a brand-new account with start-of-day positions. Therefore, marginLimitDay and marginLimitAcc are equal.
For each trade, it is the only trade active in the given account. Therefore, openExposureLimit is only greater than zero while the order is active in the marketplace and will return to zero once the trade is complete. Otherwise, if an account has multiple active orders, openExposureLimit will reflect those order states.
For all option order examples, the options are at the money, have 90 days to expiration, and a volatility of 0.15.
Please note that Live Margin Day will equal the most constrictive of the four margin values listed above it. The corresponding risk control field for this value is marginLimitDay in MAR and Supervisory risk controls and orderMaxMargin in Global risk control.
Buy 100 NMS SPY ETF Shares
SPY Shares at 512.00
Risk Control | Value | Comments | Calculations |
---|---|---|---|
Day Margin UDn VDn | -4,096 | uIncDn: -8% | +100 * 512.00 * -0.08 |
Day Margin UDn VUp | -4,096 | uIncDn: -8% | +100 * 512.00 * -0.08 |
Day Margin UUp VDn | +3,072 | uIncUp: +6% | +100 * 512.00 * +0.06 |
Day Margin UUp VUp | +3,072 | uIncUp: +6% | +100 * 512.00 * +0.06 |
Live Margin Day | 4,096 | -1 * MIN(-4,096, -4,096, +3,072, +3,072) | |
Net DDelta | +512 | +100 * 0.01 * 512.00 | |
Absolute DDelta | +512 | ABS(.) | |
Net Notional Value | +51,200 | +100 * 512.00 | |
Absolute Notional Value | +51,200 | ABS(.) |
Buy 100 NMS AAPL Shares
AAPL Shares at 175.00
Risk Control | Value | Comments | Calculations |
---|---|---|---|
Day Margin UDn VDn | -2,625 | uIncDn: -15% | +100 * 175.00 * -0.15 |
Day Margin UDn VUp | -2,625 | uIncDn: -15% | +100 * 175.00 * -0.15 |
Day Margin UUp VDn | +2,625 | uIncUp: +15% | +100 * 175.00 * +0.15 |
Day Margin UUp VUp | +2,625 | uIncUp: +15% | +100 * 175.00 * +0.15 |
Live Margin Day | 2,625 | -1 * MIN(-2,625, -2,625, +2,625, +2,625) | |
Net DDelta | +175 | +100 * 0.01 * 175.00 | |
Absolute DDelta | +175 | ABS(.) | |
Net Notional Value | +17,500 | +100 * 175.00 | |
Absolute Notional Value | +17,500 | ABS(.) |
Buy 1 CME ES Future
Future at 5,215.00
Risk Control | Value | Comments | Calculations |
---|---|---|---|
Day Margin UDn VDn | -11,733 | uIncDn: -4.5% | |
Day Margin UDn VUp | -11,733 | uIncDn: -4.5% | |
Day Margin UUp VDn | +11,733 | uIncUp: +4.5% | |
Day Margin UUp VUp | +11,733 | uIncUp: +4.5% | |
Live Margin Day | +11,733 | -1 * MIN(-11,733, -11,733, +11,733, +11,733) | |
Net DDelta | +2,608 | 1 * 0.01 * 50 * 5,215 | |
Absolute DDelta | +2,608 | ABS(.) | |
Net Notional Value | N/A | ||
Absolute Notional Value | N/A |
Buy 1 CME ZN Future
Future at 110.00
Risk Control | Value | Comments | Calculations |
---|---|---|---|
Day Margin UDn VDn | -2,200 | uIncDn: -2% | |
Day Margin UDn VUp | -2,200 | uIncDn: -2% | |
Day Margin UUp VDn | +2,200 | uIncUp: +2% | |
Day Margin UUp VUp | +2,200 | uIncUp: +2% | |
Live Margin Day | +2,200 | -1 * MIN(-2,200, -2,200, +2,200, +2,200) | |
Net DDelta | +1,100 | 1 * 0.01 * 1,000 * 110 | |
Absolute DDelta | +1,100 | ABS(.) | |
Net Notional Value | N/A | ||
Absolute Notional Value | N/A |
Buy 1 NMS SPX Call
Call Price = 160.78 (underlier at 5,150.00)
Risk Control | Value | Comments | Calculations |
---|---|---|---|
Day Margin UDn VDn | -13,247 | uIncDn: -8% | 1 * 100 * (28.30 - 160.78) Cn * PV * [ OptPrc(uPrc * (1-0.08), vol - 0) - OptPrc(uPrc, vol) ] |
Day Margin UDn VUp | -13,247 | uIncDn: -8% | 1 * 100 * (28.30 - 160.78) Cn * PV * [ OptPrc(uPrc * (1-0.08), vol + 0) - OptPrc(uPrc, vol) ] |
Day Margin UUp VDn | +20,342 | uIncUp: +6% | 1 * 100 * (364.21 - 160.78) Cn * PV * [ OptPrc(uPrc * (1+0.06), vol + 0) - OptPrc(uPrc, vol) ] |
Day Margin UUp VUp | +20,342 | uIncUp: +6% | 1 * 100 * (364.21 - 160.78) Cn * PV * [ OptPrc(uPrc * (1+0.06), vol + 0) - OptPrc(uPrc, vol) ] |
Live Margin Day | +13,247 | -1 * MIN(-13,247, -13,247, +20,342, +20,342) | |
Net DDelta | +2,659 | 1 * 0.01 * 100 * 5,150 * 0.516 Cn * PointValue * Delta | |
Absolute DDelta | +2,659 | ABS(.) | |
Net Vega | +1,069 | 1 * 100 * 10.69 Cn * PointValue * Vega | |
Absolute Vega | +1,069 | ABS (.) | |
Net WtVega | +154 | 1 * 100 * 10.69 * 0.15 * 0.96 Cn * PointValue * Vega * Vol * SQRT(years / 0.25) | |
Absolute WtVega | +154 | ABS(.) | |
Net Notional Value | +16,078 | 1 * 100 * 160.78 Cn * PointValue * Premium | |
Absolute Notional Value | +16,078 | ABS(.) |
Buy 1 CME ES Put
Put Price = 162.44 (underlier at 5,215.00)
Risk Control | Value | Comments | Calculations |
---|---|---|---|
Day Margin UDn VDn | +5,796 | uIncDn: -4.5% vIncDn: -2% | 1 * 100 * (278.36 - 162.44) Cn * PV * [ OptPrc(uPrc * (1-0.045), vol * (1-0.02)) - OptPrc(uPrc, vol) ] |
Day Margin UDn VUp | +8.441 | uIncDn: -4.5% vIncUp: +2% | 1 * 100 * (331.26 - 162.44) Cn * PV * [ OptPrc(uPrc * (1-0.045), vol * (1+0.02)) - OptPrc(uPrc, vol) ] |
Day Margin UUp VDn | -5,776 | uIncUp: +4.5% vIncDn: -2% | 1 * 100 * (46.92 - 162.44) Cn * PV * [ OptPrc(uPrc * (1+0.045), vol * (1-0.02)) - OptPrc(uPrc, vol) ] |
Day Margin UUp VUp | -2,965 | uIncUp: +4.5% vIncUp: +2% | 1 * 100 * (103.14 - 162.44) Cn * PV * [ OptPrc(uPrc * (1+0.045), vol * (1+0.02)) - OptPrc(uPrc, vol) ] |
Live Margin Day | +5,776 | -1 * MIN(+5,796, +8.441, -5,776,-2,965) | |
Net DDelta | -1,263 | 1 * 0.01 * 100 * 5,150 * 0.516 Cn * PointValue * Delta | |
Absolute DDelta | +1,263 | ABS(.) | |
Net Vega | +541 | 1 * 50 * 10.82 Cn * PointValue * Vega | |
Absolute Vega | +541 | ABS (.) | |
Net WtVega | +78 | 1 * 50 * 10.82 * 0.15 * 0.96 Cn * PointValue * Vega * Vol * SQRT(years / 0.25) | |
Absolute WtVega | +78 | ABS(.) | |
Net Notional Value | +8,122 | 1 * 50 * 162.44 Cn * PointValue * Premium | |
Absolute Notional Value | +8,122 | ABS(.) |
Buy 1 CME ZN Put
Put Price = 3.427 (underlier at 110.00)
Risk Control | Value | Comments | Calculations |
---|---|---|---|
Day Margin UDn VDn | -460 | uIncDn: -2% vIncDn: -5% | 1 * 1,000 * (2.9667 - 3.4265) Cn * PV * [ OptPrc(uPrc * (1-0.02), vol * (1-0.05)) - OptPrc(uPrc, vol) ] |
Day Margin UDn VUp | +2,795 | uIncDn: -2% vIncUp: +5% | 1 * 1,000 * (6.2212 - 3.4265) Cn * PV * [ OptPrc(uPrc * (1-0.02), vol * (1+0.05)) - OptPrc(uPrc, vol) ] |
Day Margin UUp VDn | -2,555 | uIncUp: +2% vIncDn: -5% | 1 * 1,000 * (4.1944 - 3.4265) Cn * PV * [ OptPrc(uPrc * (1+0.02), vol * (1-0.05)) - OptPrc(uPrc, vol) ] |
Day Margin UUp VUp | +768 | uIncUp: +2% vIncUp: +5% | 1 * 1,000 * (4.1944 - 3.4265) Cn * PV * [ OptPrc(uPrc * (1+0.02), vol * (1+0.05)) - OptPrc(uPrc, vol) ] |
Live Margin Day | +2,555 | -1 * MIN(-460, +2,795, -2,555, +768) | |
Net DDelta | -533 | 1 * 0.01 * 1,000 * 110 * -0.4844 Cn * PointValue * Delta | |
Absolute DDelta | +533 | ABS(.) | |
Net Vega | +228 | 1 * 1,000 * 0.2283 Cn * PointValue * Vega | |
Absolute Vega | +228 | ABS (.) | |
Net WtVega | +33 | 1 * 1000 * 0.2283 * 0.15 * 0.96 Cn * PointValue * Vega * Vol * SQRT(years / 0.25) | |
Absolute WtVega | +33 | ABS(.) | |
Net Notional Value | +3,427 | 1 * 1,000 * 3.427 Cn * PointValue * Premium | |
Absolute Notional Value | +3,427 | ABS(.) |
Composite Portfolio Examples
In each of the following example portfolios, the trades are done within the same account and the risk values are shown at the account level. All options are at the money, have 90 days to expiration, and a volatility of 0.15.
Buy 1 NMS SPX Call, Buy 1 SPY ETF
SPX Call Price = 160.78 (underlier at 5,150.00), SPY Put Price = 15.93 (underlier at 512.00)
Risk Control | SPX Call Value | SPY Put Value | Combined |
---|---|---|---|
Day Margin UDn VDn | -13,247 | +2,779 | N/A |
Day Margin UDn VUp | -13,247 | +2,779 | N/A |
Day Margin UUp VDn | +20,342 | -1,050 | N/A |
Day Margin UUp VUp | +20,342 | -1,050 | N/A |
Live Margin Day | +13,247 | +1,050 | +14,297 |
Net DDelta | +2,659 | -248 | +2,411 |
Absolute DDelta | +2,659 | +248 | +2,906 |
Net Vega | +1,069 | +106 | +1,175 |
Absolute Vega | +1,069 | +106 | +1,175 |
Net WtVega | +154 | + 15 | +169 |
Absolute WtVega | +154 | +15 | +169 |
Net Notional Value | +16,078 | +1,592 | +17,671 |
Absolute Notional Value | +16,078 | +1,592 | +17,671 |
Buy 1 CME ES Put, Buy 1 NMS SPX Call
ES Put Price = 162.44 (underlier at 5,215), SPX Call Price = 160.78 (underlier at 5,150)
Risk Control | ES Put Value | SPX Call Value | Combined |
---|---|---|---|
Day Margin UDn VDn | +5,796 | -13,247 | N/A |
Day Margin UDn VUp | +8,441 | -13,247 | N/A |
Day Margin UUp VDn | -5,776 | +20,342 | N/A |
Day Margin UUp VUp | -2,965 | +20,342 | N/A |
Live Margin Day | +5,776 | +13,247 | +19,023 |
Net DDelta | -1,263 | +2,659 | +1,396 |
Absolute DDelta | +1,263 | +2,659 | +3,922 |
Net Vega | +541 | +1,069 | +1,610 |
Absolute Vega | +541 | +1,069 | +1,610 |
Net WtVega | +78 | +154 | +232 |
Absolute WtVega | +78 | +154 | +232 |
Net Notional Value | +8,122 | +16,078 | +24,200 |
Absolute Notional Value | +8,122 | +16,078 | +24,200 |
Buy 1 CME ES Put, Buy 1 ES Future
ES Put Price = 162.44, ES Future = 5,215
Risk Control | ES Put Value | ES Future Value | Combined |
---|---|---|---|
Day Margin UDn VDn | +5,796 | -11,733 | -6,004 |
Day Margin UDn VUp | +8,441 | -11,733 | -3,360 |
Day Margin UUp VDn | -5,776 | +11,733 | +6,024 |
Day Margin UUp VUp | -2,965 | +11,733 | +8,835 |
Live Margin Day | N/A | N/A | +6,004 |
Net DDelta | -1,263 | +2,608 | +1,345 |
Absolute DDelta | +1,263 | +2,608 | +3,871 |
Net Vega | +541 | N/A | +541 |
Absolute Vega | +541 | N/A | +541 |
Net WtVega | +78 | N/A | +78 |
Absolute WtVega | +78 | N/A | +78 |
Net Notional Value | +8,122 | +260,750 | +268,872 |
Absolute Notional Value | +8,122 | +260,750 | +268,872 |
Buy 1 CME ZN Put, Buy 1 CME ZN Future
ZN Put Price = 3.427, ZN Future Price = 110.00
Risk Control | ZN Put Value | ZN Future Value | Combined |
---|---|---|---|
Day Margin UDn VDn | -460 | -2,200 | -2,585 |
Day Margin UDn VUp | +2,795 | -2,200 | +670 |
Day Margin UUp VDn | -2,555 | +2,200 | -430 |
Day Margin UUp VUp | +768 | +2,200 | +2,893 |
Live Margin Day | N/A | N/A | +2,893 |
Net DDelta | -533 | +1,100 | +567 |
Absolute DDelta | +533 | +1,100 | +1,633 |
Net Vega | +228 | N/A | +228 |
Absolute Vega | +228 | N/A | +228 |
Net WtVega | +33 | N/A | +33 |
Absolute WtVega | +33 | N/A | +33 |
Net Notional Value | +3,427 | 110,000 | +113,427 |
Absolute Notional Value | +3,427 | 110,000 | +113,427 |
Buy 1 NMS SPX Call, Buy 1 NMS SPX Put
SPX Call Price = 160.78, SPX Put = 160.20, SPX (forward) = 5,150
This composite portfolio example showcases an edge case for Live Margin Day. If all four of your day margin values are positive, the Live Margin Day will default to 0. This is because SpiderRock Connect doesn't use contract minimums.
Risk Control | Call Value | Put Value | Combined |
---|---|---|---|
Day Margin UDn VDn | -13,247 | +27,952 | +14,705 |
Day Margin UDn VUp | -13,247 | +27,952 | +14,705 |
Day Margin UUp VDn | +20,342 | -10,556 | +9.786 |
Day Margin UUp VUp | +20,342 | -10,556 | +9.786 |
Live Margin Day | N/A | N/A | 0 |
Net DDelta | +2,659 | -2492 | +167 |
Absolute DDelta | +2,659 | +2,492 | +5,151 |
Net Vega | +1,069 | +1,069 | +2,138 |
Absolute Vega | +1,069 | +1,069 | +2,138 |
Net WtVega | +154 | +154 | +308 |
Absolute WtVega | +154 | +154 | +308 |
Net Notional Value | +16,078 | +16,020 | +32,098 |
Absolute Notional Value | +16,078 | +16,020 | +32,098 |
Buy 1 SPY ETF Call, Sell 1 SPY ETF Put, Sell 100 NMS SPY ETF Shares
SPY Call Price = 15.98, SPY Put Price = 15.90, SPY ETF = 512.00
Risk Control | SPX Call Value | SPY Put Value | SPY Stock | Combined |
---|---|---|---|---|
Day Margin UDn VDn | -1,317 | -2,779 | +4,096 | 0 |
Day Margin UDn VUp | -1,317 | -2,779 | +4,096 | 0 |
Day Margin UUp VDn | +2,022 | +1,050 | -3,072 | 0 |
Day Margin UUp VUp | +2,022 | +1,050 | -3,072 | 0 |
Live Margin Day | +1,317 | +2,779 | +4,096 | 0 |
Net DDelta | +264 | +248 | -512 | 0 |
Absolute DDelta | +264 | +248 | +512 | +1,024 |
Net Vega | +106 | -106 | N/A | 0 |
Absolute Vega | +106 | +106 | N/A | +212 |
Net WtVega | +15 | -15 | N/A | 0 |
Absolute WtVega | +15 | +15 | N/A | +30 |
Net Notional Value | +1,598 | -1,592 | -51,200 | -51,194 |
Absolute Notional Value | +1,598 | +1,592 | +51,200 | +54,390 |