# Option Underlying Historical Statistics

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

  • Description

    Get option underlying historical statistics data, returning daily time series of volume, open interest, and Put/Call ratios for the underlying's options, 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
  • Returns

    Parameter Type Description
    ret RET_CODE Interface call result
    data pandas.DataFrame When ret == RET_OK, returns statistics 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)
      option_volume int Total option volume (call_volume + put_volume)
      call_volume int Call option volume
      put_volume int Put option volume
      put_call_volume_ratio float Put/Call volume ratio
      option_open_interest int Total option open interest
      call_open_interest int Call option open interest (T-1 delayed)
      put_open_interest int Put option open interest (T-1 delayed)
      put_call_open_interest_ratio float Put/Call open interest ratio
      underlying_price float Underlying price
  • 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_statistic(
    '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  option_volume  call_volume  put_volume  put_call_volume_ratio  option_open_interest  call_open_interest  put_open_interest put_call_open_interest_ratio  underlying_price
0  US.AAPL  Apple  2026-06-12  1.781237e+09        1273240       782941      490299               0.626227                     0                   0                  0                          N/A            291.13
1  US.AAPL  Apple  2026-06-11  1.781150e+09         950737       580535      370202               0.637691               5403058             3165108            2237950                     0.707069            295.63
2  US.AAPL  Apple  2026-06-10  1.781064e+09        1734799      1039630      695169               0.668670               5522747             3270454            2252293                     0.688679            291.58
3  US.AAPL  Apple  2026-06-09  1.780978e+09        1715749      1024046      691703               0.675461               5405022             3209586            2195436                     0.684025            290.55
4  US.AAPL  Apple  2026-06-08  1.780891e+09        2179789      1293656      886133               0.684983               5350402             3142828            2207574                     0.702416            301.54
...
1
2
3
4
5
6
7

Rate Limit

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