# Option Underlying Historical Volatility

get_option_underlying_his_volatility(code, index_option_type=IndexOptionType.NORMAL, begin_time=None, end_time=None, page_req_key=None)

  • Description

    Get option underlying historical volatility data, returning daily IV and HV time series along with the underlying's closing price, with pagination support.

  • Parameters

    Parameter Type Description
    code str Underlying stock code
    index_option_type IndexOptionType Index option type
    begin_time str Start date, format 'YYYY-MM-DD'
    end_time str End date, format 'YYYY-MM-DD'
    page_req_key bytes Pagination request key

    Time Range

    • Maximum span between begin_time and end_time is 364 days
    • Both empty: end_time = today, begin_time = today minus 364 days
    • Only begin_time provided: end_time = begin_time plus 364 days
    • Only end_time provided: begin_time = end_time minus 364 days
  • Returns

    Parameter Type Description
    ret RET_CODE Interface call result
    data pandas.DataFrame When ret == RET_OK, returns volatility data
    str When ret != RET_OK, returns error description
    page_req_key bytes Next page key, None indicates no more data
    • Return DataFrame fields:

      Field Type Description
      code str Stock code
      name str Stock name
      time str Trading day time string
      timestamp float Trading day timestamp (Unix seconds)
      iv float Implied volatility (percentage)
      hv float Historical volatility (percentage)
      underlying_price float Underlying closing price (mark price for current day)
  • Example

from futu import *

quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)

ret, data, page_req_key = quote_ctx.get_option_underlying_his_volatility(
    'US.AAPL',
    begin_time='2026-06-01',
    end_time='2026-06-15'
)
if ret == RET_OK:
    print(data)
else:
    print('error:', data)

quote_ctx.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  • Output
      code  name        time     timestamp      iv      hv  underlying_price
0  US.AAPL  Apple  2026-06-12  1.781237e+09  25.126  23.324            291.13
1  US.AAPL  Apple  2026-06-11  1.781150e+09  25.617  23.270            295.63
2  US.AAPL  Apple  2026-06-10  1.781064e+09  27.384  22.892            291.58
3  US.AAPL  Apple  2026-06-09  1.780978e+09  27.237  22.854            290.55
4  US.AAPL  Apple  2026-06-08  1.780891e+09  26.368  19.028            301.54
5  US.AAPL  Apple  2026-06-05  1.780632e+09  26.995  18.024            307.34
6  US.AAPL  Apple  2026-06-04  1.780546e+09  25.249  17.366            311.23
7  US.AAPL  Apple  2026-06-03  1.780459e+09  26.801  18.927            310.26
8  US.AAPL  Apple  2026-06-02  1.780373e+09  26.258  18.415            315.20
9  US.AAPL  Apple  2026-06-01  1.780286e+09  25.864  16.841            306.31
1
2
3
4
5
6
7
8
9
10
11

Rate Limit

  • Maximum 60 requests per 30 seconds (for paginated interfaces, only the first call counts)