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

QMT 平台如何使用 get_option_detail_data 获取期权详细信息?

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

问题描述

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

Title: qmt 期权 API:`get_option_detail_data` 获取期权详细信息

Question: qmt 如何获取特定期权合约的行权价、到期日与保证金比例?

解决方案

QMT 期权 API:get_option_detail_data 获取期权详细信息

在 QMT(迅投量化系统)平台编写期权量化交易策略时,获取期权合约的具体参数(如行权价、到期日、保证金比例、合约乘数等)是进行期权定价(如 BS 模型)和风控管理的必要步骤。QMT 提供了 ContextInfo.get_option_detail_data 接口来满足这一需求。


1. 接口函数说明

ContextInfo.get_option_detail_data(optioncode) 用于获取指定期权合约的详细属性信息。

参数说明

  • optioncode (str): 期权合约代码,格式为 代码.市场,例如 '10001506.SHO'。若传入空字符串 '',则默认获取当前主图对应的期权品种信息。

返回值

返回一个字典(dict),包含该期权合约的各项详细参数。


2. 关键返回字段说明

返回字典包含以下常用关键字段:

字段名 (key) 字段类型 说明
InstrumentID str 期权代码
ExchangeID str 期权市场代码(如 SHO、SZO)
OptExercisePrice float 期权行权价
ExpireDate int/str 到期日
EndDelivDate int/str 期权行权终止日
LongMarginRatio float 多头保证金率
ShortMarginRatio float 空头保证金率
VolumeMultiple int 合约乘数
optType str 期权类型CALL 认购 或 PUT 认沽)
OptUndlCode str 标的证券代码
OptUndlMarket str 标的证券市场
UpStopPrice / DownStopPrice float 当日涨停价 / 跌停价

3. 代码示例:获取期权合约详情

以下是在 QMT handlebar 中调用 get_option_detail_data 获取特定期权合约属性并打印的完整示例:

#encoding:gbk

def init(ContextInfo):
    # 示例订阅上交所 50ETF 期权合约
    ContextInfo.option_code = '10001506.SHO'

def handlebar(ContextInfo):
    # 仅在最后一根 K 线上获取并打印期权详细信息
    if not ContextInfo.is_last_bar():
        return
    
    # 获取指定期权的详细信息
    option_detail = ContextInfo.get_option_detail_data(ContextInfo.option_code)
    
    if option_detail:
        print(f"--- 期权合约 {ContextInfo.option_code} 详细信息 ---")
        print(f"期权类型: {option_detail.get('optType')}")
        print(f"行权价格: {option_detail.get('OptExercisePrice')}")
        print(f"到期日期: {option_detail.get('ExpireDate')}")
        print(f"空头保证金率: {option_detail.get('ShortMarginRatio')}")
        print(f"合约乘数: {option_detail.get('VolumeMultiple')}")
        print(f"标的代码: {option_detail.get('OptUndlCode')}.{option_detail.get('OptUndlMarket')}")
    else:
        print("未能获取到期权详细信息,请检查合约代码或数据是否补充完整。")

4. 常见问题与使用建议

  1. 数据下载:如需获取过期/历史期权合约数据,请先通过 QMT 客户端的【数据管理】补充期权历史行情与过期合约列表。
  2. 组合使用:配合 ContextInfo.get_option_list() 接口可以先筛选出符合条件的期权代码列表,再通过 get_option_detail_data() 批量获取属性以完成策略建仓逻辑。