# 获取期权链

# get_option_chain

get_option_chain(code, index_option_type=IndexOptionType.NORMAL, start=None, end=None, option_type=OptionType.ALL, option_cond_type=OptionCondType.ALL, data_filter=None)

  • 介绍

    通过标的股票查询期权链。此接口仅返回期权链的静态信息,如需获取报价或摆盘等动态信息,请用此接口返回的股票代码,自行 订阅 所需要的类型。

  • 参数

    参数 类型 说明
    code str 标的股票代码
    index_option_type IndexOptionType 指数期权类型
    start str 开始日期,该日期指到期日
    end str 结束日期(包括这一天),该日期指到期日
    option_type OptionType 期权看涨看跌类型
    option_cond_type OptionCondType 期权价内外类型
    data_filter OptionDataFilter 数据筛选条件
    • start 和 end 的组合如下:

      Start 类型 End 类型 说明
      str str start 和 end 分别为指定的日期
      None str start 为 end 往前 30 天
      str None end 为 start 往后30天
      None None start 为当前日期,end 往后 30 天
    • OptionDataFilter 字段如下

      字段 类型 说明
      implied_volatility_min float 隐含波动率过滤起点
      implied_volatility_max float 隐含波动率过滤终点
      delta_min float 希腊值 Delta 过滤起点
      delta_max float 希腊值 Delta 过滤终点
      gamma_min float 希腊值 Gamma 过滤起点
      gamma_max float 希腊值 Gamma 过滤终点
      vega_min float 希腊值 Vega 过滤起点
      vega_max float 希腊值 Vega 过滤终点
      theta_min float 希腊值 Theta 过滤起点
      theta_max float 希腊值 Theta 过滤终点
      rho_min float 希腊值 Rho 过滤起点
      rho_max float 希腊值 Rho 过滤终点
      net_open_interest_min float 净未平仓合约数过滤起点
      net_open_interest_max float 净未平仓合约数过滤终点
      open_interest_min float 未平仓合约数过滤起点
      open_interest_max float 未平仓合约数过滤终点
      vol_min float 成交量过滤起点
      vol_max float 成交量过滤终点
  • 返回

    参数 类型 说明
    ret RET_CODE 接口调用结果
    data pd.DataFrame 当 ret == RET_OK,返回期权链数据
    str 当 ret != RET_OK,返回错误描述
    • 期权链数据格式如下:
      字段 类型 说明
      code str 股票代码
      name str 名字
      lot_size int 每手股数,期权表示每份合约股数
      stock_type SecurityType 股票类型
      option_type OptionType 期权类型
      stock_owner str 标的股
      strike_time str 行权日
      strike_price float 行权价
      suspension bool 是否停牌
      stock_id int 股票 ID
      index_option_type IndexOptionType 指数期权类型
  • Example

from futu import *
import time
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)
ret1, data1 = quote_ctx.get_option_expiration_date(code='HK.00700')

filter1 = OptionDataFilter()
filter1.delta_min = 0
filter1.delta_max = 0.1

if ret1 == RET_OK:
    expiration_date_list = data1['strike_time'].values.tolist()
    for date in expiration_date_list:
        ret2, data2 = quote_ctx.get_option_chain(code='HK.00700', start=date, end=date, data_filter=filter1)
        if ret2 == RET_OK:
            print(data2)
            print(data2['code'][0])  # 取第一条的股票代码
            print(data2['code'].values.tolist())  # 转为 list
        else:
            print('error:', data2)
        time.sleep(3)
else:
    print('error:', data1)
quote_ctx.close() # 结束后记得关闭当条连接,防止连接条数用尽
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  • Output
                     code                 name  lot_size stock_type option_type stock_owner strike_time  strike_price  suspension  stock_id index_option_type
0     HK.TCH210429C350000   腾讯 210429 350.00100       DRVT        CALL    HK.00700  2021-04-29         350.0       False  80235167               N/A
1     HK.TCH210429P350000   腾讯 210429 350.00100       DRVT         PUT    HK.00700  2021-04-29         350.0       False  80235247               N/A
2     HK.TCH210429C360000   腾讯 210429 360.00100       DRVT        CALL    HK.00700  2021-04-29         360.0       False  80235163               N/A
3     HK.TCH210429P360000   腾讯 210429 360.00100       DRVT         PUT    HK.00700  2021-04-29         360.0       False  80235246               N/A
4     HK.TCH210429C370000   腾讯 210429 370.00100       DRVT        CALL    HK.00700  2021-04-29         370.0       False  80235165               N/A
5     HK.TCH210429P370000   腾讯 210429 370.00100       DRVT         PUT    HK.00700  2021-04-29         370.0       False  80235248               N/A
HK.TCH210429C350000
['HK.TCH210429C350000', 'HK.TCH210429P350000', 'HK.TCH210429C360000', 'HK.TCH210429P360000', 'HK.TCH210429C370000', 'HK.TCH210429P370000']
...
                   code                name  lot_size stock_type option_type stock_owner strike_time  strike_price  suspension  stock_id index_option_type
0   HK.TCH220330C490000  腾讯 220330 490.00100       DRVT        CALL    HK.00700  2022-03-30         490.0       False  80235143               N/A
1   HK.TCH220330P490000  腾讯 220330 490.00100       DRVT         PUT    HK.00700  2022-03-30         490.0       False  80235193               N/A
2   HK.TCH220330C500000  腾讯 220330 500.00100       DRVT        CALL    HK.00700  2022-03-30         500.0       False  80233887               N/A
3   HK.TCH220330P500000  腾讯 220330 500.00100       DRVT         PUT    HK.00700  2022-03-30         500.0       False  80233912               N/A
4   HK.TCH220330C510000  腾讯 220330 510.00100       DRVT        CALL    HK.00700  2022-03-30         510.0       False  80233747               N/A
5   HK.TCH220330P510000  腾讯 220330 510.00100       DRVT         PUT    HK.00700  2022-03-30         510.0       False  80233766               N/A
HK.TCH220330C490000
['HK.TCH220330C490000', 'HK.TCH220330P490000', 'HK.TCH220330C500000', 'HK.TCH220330P500000', 'HK.TCH220330C510000', 'HK.TCH220330P510000']
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

接口限制

  • 每 30 秒内最多请求 10 次获取期权链接口
  • 传入的时间跨度上限为 30 天

提示

  • 此接口不支持查询已过期的期权链,结束日期 参数请输入今天或未来的日期