Marker Legs
Marker legs are legs with Qty = 0. They don’t open real positions or affect cash/PnL, but they “mark” specific contracts so you can reference their quotes, greeks, strikes and timing in expressions. This is useful for gating entries, building conditional adjustments, or studying volatility surface dynamics (e.g., skew and concavity) without impacting position greeks.
Behavior
- Leg variables are populated for marker legs (
leg_<name>_price,leg_<name>_iv,leg_<name>_delta, …). - Per‑leg greeks on marker legs represent per‑1‑contract values; the leg’s
qtyremains 0. - Position‑level sums (
pos_delta,pos_theta,pos_vega,pos_gamma,pos_rho,pos_wvega) exclude marker legs. - DTE/DIT/strike/IV are tracked the same way as for regular legs; use them freely in expressions.
- Pricing: under At‑Bid/Ask fill model, marker legs use mid‑price semantics for stability when
qty=0.
See also: Script Engine (leg/position variables) and Options Valuation (forward greeks & solver).
Defining Marker Legs
Add a leg with "Qty": "0" in your structure and select a strike via any strike selector. The leg is resolved (expiration/strike/quotes), but no contracts are opened.
"Legs": [
{
"Name": "marker_call",
"Qty": "0",
"ExpirationName": "front",
"StrikeSelector": {
"Min": 5,
"Max": 15,
"Delta": "10"
},
"OptionType": "Call"
},
{
"Name": "marker_put",
"Qty": "0",
"ExpirationName": "front",
"StrikeSelector": {
"Min": 5,
"Max": 15,
"Delta": "-10"
},
"OptionType": "Put"
}
]
Example Uses
Skew‑gated entry
Use two marker legs to compute a simple skew metric and gate entry.
"Entry": {
"Conditions": [
"abs(leg_marker_call_iv - leg_marker_put_iv) > 2"
]
}
Concavity study
Define three marker legs (OTM‑/ATM/OTM+) and compare IV or vega curvature across strikes. For instance, store an initial curvature snapshot and act on changes later.
"Entry": {
"VarDefines": {
"curv0": "(leg_atm_iv*2 - leg_otm_up_iv - leg_otm_dn_iv)"
}
}
Mark for later entry
Track a target contract with a marker leg, then add the live leg later using the marker’s strike.
"Adjustment": {
"ConditionalAdjustments": {
"underlying_price > leg_marker_put_strike": {
"AddLegsAdjustment": {
"Legs": [
{
"Name": "short_put",
"Qty": "-1",
"ExpirationName": "front",
"StrikeSelector": { "StrikePrice": "leg_marker_put_strike" },
"OptionType": "Put"
}
]
}
}
}
}
Forward evaluation with Options Valuation
Probe a marker leg with the Options Valuation Model at a future anchor or DTE without affecting position sums.
"Entry": {
"VarDefines": {
"m_delta_at_exp": "options.model(leg_marker_call, at_exp, underlying_price, delta)"
}
}
Usage Notes
- Marker leg greeks are visible on the leg variables and excluded from position totals.
- Prefer a clear naming convention (e.g.,
marker_*) and avoid relying onpos_*when marker legs drive logic. - For volatility surface exploration, pair marker legs with the Volatility Surface tool and forward‑looking metrics from Options Valuation.