QMT Python API

期权数据

获取期权数据

获取指定期权标的对应的期权品种列表

为了获取与指定期权标的相关的期权品种列表,你需要使用此函数操作。根据你的需求,这个过程将需要输入期权标的(如某个公司的股票代码)作为参数,接下来,该函数将返回所有与此期权标的相关的期权品种信息。这样的功能使投资者能够对期权市场有更详尽、全面的掌握,从而做出更科学、合理的投资决策。

方式1:内置python

调用方法

qmt://docs/python
Python
1#encoding:gbk
2def init(ContextInfo):
3 pass
4 
5def after_init(ContextInfo):
6 data=ContextInfo.get_option_undl_data(undl_code_ref)

参数

字段类型说明
undl_code_refstring期权标的代码
  • undl_code_ref:期权标的代码,如'510300.SH',传空字符串时获取全部标的数据

返回

提示

  • 指定期权标的返回的是 列表类型
  • 期权标的为空字符串返回的是 字典类型
qmt://docs/python
Python
1#encoding:gbk
2 
3def init(ContextInfo):
4 ContextInfo.etf_code = "510050.SH"
5
6def after_init(ContextInfo):
7 data=ContextInfo.get_option_undl_data('510300.SH')
8 print(data)
9 

方式2:原生python

调用方法

qmt://docs/python
Python
1from xtquant import xtdata
2xtdata.get_option_undl_data(undl_code_ref)

参数

字段类型说明
undl_code_refstring期权标的代码
  • undl_code_ref:期权标的代码,如'510300.SH',传空字符串时获取全部标的数据

返回

提示

  • 指定期权标的返回的是 列表类型
  • 期权标的为空字符串返回的是 字典类型
qmt://docs/python
Python
1from xtquant import xtdata
2print(xtdata.get_option_undl_data("510300.SH"))
3 

获取历史期权列表

函数能帮助用户获取历史期权列表, 包括某日历史在上交所上市的认购合约和认沽合约, 也包括已经退市的合约。通过这一函数, 投资者可以回溯和分析不同类型合约的历史行为, 对市场变化有更全面的理解, 从而制定出更为稳健和有效的投资策略。

方式1:内置python

调用方法

qmt://docs/python
Python
1#encoding:gbk
2def init(ContextInfo):
3 pass
4 
5def after_init(ContextInfo):
6 ContextInfo.get_option_list(undl_code,dedate,opttype,isavailable)

参数

字段类型说明
undl_codstr期权标的代码
dedatestr期权到期月或当前交易日期,"YYYYMM"格式为期权到期月,"YYYYMMDD"格式为获取当前日期交易的期权
opttypestr期权类型,默认值为空,"CALL","PUT",为空时认购认沽都取
isavailablebool是否可交易,当dedate的格式为"YYYYMMDD"格式为获取当前日期交易的期权时,isavailable为True时返回当前可用,为False时返回当前和历史可用

返回

  • 期权合约列表list

提示

获取历史期权需要下载过期合约列表

qmt://docs/python
Python
1#encoding:gbk
2 
3'''获取到期月份为202101的上交所510300ETF认购合约 '''
4 
5def init(ContextInfo):
6 pass
7 
8def after_init(ContextInfo):
9 # 获取到期月份为202101的上交所510300ETF认购合约
10 data=ContextInfo.get_option_list('510300.SH','202101',"CALL")
11 
12 # 获取20210104当天上交所510300ETF可交易的认购合约
13 #data=ContextInfo.get_option_list('510300.SH','20210104',"CALL",True)
14 
15 #获取20210104当天上交所510300ETF已经上市的认购合约(包括退市)
16 #data=ContextInfo.get_option_list('510300.SH','20210104',"CALL",False)
17 
18 print(data)
19 

方式2:原生python

调用方法

qmt://docs/python
Python
1from xtquant import xtdata
2xtdata.get_option_list(undl_code,dedate,opttype,isavailable)

