{
  "tool_id": "options-payoff-builder",
  "slug": "options-payoff-builder",
  "path": "/options-payoff-builder/",
  "mode": "client_side",
  "usage": "Client-side builder. Open https://aifinhub.io/options-payoff-builder/, configure 1\u20134 legs, see payoff diagram + break-evens + aggregated Greeks.",
  "methodology": "https://aifinhub.io/methodology/options-payoff-builder/",
  "sample_input": {
    "tool": "options-payoff-builder",
    "side": "",
    "type": "",
    "strike": 0,
    "contracts": 0,
    "spot": 100,
    "annual_vol": 0.25,
    "days_to_expiry": 30,
    "risk_free_rate": 0.045,
    "dividend_yield": 0,
    "grid_points": 121,
    "spot_range_pct": 0.4,
    "legs": [
      {
        "side": "long",
        "type": "call",
        "strike": 105,
        "contracts": 1
      },
      {
        "side": "short",
        "type": "call",
        "strike": 115,
        "contracts": 1
      }
    ]
  },
  "input_schema": {
    "type": "object",
    "properties": {
      "tool": {
        "type": "string"
      },
      "side": {
        "type": "string"
      },
      "type": {
        "type": "string"
      },
      "strike": {
        "type": "number"
      },
      "contracts": {
        "type": "number"
      },
      "spot": {
        "type": "number"
      },
      "annual_vol": {
        "type": "number"
      },
      "days_to_expiry": {
        "type": "number"
      },
      "risk_free_rate": {
        "type": "number"
      },
      "dividend_yield": {
        "type": "number"
      },
      "grid_points": {
        "type": "number"
      },
      "spot_range_pct": {
        "type": "number"
      }
    },
    "required": [
      "tool",
      "side",
      "type",
      "strike",
      "contracts",
      "spot",
      "annual_vol",
      "days_to_expiry",
      "risk_free_rate",
      "dividend_yield",
      "grid_points",
      "spot_range_pct"
    ]
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "net_premium": {
        "type": "number"
      },
      "max_profit": {
        "type": "number"
      },
      "max_loss": {
        "type": "number"
      },
      "break_evens": {
        "type": "array",
        "items": {
          "type": "number"
        }
      },
      "aggregated_greeks": {
        "type": "object",
        "properties": {
          "delta": {
            "type": "number"
          },
          "gamma": {
            "type": "number"
          },
          "theta_per_day": {
            "type": "number"
          },
          "vega_per_1pct": {
            "type": "number"
          },
          "rho_per_1pct": {
            "type": "number"
          }
        }
      }
    }
  }
}
