Skip to content

    Multi-Leg Strategy

    verified

    Any 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"
          }
        }
      }
    }