Skip to main content

Marker Legs

New in v3

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 qty remains 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 on pos_* when marker legs drive logic.
  • For volatility surface exploration, pair marker legs with the Volatility Surface tool and forward‑looking metrics from Options Valuation.