QMT Python API

期权函数

Python获取

获取期权合约列表 — get_option_list(undl_code, dedate, opttype, is_available)

用于查询某期权标的对应的期权合约列表。

语法

qmt://docs/python
Python
1C.get_option_list(undl_code, dedate, opttype, is_available)

参数

参数名类型说明提示
undl_codestr期权标的代码'510300.SH'
dedatestr期权到期月或当前交易日期'YYYYMM' 格式为期权到期月;'YYYYMMDD' 格式为获取当前日期交易的期权
opttypestr期权类型默认值为空,如 'CALL''PUT',为空时认购认沽都取
is_availablebool是否可交易dedate'YYYYMMDD' 格式时:True 返回当前可用,False 返回当前和历史可用

返回

list — 期权合约列表。

⚠️ 提示:如果 dedate 传的是历史月份(已到期合约),需先调用 download_history_contracts() 下载过期合约列表,才能获取到历史期权合约。

示例

qmt://docs/python
Python
1# -*- coding: GBK
2 
3def after_init(C):
4 """
5 获取510050(沪深300ETF)12月份到期的认沽期权(深圳期权)
6 """
7 option_list = C.get_option_list('510050.SH', '202612', 'PUT')
8 print(option_list)

返回

qmt://docs/python
Python
1['10011434.SHO', '10011435.SHO', '10011436.SHO', '10011437.SHO', '10011438.SHO', '10011439.SHO', '10011440.SHO', '10011441.SHO', '10011442.SHO', '10011532.SHO', '10011784.SHO', '10011802.SHO']

获取期权详细信息-get_option_detail_data

语法

qmt://docs/python
Python
1用于查询某期权标的对应的期权合约列表。
2C.get_option_list(undl_code, dedate, opttype, is_available)
3获取指定期权品种的详细信息
4C.get_option_detail_data(option_code)

参数

参数类型说明
option_codestr期权合约代码(带市场后缀),如 '10011869.SHO'(上交所)、'90000001.SZO'(深交所)

返回值

dict — 期权合约信息字典;非期权或代码无效时返回空。

字段类型说明
ExchangeIDstr期权市场代码
InstrumentIDstr期权代码
ProductIDstr期权标的的产品ID
optTypestr期权类型:CALL(认购)/ PUT(认沽)
OpenDatestr发行日期
ExpireDatestr到期日
EndDelivDatestr期权行权终止日
PreClosefloat前收价格
SettlementPricefloat前结算价格
UpStopPricefloat当日涨停价
DownStopPricefloat当日跌停价
PriceTickfloat最小变价单位
OptExercisePricefloat期权行权价
LongMarginRatiofloat多头保证金率
ShortMarginRatiofloat空头保证金率
VolumeMultipleint合约乘数
OptUnitint期权合约单位
MarginUnitfloat期权单位保证金
MaxMarketOrderVolumeint市价单最大下单量
MinMarketOrderVolumeint市价单最小下单量
MaxLimitOrderVolumeint限价单最大下单量
MinLimitOrderVolumeint限价单最小下单量
OptUndlCodestr期权标的证券代码,如 '510300'
OptUndlMarketstr期权标的证券市场,如 'SH'
OptUndlCodeFullstr期权标的完整代码(代码+市场),如 '510300.SH'
OptUndlRiskFreeRatefloat期权标的无风险利率
OptUndlHistoryRatefloat期权标的历史波动率
NeeqExeTypestr全国股转转让类型(沪深期权返回无效占位值,可忽略)

获取期权到期日- get_option_detail_data

示例

qmt://docs/python
Python
1# -*- coding: GBK
2 
3def after_init(C):
4 option_list = C.get_option_list('510050.SH', '202608', 'PUT')
5 print(option_list)
6 # 筛选深圳交易所期权
7 if option_list:
8 for opt_code in option_list:
9 opt_detail = C.get_option_detail_data(opt_code)
10 if opt_detail:
11 print(f" 合约代码: {opt_code}")
12 print(f" 合约名称: {opt_detail.get('InstrumentName', 'N/A')}")
13 print(f" 期权类型: {opt_detail.get('optType', 'N/A')}")
14 print(f" 到期日: {opt_detail.get('ExpireDate', 'N/A')}")
15 print(f" 标的代码: {opt_detail.get('OptUndlCodeFull', 'N/A')}")
16 print(f" 交易所: {opt_detail.get('ExchangeID', 'N/A')}")
17 print("-" * 60)
18 else:
19 print(f"未找到期权合约列表")
20 