参数

字段类型说明
undl_codstr期权标的代码
dedatestr期权到期月或当前交易日期,"YYYYMM"格式为期权到期月,"YYYYMMDD"格式为获取当前日期交易的期权
opttypestr期权类型,默认值为空,"CALL","PUT",为空时认购认沽都取
isavailablebool是否可交易,当dedate的格式为"YYYYMMDD"格式为获取当前日期交易的期权时,isavailable为True时返回当前可用,为False时返回当前和历史可用

返回

  • 期权合约列表list

提示

获取历史期权需要下载过期合约列表

qmt://docs/python
Python
1from xtquant import xtdata
2 
3# 获取到期月份为202101的上交所510300ETF认购合约
4data = xtdata.get_option_list('510300.SH','202101',"CALL")
5 
6# 获取20210104当天上交所510300ETF可交易的认购合约
7#data=xtdata.get_option_list('510300.SH','20210104',"CALL",True)
8 
9#获取20210104当天上交所510300ETF已经上市的认购合约(包括退市)
10#data=xtdata.get_option_list('510300.SH','20210104',"CALL",False)
11 
12print(data)
13 

获取指定期权品种的详细信息

该函数能帮助用户获取指定期权品种的详细信息,如期权代码、市场、涨跌停价、期权行权价以及期权行权终止日等关键数据。通过使用此功能,投资者可以快速获取与特定期权品种有关的各项重要信息,更加清楚地理解该期权的具体状况,从而为投资决策提供准确的参考依据。

方法1:内置python

调用方法

qmt://docs/python
Python
1#encoding:gbk
2def init(ContextInfo):
3 pass
4 
5def after_init(ContextInfo):
6 ContextInfo.get_option_detail_data(optioncode)
7 

参数

字段类型说明
optioncodestr期权代码

提示

当填写空字符串时候默认为当前主图的期权品种

返回

字典类型

字段类型说明
ExchangeIDstr期权市场代码
InstrumentIDstr期权代码
ProductIDstr期权标的的产品ID
OpenDate-发行日期
ExpireDate-到期日
PreClosefloat前收价格
SettlementPricefloat前结算价格
UpStopPricefloat当日涨停价
DownStopPricefloat当日跌停价
LongMarginRatiofloat多头保证金率
ShortMarginRatiofloat空头保证金率
PriceTickfloat最小变价单位
VolumeMultipleint合约乘数
MaxMarketOrderVolumeint涨跌停价最大下单量
MinMarketOrderVolumeint涨跌停价最小下单量
MaxLimitOrderVolumeint限价单最大下单量
MinLimitOrderVolumeint限价单最小下单量
OptUnitint期权合约单位
MarginUnitfloat期权单位保证金
OptUndlCodestr期权标的证券代码
OptUndlMarketstr期权标的证券市场
OptExercisePricefloat期权行权价
NeeqExeTypestr全国股转转让类型
OptUndlRiskFreeRatefloat期权标的无风险利率
OptUndlHistoryRatefloat期权标的历史波动率
EndDelivDate-期权行权终止日
optTypestr期权类型
qmt://docs/python
Python
1#encoding:gbk
2def init(ContextInfo):
3 pass
4 
5def after_init(ContextInfo):
6 print(ContextInfo.get_option_detail_data('10002235.SHO'))

方法2:原生python

调用方法

qmt://docs/python
Python
1from xtquant import xtdata
2xtdata.get_option_detail_data(optioncode)
3 

参数

字段类型说明
optioncodestr期权代码

返回

字典类型

