Ricequant Docs
  • RQSDK快速上手
  • RQData - 金融数据 API

    • Python API文档
    • Http API文档
  • RQAlpha Plus - 回测框架

    • 使用教程
    • API使用手册 (opens new window)
  • RQFactor - 因子投研工具

    • 使用教程
    • API使用手册
  • RQOptimizer - 股票组合优化器

    • 使用教程
    • API使用手册 (opens new window)
  • RQPAttr - 绩效归因工具

    • 使用教程
  • RQAMS 用户说明文档
  • RQAMSC 说明文档
量化平台文档
米筐帮助中心
返回官网
  • RQSDK快速上手
  • RQData - 金融数据 API

    • Python API文档
    • Http API文档
  • RQAlpha Plus - 回测框架

    • 使用教程
    • API使用手册 (opens new window)
  • RQFactor - 因子投研工具

    • 使用教程
    • API使用手册
  • RQOptimizer - 股票组合优化器

    • 使用教程
    • API使用手册 (opens new window)
  • RQPAttr - 绩效归因工具

    • 使用教程
  • RQAMS 用户说明文档
  • RQAMSC 说明文档
量化平台文档
米筐帮助中心
返回官网
  • RQData金融数据API文档

    • 文档目录
    • 使用说明
    • 跨品种通用API
    • A股
    • 港股(公测版本)
    • 金融、商品期货
    • 金融、商品期权
      • 期权行情数据说明
        • 支持的期权品种
      • options.get_contracts - 筛选期权合约
      • options.get_greeks - 获取期权风险指标
      • options.get_contract_property - 获取期权合约属性(时间序列)
      • options.get_dominant_month - 获取期权主力月份
    • 指数、场内基金
    • 基金
    • 可转债
    • 风险因子
    • 现货
    • 货币市场
    • 宏观经济
    • 一致预期(今日投资合作)
    • 新闻舆情(数库合作)
    • ESG(秩鼎合作)
    • 财务指标数据字典
    • 技术指标数据字典
    • 米筐特色指数
    • 更新履历

# 期权行情数据说明

# 支持的期权品种

国内期权全品种上市以来的日线,分钟线数据,18 年 10 月以来的 tick 数据;国内期权全品种实时 tick 数据和实时分钟数据。具体如下:

# 1、 上海证券交易所

品种 行权方式 上市日期
华夏上证 50ETF 期权 欧式 2015-02-09
华泰沪深 300ETF 期权 欧式 2019-12-23
南方中证 500ETF 期权 欧式 2022-09-19
华夏上证科创板 50ETF 期权 欧式 2023-06-05
易方达上证科创板 50ETF 期权 欧式 2023-06-05

# 2、深圳证券交易所

品种 行权方式 上市日期
嘉实沪深 300ETF 期权 欧式 2019-12-23
易方达创业板 ETF 期权 欧式 2022-09-19
嘉实中证 500ETF 期权 欧式 2022-09-19
易方达深证 100ETF 期权 欧式 2022-12-12

# 3、 上海期货交易所

品种 行权方式 上市日期
铜期权 美式 2018-09-21
天然橡胶期权 美式 2019-01-28
黄金期权 美式 2019-12-20
铝期权 美式 2020-08-10
锌期权 美式 2020-08-10
原油期权 美式 2021-06-21
螺纹钢期权 美式 2022-12-26
白银期权 美式 2022-12-26
合成橡胶期权 美式 2023-07-31
镍期权 美式 2024-09-02
锡期权 美式 2024-09-02
氧化铝期权 美式 2024-09-02
铅期权 美式 2024-09-02

# 4、郑州商品交易所

品种 行权方式 上市日期
白糖期权 美式 2017-04-19
棉花期权 美式 2019-01-28
甲醇期权 美式 2019-12-16
PTA 期权 美式 2019-12-16
动力煤期权 美式 2020-06-30
菜籽粕期权 美式 2021-01-16
菜籽油期权 美式 2022-08-26
花生期权 美式 2022-08-26
对二甲苯期权 美式 2023-09-18
烧碱期权 美式 2023-09-18
纯碱期权 美式 2023-10-20
短纤期权 美式 2023-10-20
锰硅期权 美式 2023-10-20
硅铁期权 美式 2023-10-20
尿素期权 美式 2023-10-20
苹果期权 美式 2023-10-20
红枣期权 美式 2024-06-21
玻璃期权 美式 2024-06-21