示例输出

qmt://docs/python
Python
1 合约代码: 10011820.SHO
2 合约名称: 50ETF沽202673500
3 期权类型: PUT
4 到期日: 20260722
5 标的代码: 510050.SH
6 交易所: SHO

获取期权行权价- get_option_detail_data

示例

qmt://docs/python
Python
1# -*- coding: GBK
2 
3def after_init(C):
4 option_list = C.get_option_list('510050.SH', '202608', 'PUT')
5 print(option_list)
6 # 筛选深圳交易所期权
7 if option_list:
8 for opt_code in option_list:
9 opt_detail = C.get_option_detail_data(opt_code)
10 if opt_detail:
11 print(f" 合约代码: {opt_code}")
12 print(f" 合约名称: {opt_detail.get('InstrumentName', 'N/A')}")
13 print(f" 期权类型: {opt_detail.get('optType', 'N/A')}")
14 print(f" 行权价: {opt_detail.get('OptExercisePrice', 'N/A')}")
15 print(f" 标的代码: {opt_detail.get('OptUndlCodeFull', 'N/A')}")
16 print(f" 交易所: {opt_detail.get('ExchangeID', 'N/A')}")
17 print("-" * 60)
18 else:
19 print(f"未找到期权合约列表")
20 

示例输出

qmt://docs/python
Python
1合约代码: 10011820.SHO
2合约名称: 50ETF沽202673500
3期权类型: PUT
4行权价: 3.5
5标的代码: 510050.SH
6交易所: SHO

获取期权行权日- get_option_detail_data

示例

qmt://docs/python
Python
1# -*- coding: GBK
2 
3def after_init(C):
4 option_list = C.get_option_list('510050.SH', '202608', 'PUT')
5 print(option_list)
6 # 筛选深圳交易所期权
7 if option_list:
8 for opt_code in option_list:
9 opt_detail = C.get_option_detail_data(opt_code)
10 if opt_detail:
11 print(f" 合约代码: {opt_code}")
12 print(f" 合约名称: {opt_detail.get('InstrumentName', 'N/A')}")
13 print(f" 期权类型: {opt_detail.get('optType', 'N/A')}")
14 print(f" 到期日: {opt_detail.get('ExpireDate', 'N/A')}")
15 print(f" 标的代码: {opt_detail.get('OptUndlCodeFull', 'N/A')}")
16 print(f" 交易所: {opt_detail.get('ExchangeID', 'N/A')}")
17 print("-" * 60)
18 else:
19 print(f"未找到期权合约列表")
20

示例输出

qmt://docs/python
Python
1合约代码: 10011820.SHO
2合约名称: 50ETF沽202673500
3期权类型: PUT
4到期日: 20260722
5标的代码: 510050.SH
6交易所: SHO

历史获取希腊值 — get_market_data_ex(period='greekvalue1d')

根据代码获取期权希腊值历史序列(delta/theta/gamma/vega/rho),只读本地数据。

语法

qmt://docs/python
Python
1C.get_market_data_ex(
2 fields, stock_code, period='greekvalue1d',
3 start_time='', end_time='', count=5,
4 dividend_type='follow', fill_data=False, subscribe=False
5)

参数

参数名类型说明提示
fieldslist希腊值字段可选 'delta'/'theta'/'gamma'/'vega'/'rho',可多选
stock_codelist期权合约代码列表['10010994.SHO']
periodstr周期希腊值固定 'greekvalue1d'(日频)
start_timestr开始时间格式 '%Y%m%d',空串=最早
end_timestr结束时间格式 '%Y%m%d',空串=最新
countint条数取最近 N 条,默认 5-1 表示全部
dividend_typestr除权类型默认 'follow',可选值见下方
fill_databool停牌是否填充历史获取用 False,不填充
subscribebool是否订阅数据True:订阅数据(历史+实时);False:不订阅数据(仅历史)