字段类型说明
ExchangeIDstr期权市场代码
InstrumentIDstr期权代码
ProductIDstr期权标的的产品ID
OpenDate-发行日期
ExpireDate-到期日
PreClosefloat前收价格
SettlementPricefloat前结算价格
UpStopPricefloat当日涨停价
DownStopPricefloat当日跌停价
LongMarginRatiofloat多头保证金率
ShortMarginRatiofloat空头保证金率
PriceTickfloat最小变价单位
VolumeMultipleint合约乘数
MaxMarketOrderVolumeint涨跌停价最大下单量
MinMarketOrderVolumeint涨跌停价最小下单量
MaxLimitOrderVolumeint限价单最大下单量
MinLimitOrderVolumeint限价单最小下单量
OptUnitint期权合约单位
MarginUnitfloat期权单位保证金
OptUndlCodestr期权标的证券代码
OptUndlMarketstr期权标的证券市场
OptExercisePricefloat期权行权价
NeeqExeTypestr全国股转转让类型
OptUndlRiskFreeRatefloat期权标的无风险利率
OptUndlHistoryRatefloat期权标的历史波动率
EndDelivDate-期权行权终止日
optTypestr期权类型
qmt://docs/python
Python
1from xtquant import xtdata
2print(xtdata.get_option_detail_data('10002235.SHO'))

基于BS模型计算欧式期权理论价格

基于Black-Scholes-Merton模型,输入期权标的价格、期权行权价、无风险利率、期权标的年化波动率、剩余天数、标的分红率、计算期权的理论价格

方法1:内置python

调用方法

qmt://docs/python
Python
1#encoding:gbk
2def init(ContextInfo):
3 pass
4 
5def after_init(ContextInfo):
6 ContextInfo.bsm_price(optionType,objectPrices,strikePrice,riskFree,sigma,days,dividend)

参数

字段类型说明
optionTypestr期权类型,认购:'C',认沽:'P'
objectPricesfloat期权标的价格,可以是价格列表或者单个价格
strikePricefloat期权行权价
riskFreefloat无风险收益率
sigmafloat标的波动率
daysint剩余天数
dividendfloat分红率

返回

提示

  • objectPrices为float时,返回float
  • objectPrices为list时,返回list
  • 计算结果最小值0.0001,结果保留4位小数,输入非法参数返回nan
qmt://docs/python
Python
1#encoding:gbk
2import numpy as np
3 
4 
5def init(ContextInfo):
6 pass
7 
8def after_init(ContextInfo):
9 object_prices=list(np.arange(3,4,0.01));
10 #计算剩余15天的行权价3.5的认购期权,在无风险利率3%,分红率为0,标的年化波动率为23%时标的价格从3元到4元变动过程中期权理论价格序列
11 prices=ContextInfo.bsm_price('C',object_prices,3.5,0.03,0.23,15,0)
12 print(prices)
13 #计算剩余15天的行权价3.5的认购期权,在无风险利率3%,分红率为0,标的年化波动率为23%时标的价格为3.51元的平值期权的理论价格
14 price=ContextInfo.bsm_price('C',3.51,3.5,0.03,0.23,15,0)
15 print(price)
16 

基于BS模型计算欧式期权隐含波动率

基于Black-Scholes-Merton模型,输入期权标的价格、期权行权价、期权现价、无风险利率、剩余天数、标的分红率,计算期权的隐含波动率

方法1:内置python

调用方法

qmt://docs/python
Python
1#encoding:gbk
2def init(ContextInfo):
3 pass
4 
5def after_init(ContextInfo):
6 ContextInfo.bsm_iv(optionType,objectPrices,strikePrice,optionPrice,riskFree,days,dividend)
7 

参数

字段类型说明
optionTypestr期权类型,认购:'C',认沽:'P'
objectPricesfloat期权标的价格,可以是价格列表或者单个价格
strikePricefloat期权行权价
riskFreefloat无风险收益率
sigmafloat标的波动率
daysint剩余天数
dividendfloat分红率

返回

double

qmt://docs/python
Python
1#encoding:gbk
2import numpy as np
3 
4def init(ContextInfo):
5 pass
6 
7def after_init(ContextInfo):
8 # 计算剩余15天的行权价3.5的认购期权,在无风险利率3%,分红率为0时,标的现价3.51元,期权价格0.0725元时的隐含波动率
9 iv=ContextInfo.bsm_iv('C',3.51,3.5,0.0725,0.03,15)
10 print(iv)