# 5、大连商品交易所

品种 行权方式 上市日期
豆粕期权 美式 2017-03-31
玉米期权 美式 2019-01-28
铁矿石期权 美式 2019-12-09
液化石油气期权 美式 2020-03-31
聚乙烯期权 美式 2020-07-06
聚氯乙烯期权 美式 2020-07-06
聚丙烯期权 美式 2020-07-06
棕榈油期权 美式 2021-06-18
黄大豆 1 号期权 美式 2022-08-08
黄大豆 2 号期权 美式 2022-08-08
豆油期权 美式 2022-08-08
乙二醇期权 美式 2023-05-15
苯乙烯期权 美式 2023-05-15
鸡蛋期权 美式 2024-08-23
玉米淀粉期权 美式 2024-08-23
生猪期权 美式 2024-08-23

# 6、中国金融期货交易所

品种 行权方式 上市日期
沪深 300 股指期权 欧式 2019-12-23
中证 1000 股指期权 欧式 2022-07-22
上证 50 股指期权 欧式 2022-12-19

# 7、上海国际能源交易中心

品种 行权方式 上市日期
原油期权 美式 2021-06-21

# 8、广州期货交易所

品种 行权方式 上市日期
工业硅期权 美式 2022-12-23
碳酸锂期权 美式 2023-07-24

# 支持的行情数据频率说明

频率 时间范围 更新频率 支持范围
日行情 2015-至今 交易日盘后更新 国内期权全品种
分钟行情 2015-至今 交易日实时更新 国内期权全品种
tick 行情 2018.10-至今 交易日实时更新 国内期权全品种

# 范例

# 1、获取期权日行情

历史日线数据可通过 API-get_price获取,get_price 参数设置请参考该 API

  • 查询 PTA 期权 TA2005C5200 和 300ETF 期权在 2019 年 12 月 30 日的日度行情数据
[In] get_price(['TA2005C5200','10002117'],'20191230','20191230',expect_df=True)
[Out]
                           strike_price	limit_down	total_turnover	volume	contract_multiplier	low	settlement	limit_up	open_interest	close	high	open	prev_settlement
order_book_id	date
10002117	2019-12-30	3.6	0.037	8613235.0	1834.0	10000.0	0.4187	0.4929	0.8404	1598.0	0.4929	0.505	0.4282	0.4387
TA2005C5200	2019-12-30	NaN	0.500	939550.0	1634.0	NaN	107.5000	115.0000	349.0000	4926.0	113.5000	124.500	114.0000	97.0000
# 2、获取期权分钟行情

历史分钟数据可通过 API-get_price获取,get_price 参数设置请参考该 API

  • 查询 50ETF 期权 10000001 在 2015 年 12 月 12 日分钟行情数据
[In] get_price(['10000001'],'20150212','20150212','1m')
[Out]
	        total_turnover	volume	trading_date	low	open_interest	close	high	open
datetime
2015-02-12 09:31:00	34268.0	16.0	2015-02-12	0.2141	1639.0	0.2143	0.2143	0.2141
2015-02-12 09:32:00	4262.0	2.0	2015-02-12	0.2131	1640.0	0.2131	0.2131	0.2131
2015-02-12 09:33:00	0.0	0.0	2015-02-12	0.2131	1640.0	0.2131	0.2131	0.2131
...
# 3、获取期权 tick 行情

期权合约历史 tick 数据可通过 API-get_price获取,get_price 参数设置请参考该 API

  • 查询 CU 期权 CU1906C49000 在 2018 年 11 月 30 日 tick 行情数据
[In] get_price('CU1906C49000','20181130','20181130','tick')
[Out]
                    trading_date	open	last	high	low	prev_settlement	prev_close	volume	open_interest	total_turnover	...	a2_v	a3_v	a4_v	a5_v	b1_v	b2_v	b3_v	b4_v	b5_v	change_rate