dividend_type 可选值:

  • 'none':不复权;
  • 'front':向前复权;
  • 'back':向后复权;
  • 'front_ratio':等比向前复权;
  • 'back_ratio':等比向后复权;

返回

dict{期权代码: DataFrame},行索引为日期,列为请求的希腊值字段。

根据代码获取期权delta值 — delta

qmt://docs/python
Python
1# coding:gbk
2 
3def after_init(C):
4 s = '10010994.SHO'
5 # 根据代码获取期权delta值(最近5日历史)
6 # 下载历史数据
7 download_history_data(s, 'greekvalue1d','', '', False)
8 data = C.get_market_data_ex(
9 ['delta'], [s], period='greekvalue1d'
10 , start_time='', end_time='', count=5
11 , dividend_type='follow', fill_data=False
12 , subscribe=False
13 )
14 print(data[s])

根据代码获取期权theta值 — theta

qmt://docs/python
Python
1# coding:gbk
2 
3def after_init(C):
4 s = '10010994.SHO'
5 # 根据代码获取期权theta值(最近5日历史)
6 # 下载历史数据
7 download_history_data(s, 'greekvalue1d','', '', False)
8 data = C.get_market_data_ex(
9 ['theta'], [s], period='greekvalue1d'
10 , start_time='', end_time='', count=5
11 , dividend_type='follow', fill_data=False
12 , subscribe=False
13 )
14 print(data[s])

根据代码获取期权gamma值 — gamma

qmt://docs/python
Python
1# coding:gbk
2 
3def after_init(C):
4 s = '10010994.SHO'
5 # 根据代码获取期权gamma值(最近5日历史)
6 # 下载历史数据
7 download_history_data(s, 'greekvalue1d','', '', False)
8 data = C.get_market_data_ex(
9 ['gamma'], [s], period='greekvalue1d'
10 , start_time='', end_time='', count=5
11 , dividend_type='follow', fill_data=False
12 , subscribe=False
13 )
14 print(data[s])

根据代码获取期权vega值 — vega

qmt://docs/python
Python
1# coding:gbk
2 
3def after_init(C):
4 s = '10010994.SHO'
5 # 根据代码获取期权vega值(最近5日历史)
6 # 下载历史数据
7 download_history_data(s, 'greekvalue1d','', '', False)
8 data = C.get_market_data_ex(
9 ['vega'], [s], period='greekvalue1d'
10 , start_time='', end_time='', count=5
11 , dividend_type='follow', fill_data=False
12 , subscribe=False
13 )
14 print(data[s])

根据代码获取期权rho值 — rho

qmt://docs/python
Python
1# coding:gbk
2 
3def after_init(C):
4 s = '10010994.SHO'
5 # 根据代码获取期权rho值(最近5日历史)
6 # 下载历史数据
7 download_history_data(s, 'greekvalue1d','', '', False)
8 data = C.get_market_data_ex(
9 ['rho'], [s], period='greekvalue1d'
10 , start_time='', end_time='', count=5
11 , dividend_type='follow', fill_data=False
12 , subscribe=False
13 )
14 print(data[s])

实时获取希腊值 — get_market_data_ex(subscribe=True)

根据代码获取期权希腊值当日最新值(delta/theta/gamma/vega/rho),并订阅实时推送。

语法

qmt://docs/python
Python
1C.get_market_data_ex(
2 fields, stock_code, period='greekvalue1d',
3 start_time='', end_time='', count=1,
4 dividend_type='follow', fill_data=True, subscribe=True
5)

参数