期权行情数据

获取期权行情数据

获取期权最新数据,首先需要进行数据订阅。完成合约订阅后,用get_market_data_ex函数即可提取相关信息。这个过程包含两大步骤:第一,通过订阅操作确保能接收到你感兴趣的期权合约的更新;第二,调用get_market_data_ex函数来实际获取并处理这些订阅到的数据,如果需要用到历史数据或过期合约数据,需要使用download_history_data进行下载。这样,使用者就能获得最新和详细的期权数据,有助于做出更精准的投资决策。

调用方法

qmt://docs/python
Python
1# coding=utf-8
2from xtquant import xtdata
3# 下载指定合约历史行情
4xtdata.download_history_data(stock_code, period, start_time='', end_time='')
5# 订阅指定合约行情
6xtdata.subscribe_quote(stock_code, period='', start_time='', end_time='', count=0, callback=None)
7# 等待订阅完成
8time.sleep(1)
9# 获取指定合约行情
10xtdata.get_market_data_ex(field_list = [], stock_list = [], period = '', start_time = '', end_time = '', count = -1, dividend_type = 'none', fill_data = True)

参数

  • xtdata.subscribe_quote
字段类型说明
stock_codestr股票代码
start_timestr开始时间格式YYYYMMDD/YYYYMMDDhhmmss
end_timestr结束时间
countint数量 -1全部/n: 从结束时间向前数n个
periodstr周期 分笔"tick" 分钟线"1m"/"5m" 日线"1d"
  • xtdata.get_market_data_ex
参数名称类型描述
field_listlist表示所有字段。不同的数据周期,取值范围有所不同。
stock_listlist合约代码列表
periodstr数据周期,默认是当前主图周期。可选值如下: 'tick' (分笔线), '1d' (日线), '1m' (1分钟线), '5m' (5分钟线), '15m' (15分钟线), 'l2quote' (Level2行情快照), 'l2quoteaux' (Level2行情快照补充), 'l2order' (Level2逐笔委托), 'l2transaction' (Level2逐笔成交),'l2transactioncount' (Level2大单统计), 'l2orderqueue' (Level2委买委卖队列)
start_timestr开始时间。为空时默认为最早时间。时间格式为'20201231'或'20201231093000'
end_timestr结束时间。为空时默认为最新时间。时间格式为'20201231'或'20201231235959'
countint数据最大个数。-1表示不做个数限制
dividend_typestr复权方式,默认是当前主图复权方式。可选值包括: 'none' (不复权), 'front'(前复权), 'back' (后复权), 'front_ratio' (等比前复权), 'back_ratio' (等比后复权)
fill_databool停牌填充方式

返回值

  • period为1m 5m 1dK线周期时
    • 返回dict { field1 : value1, field2 : value2, ... }
    • value1, value2, ... :pd.DataFrame 数据集,index为stock_list,columns为time_list
    • 各字段对应的DataFrame维度相同、索引相同
  • period为tick分笔周期时
    • 返回dict { stock1 : value1, stock2 : value2, ... }
    • stock1, stock2, ... :合约代码
    • value1, value2, ... :np.ndarray 数据集,按数据时间戳time增序排列
qmt://docs/python
Python
1# coding=utf-8
2from xtquant import xtdata
3# 订阅指定合约最新行情
4xtdata.subscribe_quote('10005329.SHO', period='1d', start_time='', end_time='20231026150000', count=1, callback=None)
5# 下载指定合约历史行情
6xtdata.download_history_data('10005329.SHO',period = "1d") # ETF期权
7xtdata.download_history_data('a2407-C-5200.DF',period = "1d") # 商品期货期权
8xtdata.download_history_data('IO2312-C-3550.IF',period = "1d") # 股指期货期权
9# 获取指定合约历史行情
10day_data = xtdata.get_market_data_ex([], ['10005329.SHO'], period='1d', start_time='20230101', end_time='20231026', count=-1, dividend_type='front', fill_data=True)
11print(day_data)