datetime
2018-11-29 20:59:00.500	2018-11-30	0.0	2520.0	0.0	0.0	2520.0	2520.0	0.0	42.0	0.0	...	0.0	0.0	0.0	0.0	1.0	0.0	0.0	0.0	0.0	0.0
2018-11-29 21:00:48.000	2018-11-30	0.0	2520.0	0.0	0.0	2520.0	2520.0	0.0	42.0	0.0	...	0.0	0.0	0.0	0.0	1.0	0.0	0.0	0.0	0.0	0.0
2018-11-29 21:00:52.000	2018-11-30	0.0	2520.0	0.0	0.0	2520.0	2520.0	0.0	42.0	0.0	...	0.0	0.0	0.0	0.0	2.0	0.0	0.0	0.0	0.0	0.0
...
# 4、获取期权实时分钟线

期权实时分钟线可通过API-get_price 与API-current_minute 获取,get_price 与 current_minute 参数设置请参考上述 API

  • 查询 300ETF 期权 10002886 与 10002871 最近的实时分钟线
[In] current_minute(['10002886','10002871'])
[Out]
		close	high	low	open	open_interest	total_turnover	trading_date	volume
order_book_id	datetime
10002886	2021-04-15 11:30:00	0.0255	0.0255	0.0255	0.0255	35599	0.00	20210415	0
10002871	2021-04-15 11:30:00	0.0661	0.0668	0.0661	0.0668	5616	1341.17	20210415	2
  • 查询股指期权 IO2106C3600 实时分钟线
[In]
get_price('IO2106C3600','20210415','20210415','1m')
[Out]
	total_turnover	volume	trading_date	low	open_interest	close	high	open
datetime
2021-04-15 09:31:00	0.0	0.0	2021-04-15	1306.8	41.0	1306.8	1306.8	1306.8
2021-04-15 09:32:00	0.0	0.0	2021-04-15	1306.8	41.0	1306.8	1306.8	1306.8
2021-04-15 09:33:00	0.0	0.0	2021-04-15	1306.8	41.0	1306.8	1306.8	1306.8
2021-04-15 09:34:00	0.0	0.0	2021-04-15	1306.8	41.0	1306.8	1306.8	1306.8
2021-04-15 09:35:00	128720.0	1.0	2021-04-15	1287.2	40.0	1287.2	1287.2	1287.2
...
# 5、获取期权实时 tick 数据

期权实时 tick 数据可通过API-get_price、API-current_snapshot、API-get_live_ticks获取,具体参数设置请参考上述 API

  • 查询 300ETF 期权 10002886 当前快照数据
[In]
current_snapshot(['10002886'])
[Out]
Tick(ask_vols: [70, 42, 3, 10, 10], asks: [0.0224, 0.0225, 0.0227, 0.0228, 0.023], bid_vols: [50, 10, 32, 10, 20], bids: [0.0221, 0.022, 0.0219, 0.0218, 0.0217], datetime: 2021-04-15 14:10:13.350000, high: 0.0265, iopv: nan, last: 0.0224, limit_down: 0.0001, limit_up: 0.3891, low: 0.0195, num_trades: 0, open: 0.0195, open_interest: 36830, order_book_id: 10002886, prev_close: 0.0182, prev_iopv: nan, prev_settlement: 0.018, total_turnover: 1196785.76, trading_phase_code: T 01, volume: 5109)
  • 查询 300ETF 期权 10002875 当天实时 tick 数据
[In]
get_price('10002875','20210415','20210415','tick')
[Out]
	               trading_date	open	last	high	low	prev_settlement	prev_close	volume	open_interest	total_turnover	...	a2_v	a3_v	a4_v	a5_v	b1_v	b2_v	b3_v	b4_v	b5_v	change_rate
datetime
2021-04-15 09:15:00.510	2021-04-15	0.0000	0.2465	0.000	0.0000	0.2465	0.2465	0.0	2418.0	0.00	...	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.000000
2021-04-15 09:15:01.520	2021-04-15	0.0000	0.2465	0.000	0.0000	0.2465	0.2465	0.0	2418.0	0.00	...	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.000000
2021-04-15 09:15:02.020	2021-04-15	0.0000	0.2465	0.000	0.0000	0.2465	0.2465	0.0	2418.0	0.00	...	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.000000
...
  • 查询股指期权 IO2106C3600 在 20210415100101-20210415100102 之间的实时 tick 数据