参数名类型说明提示
fieldslist希腊值字段可选 'delta'/'theta'/'gamma'/'vega'/'rho',可多选
stock_codelist期权合约代码列表['10010994.SHO']
periodstr周期希腊值固定 'greekvalue1d'(日频)
start_timestr开始时间格式 '%Y%m%d',空串=最早
end_timestr结束时间格式 '%Y%m%d',空串=最新
countint条数固定 1,只取当日最新一条
dividend_typestr除权类型默认 'follow',可选值见下方
fill_databool停牌是否填充固定 True,无当日数据时用最后一条填充
subscribebool是否订阅数据固定 True:订阅数据(历史+实时),实时推送

dividend_type 可选值:

  • 'none':不复权;
  • 'front':向前复权;
  • 'back':向后复权;
  • 'front_ratio':等比向前复权;
  • 'back_ratio':等比向后复权;

返回

dict{期权代码: DataFrame},单行,为当日最新希腊值。

根据代码获取期权delta值 — delta

qmt://docs/python
Python
1# coding:gbk
2 
3def handlebar(C):
4 if C.is_last_bar():
5 s = '10010994.SHO'
6 # 根据代码获取期权delta值(当日最新,实时订阅)
7 data = C.get_market_data_ex(
8 ['delta'], [s], period='greekvalue1d'
9 , start_time='', end_time='', count=1
10 , dividend_type='follow', fill_data=True
11 , subscribe=True
12 )
13 print(data[s])

根据代码获取期权theta值 — theta

qmt://docs/python
Python
1# coding:gbk
2 
3def handlebar(C):
4 if C.is_last_bar():
5 s = '10010994.SHO'
6 # 根据代码获取期权theta值(当日最新,实时订阅)
7 data = C.get_market_data_ex(
8 ['theta'], [s], period='greekvalue1d'
9 , start_time='', end_time='', count=1
10 , dividend_type='follow', fill_data=True
11 , subscribe=True
12 )
13 print(data[s])

根据代码获取期权gamma值 — gamma

qmt://docs/python
Python
1# coding:gbk
2 
3def handlebar(C):
4 if C.is_last_bar():
5 s = '10010994.SHO'
6 # 根据代码获取期权gamma值(当日最新,实时订阅)
7 data = C.get_market_data_ex(
8 ['gamma'], [s], period='greekvalue1d'
9 , start_time='', end_time='', count=1
10 , dividend_type='follow', fill_data=True
11 , subscribe=True
12 )
13 print(data[s])

根据代码获取期权vega值 — vega

qmt://docs/python
Python
1# coding:gbk
2 
3def handlebar(C):
4 if C.is_last_bar():
5 s = '10010994.SHO'
6 # 根据代码获取期权vega值(当日最新,实时订阅)
7 data = C.get_market_data_ex(
8 ['vega'], [s], period='greekvalue1d'
9 , start_time='', end_time='', count=1
10 , dividend_type='follow', fill_data=True
11 , subscribe=True
12 )
13 print(data[s])

根据代码获取期权rho值 — rho

qmt://docs/python
Python
1# coding:gbk
2 
3def handlebar(C):
4 if C.is_last_bar():
5 s = '10010994.SHO'
6 # 根据代码获取期权rho值(当日最新,实时订阅)
7 data = C.get_market_data_ex(
8 ['rho'], [s], period='greekvalue1d'
9 , start_time='', end_time='', count=1
10 , dividend_type='follow', fill_data=True
11 , subscribe=True
12 )
13 print(data[s])

获取期权实时隐含波动率 — get_option_iv

获取股票期权的实时隐含波动率。

语法

qmt://docs/python
Python
1C.get_option_iv(option_code)

参数

参数名类型/取值说明
option_codestr期权合约代码(带市场后缀),如 '10010994.SHO'

返回

float — 该期权合约的实时隐含波动率。

示例

qmt://docs/python
Python
1# coding:gbk
2 
3def handlebar(C):
4 if C.is_last_bar():
5 s = '10010994.SHO'
6 # 获取股票期权的实时隐含波动率
7 print(C.get_option_iv(s))

计算期权理论价格 — bsm_price

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

语法

qmt://docs/python
Python
1C.bsm_price(optionType, objectPrices, strikePrice, riskFree, sigma, days, dividend)