获取过期期权合约代码

注意

获取过期期权合约代码本质上是通过get_stock_list_in_sector()获取到过期板块内容,所以在使用前,请务必确保已经下载过历史合约信息

  1. 原生python:调用xtdata.download_history_contracts()进行下载

  2. 内置python:在界面端数据管理 - 过期合约数据 - 过期合约列表勾选下载,下载后需要重启客户端生效

内置python

调用方法

qmt://docs/python
Python
1C.get_stock_list_in_sector(sector_name)

参数

字段类型说明
sector_namestring板块名称

返回值

  • list:内含成份股代码,代码形式为 'stockcode.market',如 '000002.SZ'

示例

qmt://docs/python
Python
1#encoding:gbk
2 
3import re
4 
5def init(C):
6 
7 option_code_list1 = get_option_code(C,"IF",data_type = 0) # 获取中金所当前可交易期权合约
8 
9 option_code_list2 = get_option_code(C,"SHO",data_type = 1) # 获取上交所已退市可交易期权合约
10 option_code_list3 = get_option_code(C,"IF",data_type = 2) # 获取 中金所 所有期权(包含历史)合约
11 
12 print(option_code_list1[:5])
13 print("="*20)
14 print(option_code_list2[:5])
15 print("="*20)
16 print(option_code_list3[:5])
17 
18 # 可通过C.get_option_detail_data()查看合约具体信息
19 
20def hanldbar(C):
21 return
22 
23def get_option_code(C,market,data_type = 0):
24 
25 '''
26 
27 ToDo:取出指定market的期权合约
28 
29 Args:
30 market: 目标市场,比如中金所填 IF
31 
32 data_type: 返回数据范围,可返回已退市合约,默认仅返回当前
33 
34 0: 仅当前
35 1: 仅历史
36 2: 历史 + 当前
37
38 '''
39 _history_sector_dict = {
40 "IF":"过期中金所",
41 "SF":"过期上期所",
42 "DF":"过期大商所",
43 "ZF":"过期郑商所",
44 "INE":"过期能源中心",
45 "SHO":"过期上证期权",
46 "SZO":"过期深证期权",
47 }
48 
49 # _now_secotr_dict = {
50 # "IF":"中金所",
51 # "SF":"上期所",
52 # "DF":"大商所",
53 # "ZF":"郑商所",
54 # "INE":"能源中心",
55 # "SHO":"上证期权",
56 # "SZO":"深证期权",
57 # }
58 
59 _sector = _history_sector_dict.get(market)
60 # _now_sector = _now_secotr_dict.get(market)
61 if _sector == None:
62 raise KeyError(f"不存在该市场:{market}")
63 _now_sector = _sector[2:]
64
65
66 # 过期上证和过期深证有专门的板块,不需要处理
67 if market == "SHO" or market == "SZO":
68 if data_type == 0:
69 _list = C.get_stock_list_in_sector(_now_sector)
70 elif data_type == 1:
71 _list = C.get_stock_list_in_sector(_sector)
72 elif data_type == 2:
73 _list = C.get_stock_list_in_sector(_sector) + C.get_stock_list_in_sector(_now_sector)
74 else:
75 raise KeyError(f"data_type参数错误:{data_type}")
76 return _list
77
78 # 期货期权需要额外处理
79 if data_type == 0:
80 all_list = C.get_stock_list_in_sector(_now_sector)
81 elif data_type == 1:
82 all_list = C.get_stock_list_in_sector(_sector)
83 elif data_type == 2:
84 all_list = C.get_stock_list_in_sector(_sector) + C.get_stock_list_in_sector(_now_sector)
85 else:
86 raise KeyError(f"data_type参数错误:{data_type}")
87
88 _list = []
89 pattern1 = r'^[A-Z]{2}\d{4}-[A-Z]-\d{4}\.[A-Z]+$'
90 pattern2 = r'^[a-zA-Z]+\d+[a-zA-Z]\d+\.[A-Z]+$'
91 pattern3 = r'^[a-zA-Z]+\d+-[a-zA-Z]-\d+\.[A-Z]+$'
92 for i in all_list:
93 if re.match(pattern1,i):
94 _list.append(i)
95 elif re.match(pattern2,i):
96 _list.append(i)
97 elif re.match(pattern3,i):
98 _list.append(i)
99 # _list =[i for i in all_list if re.match(pattern, i)]
100 return _list
101 
102 