[In]
get_live_ticks('IO2106C3600',start_dt='20210415100101',end_dt='20210415100103')
[Out]
	                 trading_date	update_time	open	last	high	low	limit_up	limit_down	prev_settlement	prev_close	...	a1_v	a2_v	a3_v	a4_v	a5_v	b1_v	b2_v	b3_v	b4_v	b5_v
order_book_id	datetime
IO2106C3600	2021-04-15 10:01:01.503	2021-04-15	10:01:01.500000	1287.2	1287.2	1287.2	1287.2	1801.6	805.6	1303.6	1306.8	...	7	0	0	0	0	6	0	0	0	0
            2021-04-15 10:01:02.012	2021-04-15	10:01:02	1287.2	1287.2	1287.2	1287.2	1801.6	805.6	1303.6	1306.8	...	7	0	0	0	0	3	0	0	0	0
            2021-04-15 10:01:02.506	2021-04-15	10:01:02.500000	1287.2	1287.2	1287.2	1287.2	1801.6	805.6	1303.6	1306.8	...	7	0	0	0	0	3	0	0	0	0

# options.get_contracts - 筛选期权合约

options.get_contracts(underlying, option_type=None, maturity=None, strike=None, trading_date=None)

# 参数

参数 类型 说明
underlying str 期权标的。可以填写 'M' 代表期货品种的字母;也可填写'M1901' 这种具体合约代码。必须填写,只支持单一品种或合约代码输入
option_type str 'C' 代表认购期权;'P' 代表认沽期权合约。默认返回全部类型
maturity str OR int 到期月份。例如 1811 代表期权 18 年 11 月到期(而不是标的期货的到期时间)。默认返回全部到期月份
strike float 行权价。查询时向左靠档匹配(例如,当前最高行权价是 1000,则输入大于 1000 的行权价都会向左靠档至 1000)。默认返回全部行权价
trading_date str OR int 查询日期。默认返回全部数据

# 返回

返回符合条件的期权 order_book_id list;如果无符合条件期权则返回[] 空 list

# 范例

  • 查询铜期权 2019 年 2 月到期行权价是 52000 的期权
[In] options.get_contracts(underlying='CU', maturity='1902', strike=52000)
[Out]
['CU1903P52000', 'CU1903C52000']
  • 查询 50ETF 期权 2016-11-29 这一天行权价是 2.006 的期权合约
[In] options.get_contracts(underlying='510050.XSHG', strike=2.006, trading_date='20161129')
[Out]
['10000615', '10000620']

# options.get_greeks - 获取期权风险指标

options.get_greeks(order_book_ids, start_date, end_date,fields=None,model='implied_forward',price_type='close',frequency='1d')

# 参数

参数 类型 注释
order_book_ids str 合约代码
start_date str datetime.date, datetime.datetime, pandasTimestamp 查询的开始日期,必须填写
end_date str datetime.date, datetime.datetime, pandasTimestamp 查询的结束日期
model str 计算方法,默认为 'implied_forward'。针对 BS 模型中的标的物远期利率,提供两种计算方法:(1)'last'-以国债同期限收益率作为无风险利率,标的物分红定为 0 计算远期利率;(2)'implied_forward'-基于期权的风险平价关系(put-call parity),推算市场数据隐含的标的物远期利率
fields str OR str list 查询字段,有效值见下方
price_type str 计算使用价格,默认为'close' ,使用期权收盘价计算衍生指标。可选'settlement', 使用期权结算价计算衍生指标
frequency str 数据的频率。 默认为'1d'。
1m - 分钟级别(仅支持股指期货,price_type必须为'close')
1d - 日级别

# 返回

pandas DataFrame