参数

参数名类型/取值说明
optionTypestr期权类型:认购 'C',认沽 'P'
objectPricesfloat / list期权标的价格,可以是价格列表或者单个价格
strikePricefloat期权行权价
riskFreefloat无风险收益率(小数),如 0.03 即 3%
sigmafloat标的年化波动率(小数),如 0.23 即 23%
daysfloat剩余天数,如 15
dividendfloat标的分红率,无分红传 0

返回

  • objectPricesfloat 时,返回 float
  • objectPriceslist 时,返回 list

🔔 计算结果最小值 0.0001,结果保留 4 位小数,输入非法参数返回 nan

示例

qmt://docs/python
Python
1# coding:gbk
2import numpy as np
3 
4def handlebar(C):
5 if C.is_last_bar():
6 object_prices = list(np.arange(3, 4, 0.01))
7 # 计算剩余15天的行权价3.5的认购期权,在无风险利率3%、分红率为0、标的年化波动率为23%时,
8 # 标的价格从3元到4元变动过程中期权理论价格序列
9 prices = C.bsm_price('C', object_prices, 3.5, 0.03, 0.23, 15, 0)
10 print(prices)
11 # 计算剩余15天的行权价3.5的认购期权,在无风险利率3%、分红率为0、标的年化波动率为23%时,
12 # 标的价格为3.51元的平值期权的理论价格
13 price = C.bsm_price('C', 3.51, 3.5, 0.03, 0.23, 15, 0)
14 print(price)

计算期权隐含波动率 — bsm_iv

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

语法

qmt://docs/python
Python
1C.bsm_iv(optionType, objectPrice, strikePrice, optionPrice, riskFree, days, dividend=0)

参数

参数名类型/取值说明
optionTypestr期权类型:认购 'C',认沽 'P'
objectPricefloat期权标的价格
strikePricefloat期权行权价
optionPricefloat期权现价
riskFreefloat无风险收益率(小数),如 0.03 即 3%
daysfloat剩余天数,如 15
dividendfloat标的分红率,可缺省,默认 0

返回

double — 计算结果,期权隐含波动率。

示例

qmt://docs/python
Python
1# coding:gbk
2 
3def handlebar(C):
4 if C.is_last_bar():
5 # 计算剩余15天的行权价3.5的认购期权,在无风险利率3%、分红率为0时,
6 # 标的现价3.51元、期权价格0.0725元时的隐含波动率(分红率缺省取默认0)
7 iv = C.bsm_iv('C', 3.51, 3.5, 0.0725, 0.03, 15)
8 print(iv)

Python调VBA 获取

除第一部分的纯 Python 方式外,也可通过使用Python的 get_vba_func_result 函数调用 VBA 公式获取希腊值。

python 写法:

qmt://docs/python
Python
1get_vba_func_result(
2 func, stock_code, period='1d', start_time='', end_time='',
3 count=-1, dividend_type=None, extend_param={}, subscribe=True
4)

python 参数:

参数名类型说明提示
funcstr / list[str]VBA 函数支持 str 或者 list[str]
stock_codestr / list[str]合约品种'510050.SH'
periodstr周期'1d'
start_timestr开始时间格式 '%Y%m%d'
end_timestr结束时间格式 '%Y%m%d'
countint条数-1 表示全部
dividend_typestr除权类型默认 None,可选值:'none'/'front'/'back'/'front_ratio'/'back_ratio'
extend_paramdict扩展参数如:{'model_name':{'model_param':{'ma5':[100,200,300]}}}
subscribebool是否订阅数据True:订阅数据(历史+实时);False:不订阅数据(仅历史)

获取某档位期权合约

获取某档位期权合约可用于平值期权、某一档位实值或虚值期权,只会返回未除权的期权合约
python函数:get_vba_func_result + vba函数:getoptcodebyno

VBA 写法:

qmt://docs/python
Python
1a1:getoptcodebyno(undlCode,side,contracttype,no,day,contracttype1,mode,period);

VBA 参数:

参数名类型说明提示
undlCodestr品种代码填空默认使用主图品种(期权的标的代码)
sidestr买卖方向'C':认购;'P':认沽
contractTypeint合约月份股指期权:1:当月 2:下月 3:隔月 4:下季 5:隔季 6:隔下季
noint档位序号正数为实值,大于 10000 代表倒序实值;负数为虚值,小于 -10000 代表倒序虚值
dayint基准交割日的前第几天缺省填 -110000 以上代表交割日后第几天,10001 代表交割后第一天
contracttype1int基准交割日的合约月份1:当月 2:下月 3:隔月 4:下季 5:隔季 6:隔下季
modeint计算虚实合约的模式0:前收价为基准;1:收盘价为基准
periodint基准周期-1:主图周期、1:1分钟、2:5分钟、3:15分钟、4:30分钟、5:60分钟、6:日、20:2小时
返回str期权代码只返回未除权的期权合约

返回

qmt://docs/python
Python
1 <class 'pandas.core.frame.DataFrame'>
2 

历史获取示例

qmt://docs/python
Python
1# coding:GBK
2 
3def after_init(C):
4 # 返回当日标的为SH510050的当月认购期权的实1(依据前收)
5 fml = """
6 a1:getoptcodebyno('','C',1,1,-1,0,0,6);
7 """
8 d = get_vba_func_result(fml, '510050.SH', '1d', count=5, subscribe=False)
9 print(d)
10 return
11

历史获取返回

qmt://docs/python
Python
1 a1 time
220260813 SHO10011855 1786550400000
320260814 SHO10011855 1786636800000
420260817 SHO10011855 1786896000000
520260818 SHO10011855 1786982400000
620260819 SHO10011855 1787068800000

实时获取示例

qmt://docs/python
Python
1# coding:GBK
2 
3def handlebar(C):
4 if C.is_last_bar():
5 # 返回当日标的为SH510050的当月认购期权的实1(依据前收)
6 fml = """
7 a1:getoptcodebyno('','C',1,1,-1,0,0,6);
8 """
9 d = get_vba_func_result(fml, '510050.SH', '1d', count=1, subscribe=False)
10 print(d)
11 return
12

实时获取返回

qmt://docs/python
Python
1 a1 time
220260825 SHO10011854 1787587200000

获取期权希腊值

根据代码获取期权希腊值序列(delta/theta/gamma/vega/rho)
python函数:get_vba_func_result + vba函数:greekvaluenatural

VBA 写法:

qmt://docs/python
Python
1a1:greekvaluenatural(stockcode, type, offset);

VBA 参数: 获取单股隐含波动率,按自然日计算。

参数名说明
stockcode合约代码,为空使用当前主图代码
type代表获取的数据字段,见下表
offset偏移,小于 0 向前 offset 个

type 字段对照:

type字段
2delta
3gamma
4vega
5theta
6rho

返回 double — 对应的数据。

获取历史期权delta值—type=2

VBA 写法:

qmt://docs/python
Python
1delta:greekvaluenatural('',2,-1);

Python 调用:

qmt://docs/python
Python
1# coding:GBK
2 
3def after_init(C):
4 fml = """
5 delta:greekvaluenatural('',2,-1);
6 """
7 # 下载历史数据
8 download_history_data('10010994.SHO', '1d', '', '', False)
9 d = get_vba_func_result(fml, '10010994.SHO', '1d', count=2, subscribe=False)
10 print(d)

获取历史期权gamma值—type=3

VBA 写法:

qmt://docs/python
Python
1gamma:greekvaluenatural('',3,-1);

Python 调用:

qmt://docs/python
Python
1# coding:GBK
2 
3def after_init(C):
4 fml = """
5 gamma:greekvaluenatural('',3,-1);
6 """
7 # 下载历史数据
8 download_history_data('10010994.SHO', '1d', '', '', False)
9 d = get_vba_func_result(fml, '10010994.SHO', '1d', count=2, subscribe=False)
10 print(d)

获取历史期权vega值—type=4

VBA 写法:

qmt://docs/python
Python
1vega:greekvaluenatural('',4,-1);

