Skip to content

Analyze one caller-supplied combo: max profit/loss ​

POST /api/v1.0/quote/option-strategy-analysis

Analyze one caller-supplied combo: max profit/loss, break-even points, probability of profit, premium, days to expiry, underlying price. Leg shape matches quote.combo_option_quote combo_list[].legs (code / side / quantity); this API analyzes one combo, so combo_list max is 1. Covered / Collar / Customize may include one stock leg to specify side and quantity; the stock must be the option underlying. strategy defaults to Customize=100. P&L curves are not returned. Use quote.combo_option_quote for combo bid/ask. Combo Delta/Theta are not returned. Unlimited maximum profit or loss is returned as null. Realtime quote; login and realtime permission required.

Parameters ​

NameTypeInRequiredDescription
combo_liststringbodyyesCombo list, max 1 combo. Legs in legs[]; at least one option contract. Covered/Collar/Customize may add one underlying stock.
strategyintbodynoStrategy type. 1=SingleOption 2=CoveredCall 3=ProtectivePut 4=SpreadCall 5=SpreadPut 6=Straddle 7=Strangle 8=Collar 9=ButterflyCall 10=ButterflyPut 11=CondorCall 12=CondorPut 13=IronButterfly 14=IronCondor 15=CalendarSpread 16=DiagonalSpread 100=Customize. Defaults to 100

Example ​

bash
curl -X POST 'https://webapi.futunn.com/api/v1.0/quote/option-strategy-analysis' -H 'Content-Type: application/json' -d '{}' \
  -H 'Authorization: Bearer <AccessToken>' | jq

Response parameters ​

NameTypeDescription
data.legsstringEchoed request legs (code / side / quantity)
data.strategyintStrategy type used for analysis; 100 when omitted
data.break_even_pointsnumberBreak-even points (already /1e9)
data.max_profitnumberMax profit (already /1e9); null when unlimited
data.max_lossnumberMax loss magnitude (already /1e9); null when unlimited
data.profit_probabilitynumberProbability of profit (0~1, already /1e9)
data.underlying_pricestringUnderlying price (already /1e9)
data.premiumstringCombo option premium (already /1e9); may be omitted for custom combo price or stock-inclusive strategies
data.days_to_expiryintDays remaining to expiry

Errors ​

ret_codeerror.codeDescription
0—Success
-3invalid_parameterMissing or invalid parameter
-8unsupportedNot supported
-10no_dataNo data

Response example ​

json
{
  "ret_code": 0,
  "ret_msg": "success",
  "data": {
    "legs": "example",
    "strategy": 0,
    "break_even_points": 1.2,
    "max_profit": 1.2,
    "max_loss": 1.2,
    "profit_probability": 1.2,
    "underlying_price": "example",
    "premium": "example",
    "days_to_expiry": 0
  }
}