字段 说明
iv 从场内期权价格反推对应的标的物收益波动率(基于 BS 模型计算)
Delta 期权价格对于标的物价格变化的一阶敏感度(基于 BS 模型计算)
Gamma 期权价格对于标的物价格变化的二阶敏感度(基于 BS 模型计算)
Vega 期权价格对于隐含波动率的一阶敏感度(基于 BS 模型计算)
Theta 期权价格对于合约待偿期变化的一阶敏感度,为每日历年的 Theta(基于 BS 模型计算)
Rho 期权价格对于无风险利率变化的一阶敏感度(基于 BS 模型计算)
  • 补充说明 1
    米筐希腊字母均为小数形式。例如,期权 vega=12,当波动率增加 1%时,期权价格会相应增加大约 0.01 * 12 = 0.12。

  • 补充说明 2
    在使用 BS 模型计算隐含波动率和希腊字母时,需要给定 5 个参数:
    行权价(K)、标的物价格(S)、待偿期( t)、期权价格( C),这 4 个参数可从场内期权的合约基础信息或行情数据中获得;
    无风险利率和标的物预期分红率的差值(r-q),该参数无法从合约基础信息或行情数据获得
    上述 r 和 q 的取值决定了隐含波动率和希腊字母的计算结果。目前米筐提供两种计算方案:

    (1)r 取值为同期限国债收益率,q 取值为 0。该方案为业界常见方案,计算结果也和交易所计算结果相近。

    (2) r-q 基于风险平价等式和远期价格定义算得。该方案保证参数取值符合期权风险平价等式,具有更好的理论意义和模型稳定性。具体计算如下:


    认购-认沽期权平价公式如下:

    (C−P)/(F−K)=e−(r−q)∗t(C-P)/(F-K)=e^{-(r-q)*t} (C−P)/(F−K)=e−(r−q)∗t

    其中 C 和 P 分别为认购期权和认沽期权价格;F 和 K 分别为标的物远期价格和行权价。再考虑远期价格定义:

    S/F=e−(r−q)∗tS/F=e^{-(r-q)*t} S/F=e−(r−q)∗t

    其中 S 为标的物价格。联立上述两式可得隐含远期利率:

    r−q=ln(K/(S−(C−P)))/tr-q=ln(K/(S-(C-P)))/t r−q=ln(K/(S−(C−P)))/t

# 范例

  • 查询一个期权的风险指标
In [13]: rq.options.get_greeks('10001739','20190601','20190605',fields=None,model='implied_forward')
Out[13]:
                                  iv     delta     gamma      vega     theta       rho
order_book_id trading_date
10001739      2019-06-03    0.220510 -0.754164  2.076502  0.216619 -0.387216 -0.138543
              2019-06-04    0.231736 -0.778680  1.918539  0.198550 -0.357089 -0.136513
              2019-06-05    0.228281 -0.792963  1.920322  0.186324 -0.321590 -0.132373
  • 查询一组期权的风险指标
In [12]: rq.options.get_greeks(['10001961','10001979'],'20191101','20191105',fields=None,model='implied_forward')
Out[12]:
                                      iv     delta     gamma      vega     theta       rho
order_book_id trading_date
10001961      2019-11-01    1.660567e-01  0.976153  0.415296  0.045758 -0.076153  0.194061
              2019-11-04    1.190082e-01  0.998967  0.037848  0.002673  0.004237  0.176264
              2019-11-05    4.612581e-08  1.000000  0.000000  0.000000 -0.014498  0.168714
10001979      2019-11-01    1.905027e-01  0.981533  0.291578  0.036856 -0.071821  0.191683
              2019-11-04    1.716458e-01  0.994844  0.112385  0.011449 -0.008984  0.172303
              2019-11-05    1.435756e-09  1.000000  0.000000  0.000000 -0.014239  0.165702

查询一个期权的分钟级别风险指标

In [12]: rqdatac.options.get_greeks('IO2412C2800',20240401,20240506,frequency='1m')
Out[12]:
                                             iv     delta     gamma        vega      theta          rho
order_book_id datetime
IO2412C2800   2024-04-01 09:31:00  1.304169e-01  0.980268  0.000121  144.678177  58.190402 -2002.412297
              2024-04-01 09:32:00  1.248750e-01  0.984059  0.000106  120.727735  65.303168 -2014.764372
              2024-04-01 09:33:00  1.206514e-01  0.986700  0.000093  103.369229  70.040171 -2023.243489
              2024-04-01 09:34:00  1.197785e-01  0.987217  0.000091   99.896613  70.949117 -2024.893811
              2024-04-01 09:35:00  7.200824e-08  1.000000  0.000000    0.000000  79.922641 -2058.613823