Python 调用:

qmt://docs/python
Python
1# coding:GBK
2 
3def after_init(C):
4 fml = """
5 vega:greekvaluenatural('',4,-1);
6 """
7 # 下载历史数据
8 download_history_data('10010994.SHO', '1d', '', '', False)
9 d = get_vba_func_result(fml, '10010994.SHO', '1d', count=2, subscribe=False)
10 print(d)

获取历史期权theta值—type=5

VBA 写法:

qmt://docs/python
Python
1theta:greekvaluenatural('',5,-1);

Python 调用:

qmt://docs/python
Python
1# coding:GBK
2 
3def after_init(C):
4 fml = """
5 theta:greekvaluenatural('',5,-1);
6 """
7 # 下载历史数据
8 download_history_data('10010994.SHO', '1d', '', '', False)
9 d = get_vba_func_result(fml, '10010994.SHO', '1d', count=2, subscribe=False)
10 print(d)

获取历史期权rho值—type=6

VBA 写法:

qmt://docs/python
Python
1rho:greekvaluenatural('',6,0);

Python 调用:

qmt://docs/python
Python
1# coding:GBK
2 
3def after_init(C):
4 fml = """
5 rho:greekvaluenatural('',6,0);
6 """
7 # 下载历史数据
8 download_history_data('10010994.SHO', '1d', '', '', False)
9 d = get_vba_func_result(fml, '10010994.SHO', '1d', count=2, subscribe=False)
10 print(d)

获取期权delta值—type=2

qmt://docs/python
Python
1# coding:GBK
2 
3def handlebar(C):
4 # 实时获取用 `handlebar` + `is_last_bar`,`count=1` 只取当日最新一条,`subscribe=True` 订阅推送。
5 if C.is_last_bar():
6 fml = """
7 delta:greekvaluenatural('',2,0);
8 """
9 d = get_vba_func_result(fml, '10010994.SHO', '1d', count=1, subscribe=True)
10 print(d)

获取期权gamma值—type=3

qmt://docs/python
Python
1# coding:GBK
2 
3def handlebar(C):
4 # 实时获取用 `handlebar` + `is_last_bar`,`count=1` 只取当日最新一条,`subscribe=True` 订阅推送。
5 
6 if C.is_last_bar():
7 fml = """
8 gamma:greekvaluenatural('',3,0);
9 """
10 d = get_vba_func_result(fml, '10010994.SHO', '1d', count=1, subscribe=True)
11 print(d)

获取期权vega值—type=4

qmt://docs/python
Python
1# coding:GBK
2 
3def handlebar(C):
4 # 实时获取用 `handlebar` + `is_last_bar`,`count=1` 只取当日最新一条,`subscribe=True` 订阅推送。
5 if C.is_last_bar():
6 fml = """
7 vega:greekvaluenatural('',4,0);
8 """
9 d = get_vba_func_result(fml, '10010994.SHO', '1d', count=1, subscribe=True)
10 print(d)

获取期权theta值—type=5

qmt://docs/python
Python
1# coding:GBK
2 
3def handlebar(C):
4 # 实时获取用 `handlebar` + `is_last_bar`,`count=1` 只取当日最新一条,`subscribe=True` 订阅推送。
5 if C.is_last_bar():
6 fml = """
7 theta:greekvaluenatural('',5,0);
8 """
9 d = get_vba_func_result(fml, '10010994.SHO', '1d', count=1, subscribe=True)
10 print(d)

获取期权rho值—type=6

qmt://docs/python
Python
1# coding:GBK
2 
3def handlebar(C):
4 # 实时获取用 `handlebar` + `is_last_bar`,`count=1` 只取当日最新一条,`subscribe=True` 订阅推送。
5 if C.is_last_bar():
6 fml = """
7 rho:greekvaluenatural('',6,0);
8 """
9 d = get_vba_func_result(fml, '10010994.SHO', '1d', count=1, subscribe=True)
10 print(d)

智能助手

咨询式 AI · 带入当前文档

智能助手加载中...