Skip to content

Option Volatility ​

GET /api/v1.0/quote/{symbol}/option-volatility

Get implied volatility (IV), historical volatility (HV), volatility premium analysis and text analysis for an option contract.

Parameters ​

NameTypeInRequiredDescription
symbolstringpathyesOption contract code (must be an option contract, not an underlying stock code), e.g. HK.TCH260629C470000.
query_time_periodintquerynoQuery time period, default 2. 1=1 week, 2=1 month, 3=3 months, 4=6 months, 5=1 year. See Naming Dictionary.
hv_time_periodintquerynoHistorical volatility period (calendar days), default 30, range 5~250.

Request Example ​

bash
curl 'https://webapi.futunn.com/api/v1.0/quote/HK.TCH260528C230000/option-volatility?query_time_period=2&hv_time_period=30' | jq

Response Fields ​

Returns data.item_list[] (time series) + data.extra (period summary).

data.item_list[] each data point:

FieldTypeDescription
timestampint64Data time (millisecond timestamp).
implied_volatilityfloatImplied volatility (percentage, e.g. 28.391 means 28.391%).
history_volatilityfloatHistorical volatility (percentage).
volatility_premiumfloatVolatility premium (IV - HV, percentage).

data.extra period summary:

FieldTypeDescription
average_impvolfloatPeriod average implied volatility (percentage).
impvol_statusstringVolatility analysis status: FLUCTUATING / OVERVALUED / UNDERVALUED.
analysisstringVolatility analysis text, multi-line separated by \n.

Supported Markets ​

  • Supported markets: HK / US / JP equity options + HK / US index options.
  • Only option contract codes are accepted as input; passing an underlying stock code returns invalid_parameter.
  • Time series length is limited by query_time_period.

Error Codes ​

ret_codeerror.codeTrigger ScenarioSuggested Handling
0—Success—
-3invalid_parameterPassed underlying stock code instead of option contract / query_time_period not in 1-5 / hv_time_period not in 5-250Correct request and retry; symbol must be an option contract code
-7invalid_symbolsymbol format invalid or backend cannot recognize this contractVerify contract code validity via option chain API
-10no_dataBackend has no volatility data (contract suspended / insufficient data / IV price is 0)Try different contract / different query_time_period and retry
-4internal_errorBackend internal errorRetry; if persistent, contact backend team

Response Example ​

json
{
  "ret_code": 0,
  "data": {
    "item_list": [
      {
        "timestamp": 1777910400000,
        "implied_volatility": 28.391,
        "history_volatility": 32.105,
        "volatility_premium": -3.714
      }
    ],
    "extra": {
      "average_impvol": 28.389,
      "impvol_status": "FLUCTUATING",
      "analysis": "For 90.00% of the time in the recent 1 month, the IV is greater than the HV..."
    }
  }
}