原生Python

调用方法

qmt://docs/python
Python
1# coding=utf-8
2from xtquant import xtdata
3xtdata.get_stock_list_in_sector(sector_name)
4 

参数

字段类型说明
sector_namestring板块名称

返回值

  • list:内含成份股代码,代码形式为 'stockcode.market',如 '000002.SZ'

示例

qmt://docs/python
Python
1from xtquant import xtdata
2import re
3 
4 
5def get_option_code(market,data_type = 0):
6 
7 '''
8 
9 ToDo:取出指定market的期权合约
10 
11 Args:
12 market: 目标市场,比如中金所填 IF
13 
14 data_type: 返回数据范围,可返回已退市合约,默认仅返回当前
15 
16 0: 仅当前
17 1: 仅历史
18 2: 历史 + 当前
19
20 '''
21 _history_sector_dict = {
22 "IF":"过期中金所",
23 "SF":"过期上期所",
24 "DF":"过期大商所",
25 "ZF":"过期郑商所",
26 "INE":"过期能源中心",
27 "SHO":"过期上证期权",
28 "SZO":"过期深证期权",
29 }
30 
31 # _now_secotr_dict = {
32 # "IF":"中金所",
33 # "SF":"上期所",
34 # "DF":"大商所",
35 # "ZF":"郑商所",
36 # "INE":"能源中心",
37 # "SHO":"上证期权",
38 # "SZO":"深证期权",
39 # }
40 
41 _sector = _history_sector_dict.get(market)
42 # _now_sector = _now_secotr_dict.get(market)
43 if _sector == None:
44 raise KeyError(f"不存在该市场:{market}")
45 _now_sector = _sector[2:]
46
47
48 # 过期上证和过期深证有专门的板块,不需要处理
49 if market == "SHO" or market == "SZO":
50 if data_type == 0:
51 _list = xtdata.get_stock_list_in_sector(_now_sector)
52 elif data_type == 1:
53 _list = xtdata.get_stock_list_in_sector(_sector)
54 elif data_type == 2:
55 _list = xtdata.get_stock_list_in_sector(_sector) + xtdata.get_stock_list_in_sector(_now_sector)
56 else:
57 raise KeyError(f"data_type参数错误:{data_type}")
58 return _list
59
60 # 期货期权需要额外处理
61 if data_type == 0:
62 all_list = xtdata.get_stock_list_in_sector(_now_sector)
63 elif data_type == 1:
64 all_list = xtdata.get_stock_list_in_sector(_sector)
65 elif data_type == 2:
66 all_list = xtdata.get_stock_list_in_sector(_sector) + xtdata.get_stock_list_in_sector(_now_sector)
67 else:
68 raise KeyError(f"data_type参数错误:{data_type}")
69
70 _list = []
71 pattern1 = r'^[A-Z]{2}\d{4}-[A-Z]-\d{4}\.[A-Z]+$'
72 pattern2 = r'^[a-zA-Z]+\d+[a-zA-Z]\d+\.[A-Z]+$'
73 pattern3 = r'^[a-zA-Z]+\d+-[a-zA-Z]-\d+\.[A-Z]+$'
74 for i in all_list:
75 if re.match(pattern1,i):
76 _list.append(i)
77 elif re.match(pattern2,i):
78 _list.append(i)
79 elif re.match(pattern3,i):
80 _list.append(i)
81 # _list =[i for i in all_list if re.match(pattern, i)]
82 return _list
83 
84 
85if __name__ == "__main__":
86 xtdata.download_history_contracts() # 下载历史合约信息
87 
88 option_code_list1 = get_option_code("IF",data_type = 0) # 获取中金所当前可交易期权合约
89 
90 option_code_list2 = get_option_code("SHO",data_type = 1) # 获取上交所已退市可交易期权合约
91 option_code_list3 = get_option_code("IF",data_type = 2) # 获取 中金所 所有期权(包含历史)合约
92 
93 print(option_code_list1[:5])
94 print("="*20)
95 print(option_code_list2[:5])
96 print("="*20)
97 print(option_code_list3[:5])
98 
99 # 可通过xtdata.get_option_detail_data()查看合约具体信息
100 
101 

