Multi-Leg Strategy
verifiedAny n-leg option structure with per-leg role, ratio, and net pricing.
Verification note
Generalizes vertical-spread and iron-condor; used by MultiLegBuilder.
Example payload
Realistic wire-shaped payload a conforming producer would emit. Validates against the schema above.
{
"underlying": "AAPL",
"strategy_name": "call debit spread",
"legs": [
{
"side": "CALL",
"action": "BUY_TO_OPEN",
"strike": 235,
"expiry": "2026-09-19",
"ratio": 1,
"role": "LONG_BODY"
},
{
"side": "CALL",
"action": "SELL_TO_OPEN",
"strike": 245,
"expiry": "2026-09-19",
"ratio": 1,
"role": "SHORT_WING"
}
],
"quantity": 5,
"direction": "DEBIT",
"net_price": 3.85,
"breakevens": [
238.85
]
}JSON Schema
draft/2020-12{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rebeltrade.com/options-schema/v0.1/strategies/strategy.multileg.json",
"type": "object",
"required": [
"underlying",
"legs",
"net_price",
"quantity"
],
"properties": {
"underlying": {
"$ref": "https://rebeltrade.com/options-schema/v0.1/types/Ticker.json"
},
"strategy_name": {
"type": "string",
"description": "Human hint (e.g. \"call debit spread\")."
},
"legs": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"required": [
"side",
"action",
"strike",
"expiry",
"ratio"
],
"properties": {
"side": {
"enum": [
"CALL",
"PUT"
]
},
"action": {
"enum": [
"BUY_TO_OPEN",
"SELL_TO_OPEN",
"BUY_TO_CLOSE",
"SELL_TO_CLOSE"
]
},
"strike": {
"type": "number"
},
"expiry": {
"type": "string",
"format": "date"
},
"ratio": {
"type": "integer",
"minimum": 1
},
"role": {
"enum": [
"LONG_WING",
"SHORT_WING",
"LONG_BODY",
"SHORT_BODY",
"CALENDAR_FRONT",
"CALENDAR_BACK"
]
}
}
}
},
"quantity": {
"type": "integer",
"minimum": 1
},
"direction": {
"enum": [
"DEBIT",
"CREDIT"
]
},
"net_price": {
"type": "number"
},
"breakevens": {
"type": "array",
"items": {
"type": "number"
}
}
}
}