---
title: "Solve for the options prices and variable leg of a Defined Outcome Options Index"
method: POST
path: "/helper/solver/defined_outcome"
tags: ["helper"]
---

# Solve for the options prices and variable leg of a Defined Outcome Options Index

`POST /helper/solver/defined_outcome`

## Request

- Base URL: `https://api.merqube.com`
- URL: `https://api.merqube.com/helper/solver/defined_outcome`
- Auth: none declared
- TypeScript: <https://skmtc.dev/merqube/apis/merqube-api/docs/helper/solver/defined_outcome/post.ts> (a function with typed inputs; its response is checked against the schema)

Solve for the options prices and variable leg of a Defined Outcome Options Index

## Request body

- DefinedOutcomeSolverRequest
  - `expiry` ClientDefinedOutcomeExpiry, required
    - `expiry_period_type` 'MONTHS' | 'WEEKS', required
    - `expiry_period_value` number, required
  - `options` ClientDefinedOutcomeOption[], required
    - `exercise_style` 'EUROPEAN' | 'AMERICAN', required
    - `exposure` number
    - `option_type` 'PUT' | 'CALL', required
    - `root` 'SPY' | 'QQQ' | 'IWM' | 'EFA' | 'XIU' | 'TLT' | 'HYG' | 'EEM' | 'LQD' | 'VOO' | 'IVV' | 'SPX' | 'VTWO' | 'BITO' | 'IBIT' | 'MSFT' | 'AMZN' | 'TSLA' | 'META' | 'AAPL' | 'NVDA' | 'GOOGL' | 'GOOG' | 'GLD', required
    - `strike_type` 'DELTA' | 'PCT_SPOT' | 'INCOME', required
    - `strike_value` number, required
    - `trade_type` 'BUY' | 'SELL', required
  - `root` 'SPY' | 'QQQ' | 'IWM' | 'EFA' | 'XIU' | 'TLT' | 'HYG' | 'EEM' | 'LQD' | 'VOO' | 'IVV' | 'SPX' | 'VTWO' | 'BITO' | 'IBIT' | 'MSFT' | 'AMZN' | 'TSLA' | 'META' | 'AAPL' | 'NVDA' | 'GOOGL' | 'GOOG' | 'GLD', required
  - `variable_leg_params` ClientDefinedOutcomeOption
    - `exercise_style` 'EUROPEAN' | 'AMERICAN', required
    - `exposure` number
    - `option_type` 'PUT' | 'CALL', required
    - `root` 'SPY' | 'QQQ' | 'IWM' | 'EFA' | 'XIU' | 'TLT' | 'HYG' | 'EEM' | 'LQD' | 'VOO' | 'IVV' | 'SPX' | 'VTWO' | 'BITO' | 'IBIT' | 'MSFT' | 'AMZN' | 'TSLA' | 'META' | 'AAPL' | 'NVDA' | 'GOOGL' | 'GOOG' | 'GLD', required
    - `strike_type` 'DELTA' | 'PCT_SPOT' | 'INCOME', required
    - `strike_value` number, required
    - `trade_type` 'BUY' | 'SELL', required
  - `variable_leg_strategy` union: The variable leg strategy to use. If not specified, defaults to Cap strategy.
    - object
      - `max_participation` number, required
      - `option` ClientDefinedOutcomeParticipationRateStrategyOption, required
        - `exercise_style` 'EUROPEAN' | 'AMERICAN', required
        - `exposure` number
        - `option_type` 'PUT' | 'CALL', required
        - `root` 'SPY' | 'QQQ' | 'IWM' | 'EFA' | 'XIU' | 'TLT' | 'HYG' | 'EEM' | 'LQD' | 'VOO' | 'IVV' | 'SPX' | 'VTWO' | 'BITO' | 'IBIT' | 'MSFT' | 'AMZN' | 'TSLA' | 'META' | 'AAPL' | 'NVDA' | 'GOOGL' | 'GOOG' | 'GLD', required
        - `strike_type` 'DELTA' | 'PCT_SPOT' | 'INCOME', required
        - `strike_value` number, required
        - `trade_type` 'BUY' | 'SELL', required
      - `strategy` string, required
    - object
      - `min_cap` number, required
      - `strategy` string, required
    - object
      - `strategy` string, required

## Response `200`

OK

- DefinedOutcomeSolverResponse
  - `option_solutions` union[]: Option Price Metrics
    - union
      - OptionPriceMetrics: Option Price Metrics
        - `bid_ask_spread` number, required: Spread between Bid and Ask prices of the option being priced
        - `delta` number, required: Delta of this option
        - `dividend_yield` number, required: Implied Dividend Yield for the underlying
        - `gamma` number, required: Gamma of the option being priced
        - `interest_rate` number, required: Implied Interest Rate
        - `price` number, required: Option Price
        - `spot` number, required: Underlying spot price
        - `theta` number, required: Theta of the option being priced
        - `vega` number, required: Vega of the option being priced
        - `vol` number, required: Implied Volatility
      - unknown
  - `variable_leg_cash_solution` number, float, nullable: Cash solution when Cash strategy is selected
  - `variable_leg_solution` union
    - object: Variable Leg Metrics
      - `exercise_style` 'EUROPEAN' | 'AMERICAN', required
      - `exposure` number
      - `option_type` 'PUT' | 'CALL', required
      - `root` 'SPY' | 'QQQ' | 'IWM' | 'EFA' | 'XIU' | 'TLT' | 'HYG' | 'EEM' | 'LQD' | 'VOO' | 'IVV' | 'SPX' | 'VTWO' | 'BITO' | 'IBIT' | 'MSFT' | 'AMZN' | 'TSLA' | 'META' | 'AAPL' | 'NVDA' | 'GOOGL' | 'GOOG' | 'GLD', required
      - `strike_type` 'DELTA' | 'PCT_SPOT' | 'INCOME', required
      - `strike_value` number, required
      - `trade_type` 'BUY' | 'SELL', required
      - `price` number, required: Option Price
    - object: Variable Leg Metrics
      - `price` number, required: Option Price

## Other responses

- `400`: illegal request body

---

[API](https://skmtc.dev/merqube/apis/merqube-api.md) - [All operations](https://skmtc.dev/merqube/apis/merqube-api/llms.txt) - [OpenAPI document](https://skmtc.dev/merqube/apis/merqube-api/revisions/20f47ca36587?raw)