...                                         ...       ...       ...         ...        ...          ...
              2024-05-06 14:56:00  2.859633e-08  1.000000  0.000000    0.000000  30.778390 -1761.009874
              2024-05-06 14:57:00  1.491064e-08  1.000000  0.000000    0.000000  31.170894 -1761.161984
              2024-05-06 14:58:00  6.724471e-08  1.000000  0.000000    0.000000  31.407937 -1761.253841
              2024-05-06 14:59:00  6.724471e-08  1.000000  0.000000    0.000000  31.407937 -1761.253841
              2024-05-06 15:00:00  2.208110e-08  1.000000  0.000000    0.000000  29.153061 -1760.379859
[5040 rows x 6 columns]

# options.get_contract_property - 获取期权合约属性(时间序列)

options.get_contract_property(order_book_ids, start_date=None, end_date=None, fields=None, market='cn')

获取期权每日合约属性数据,仅支持交易所 ETF 期权

注: 和商品期权不同,ETF 期权执行价、 合约乘数等数据存在因标的分进行调整的情况,详情请参考 ETF 期权合约条款,通过上述 API 可以追踪到它们的变动

# 参数

参数 类型 说明
order_book_ids str or str_list 合约代码
start_date str, datetime.date, datetime.datetime, pandasTimestamp 开始日期
end_date str, datetime.date, datetime.datetime, pandasTimestamp 结束日期
fields str OR str list 字段名称
market str 默认是中国内地市场('cn') 。可选'cn' - 中国内地市场;

# 返回

返回 DataFrame

字段 说明
order_book_id 合约代码
trading_date 交易日
product_name 期权字母简称
symbol 合约简称
contract_multiplier 合约乘数
strike_price 期权行权价

# 范例

  • 查询 ETF 期权 10002752 20210115 到 20210118 之间的合约属性数据
[In] options.get_contract_property(order_book_ids='10002752', start_date='20210115',end_date='20210118')
[Out]
		                contract_multiplier	product_name	strike_price	symbol
order_book_id	trading_date
10002752	2021-01-15	10000.0	510300P2103M04400	4.400	300ETF沽3月4400
          2021-01-18	10132.0	510300P2103A04400	4.343	XD300ETF沽3月4343A
  • 查询 ETF 期权 90000493 和 10002752 在 20210115 -20210118 之间的执行价格数据
[In] options.get_contract_property(order_book_ids=['90000493','10002752'], start_date='20210115',end_date='20210118',fields=['strike_price'])
[Out]
		                      strike_price
order_book_id	trading_date
10002752	    2021-01-15	4.400
              2021-01-18	4.343
90000493	    2021-01-15	4.300
              2021-01-18	4.300

# options.get_dominant_month - 获取期权主力月份

options.get_dominant_month(underlying_symbol, start_date=None, end_date=None, rule=0)

获取商品期权一段时间的主力月份列表。(目前仅支持商品期权)
当同品种其他月份的持仓量与成交量在收盘后超过当前主力月份时,从第二个交易日开始进行主力月份的切换。日内不会进行主力月份的切换。

# 参数

参数 类型 说明
underlying_symbol str or str_list 期权标的代码,例’CU‘
start_date str, datetime.date, datetime.datetime, pandasTimestamp 开始日期
end_date str, datetime.date, datetime.datetime, pandasTimestamp 结束日期
rule int 默认 rule=0,每个月份只能做一次主力月份,不会重复出现。
当 rule=1 时,主力月份的选取只考虑持仓量与成交量条件。

# 返回

返回 Pandas.Series - 主力月份列表

# 范例

  • 查询 CU 期权 2023-07-01 到 2023-07-26 之间的主力月份数据
[In] rqdatac.options.get_dominant_month('CU',20230701,20230726)
[Out]
date
20230703    CU2308
20230704    CU2308
20230705    CU2308
20230706    CU2308
20230707    CU2308
20230710    CU2308
20230711    CU2308
20230712    CU2308
20230713    CU2308
20230714    CU2308
20230717    CU2308
20230718    CU2308
20230719    CU2308
20230720    CU2308
20230721    CU2308
20230724    CU2308
20230725    CU2308
20230726    CU2308
Name: dominant, dtype: object
Last Updated: 11/8/2024, 5:30:24 PM

← 金融、商品期货 指数、场内基金 →