qmt编程之获取期权数据
qmt更加详细的教程方法,会持续慢慢梳理。
也可找寻博主的历史文章,搜索关键词查看解决方案 !
感谢关注,咨询免费开通量化回测与获取实盘权限,欢迎和博主联系!
获取历史期权列表
函数能帮助用户获取历史期权列表, 包括某日历史在上交所上市的认购合约和认沽合约, 也包括已经退市的合约。通过这一函数, 投资者可以回溯和分析不同类型合约的历史行为, 对市场变化有更全面的理解, 从而制定出更为稳健和有效的投资策略。
方式1:内置python
调用方法
内置python
#encoding:gbk
def init(ContextInfo):passdef after_init(ContextInfo):ContextInfo.get_option_list(undl_code,dedate,opttype,isavailable)
参数
字段 | 类型 | 说明 |
---|---|---|
undl_cod | str | 期权标的代码 |
dedate | str | 期权到期月或当前交易日期,"YYYYMM"格式为期权到期月,"YYYYMMDD"格式为获取当前日期交易的期权 |
opttype | str | 期权类型,默认值为空,"CALL","PUT",为空时认购认沽都取 |
isavailable | bool | 是否可交易,当dedate的格式为"YYYYMMDD"格式为获取当前日期交易的期权时,isavailable为True时返回当前可用,为False时返回当前和历史可用 |
返回
- 期权合约列表list
提示
获取历史期权需要下载过期合约列表
示例
#encoding:gbk'''获取到期月份为202101的上交所510300ETF认购合约 '''def init(ContextInfo):passdef after_init(ContextInfo):# 获取到期月份为202101的上交所510300ETF认购合约data=ContextInfo.get_option_list('510300.SH','202101',"CALL")# 获取20210104当天上交所510300ETF可交易的认购合约#data=ContextInfo.get_option_list('510300.SH','20210104',"CALL",True)#获取20210104当天上交所510300ETF已经上市的认购合约(包括退市)#data=ContextInfo.get_option_list('510300.SH','20210104',"CALL",False)print(data)
返回值
['10002931.SHO', '10002932.SHO', '10002933.SHO', '10002934.SHO', '10002935.SHO', '10002936.SHO', '10002937.SHO', '10002938.SHO', '10002939.SHO', '10003031.SHO', '10003093.SHO', '10003117.SHO', '10003125.SHO', '10003126.SHO', '10003127.SHO', '10003128.SHO', '10003129.SHO', '10003130.SHO', '10003131.SHO', '10003132.SHO', '10003133.SHO', '10003197.SHO']