获取期权全推数据

获取全推tick数据的函数是用户主动调用的工具。所谓"全推tick数据",指的是以tick(最小报价单位)为单位的实时市场数据,包括每一笔交易的信息,如成交金额、成交量、收盘价等。通过主动调用这个函数,用户能实时获得最新的市场动态,从而做出及时和准确的投资决策。

调用方法

qmt://docs/python
Python
1# coding=utf-8
2from xtquant import xtdata
3xtdata.get_full_tick(code_list)
4 

参数

字段类型说明
code_listlist合约列表
  • code_list:合约字符串格式, 例如 ['10005331.SHO', '10005332.SHO']

返回值

  • dict 数据集 { stock1 : tick1, stock2 : tick2, ... }, tick字段如下
字段类型说明
timetagstr时间
lastPricefloat最新价
openfloat开盘价
lowfloat最低价
amountfloat成交额
volumeint成交总量(单位:手)
pvolumeint原始成交总量(券商QMT与 volume一致,投研端的单位:股)
openIntint持仓量
stockStatusstr证券状态
lastClosefloat前收盘价
lastSettlementPricefloat前结算价
settlementPricefloat今结算价
askPricelist多档委卖价
bidPricelist多档委买价
askVollist多档委卖量
bidVollist多档委买量
qmt://docs/python
Python
1# coding=utf-8
2from xtquant import xtdata
3ret_full_tick = xtdata.get_full_tick(['10005331.SHO'])
4print(ret_full_tick)

期权VIX指数

VIX指数编制规则

其中:

σ:VIX/100即VIX=σ*100

T:到期时间

F:指数期权价格对应的远期指数水平

K0:低于F的第一个行权价

Ki:第i个虚值期权的行权价格;如果Ki > K0为看涨期权;如果Ki < K0为看跌期权;如果Ki=K0都选

∆Ki:行权价价格————Ki附近行权价差的一半(注:Ki为最低行权价时∆Ki是最低行权价和下一根行权价的差,类似的,∆Ki为最高行权价时,∆Ki是最好行权价和上一个行权价的差)

R:至到期日的无风险利率

Q(Ki):行权价为Ki的每个期权的bid-ask价差的中点

VIX指数合约代码规则

沪深VIX指数

名称VIX指数合约代码
深圳100ETFVIX159901VIX.SZO.VIX
创业板ETFVIX159915VIX.SZO.VIX
沪深300ETFVIX159919VIX.SZO.VIX
中证500ETFVIX159922VIX.SZO.VIX
50ETFVIX510050VIX.SHO.VIX
300ETFVIX510300VIX.SHO.VIX
500ETFVIX510500VIX.SHO.VIX
科创50VIX588000VIX.SHO.VIX
科创板50VIX588080VIX.SHO.VIX

获取VIX指数行情

智能助手

咨询式 AI · 带入当前文档

智能助手加载中...