🚀 AI 一键生成 qmt 策略代码
立即体验

QMT 期权 API 教程:如何使用 ContextInfo.get_option_detail_data 获取期权详细数据

qmt | 发布时间: 2026/8/2
以下内容由 EasyQuant 生成。

问题描述

请根据以下 SEO 主题生成完整页面内容:

Title: QMT 期权 API 教程:get_option_detail_data 获取期权合约参数

Question: 如何使用 ContextInfo.get_option_detail_data 获取期权的行权价和到期日等详细数据?

解决方案

QMT 期权 API 教程:获取期权合约详细数据

在进行期权量化交易策略开发时,准确快速地获取期权合约的行权价、到期日、保证金率以及标的资产信息至关重要。QMT(迅投量化)平台提供了 ContextInfo.get_option_detail_data() 接口,方便开发者查询特定期权合约的完整属性。


1. 函数 API 规范

ContextInfo.get_option_detail_data(optioncode)

  • 用法ContextInfo.get_option_detail_data(optioncode)
  • 释义:获取指定期权品种的详细信息。
  • 参数
    • optioncode (str):期权代码,如 '10001506.SHO'。若传入空字符串 '',默认获取当前主图对应的期权品种数据。
  • 返回值:返回一个字典(dict),包含该期权合约的所有字段信息。

2. 常用返回字典字段释义

字典键名 (Key) 含义说明
OptExercisePrice 期权行权价
ExpireDate 到期日 (格式为 YYYYMMDD)
OpenDate 发行日期
EndDelivDate 期权行权终止日
optType 期权类型 ('CALL' 为认购,'PUT' 为认沽)
OptUndlCode 期权标的证券代码
OptUndlMarket 期权标的证券市场
VolumeMultiple / OptUnit 合约乘数 / 期权合约单位
UpStopPrice / DownStopPrice 当日涨停价 / 当日跌停价
LongMarginRatio / ShortMarginRatio 多头保证金率 / 空头保证金率

3. 代码示例与使用场景

以下示例展示了如何在 QMT 的 handlebar 驱动中获取上交所 50ETF 期权合约(如 '10001506.SHO')的行权价、到期日及期权类型:

#encoding:gbk

def init(ContextInfo):
    # 初始化全局账号或股票池
    ContextInfo.set_universe(['10001506.SHO'])

def handlebar(ContextInfo):
    # 仅在最后一根 Bar 上提取信息
    if not ContextInfo.is_last_bar():
        return
    
    option_code = '10001506.SHO'
    # 调用 QMT API 获取期权详情
    detail = ContextInfo.get_option_detail_data(option_code)
    
    if detail:
        strike_price = detail.get('OptExercisePrice')  # 行权价
        expire_date = detail.get('ExpireDate')         # 到期日
        opt_type = detail.get('optType')               # CALL 或 PUT
        undl_code = detail.get('OptUndlCode')           # 标的代码
        
        print(f"期权代码: {option_code}")
        print(f"期权类型: {opt_type}")
        print(f"行权价格: {strike_price}")
        print(f"到期日期: {expire_date}")
        print(f"标的代码: {undl_code}")
    else:
        print("未能获取到期权详细数据,请检查合约代码或补全本地数据。")

4. 注意事项

  1. 数据补充:调用前请确保已在 QMT 客户端的“数据管理”中下载补充了对应的期权市场行情及合约列表信息。
  2. 代码格式:期权代码需要带上市场后缀,上交所期权代码一般为 .SHO,深交所期权代码为 .SZO