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

QMT 期权交易 API 指南:如何实现期权行权、备兑开仓与证券锁定解锁?

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

问题描述

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

Title: QMT 期权交易 API:行权、备兑开仓与证券锁定解锁实战

Question: QMT 如何通过 passorder 实现期权行权和备兑锁定操作?

解决方案

QMT 期权交易 API:行权、备兑开仓与证券锁定解锁实战

在 QMT(迅投量化交易系统)中,期权交易可以通过标准的核心交易接口 passorder() 高效完成。通过指定不同的操作类型参数(opType),开发者可以精准执行期权买卖开平、备兑开平、证券锁定解锁以及期权行权等操作。


1. 期权交易核心操作码(opType)说明

在调用 passorder 进行期权相关操作时,opType 对应的参数设置如下:

opType 值 操作名称 说明
50 买入开仓 认购或认沽期权买入开仓
51 卖出平仓 期权多头卖出平仓
52 卖出开仓 期权空头卖出开仓
53 买入平仓 期权空头买入平仓
54 备兑开仓 使用备兑证券开仓卖出认购期权
55 备兑平仓 平仓备兑卖出的认购期权
56 认购行权 执行认购期权行权流程
57 认沽行权 执行认沽期权行权流程
58 证券锁定 将现货锁定为备兑证券
59 证券解锁 将备兑锁定证券解除锁定

2. 核心代码示例

以下为使用 passorder 实现证券锁定、备兑开仓以及期权行权的完整示例:

#coding:gbk
import time

def init(ContextInfo):
    # 设置期权资金账号
    ContextInfo.accountID = '1000000088'
    ContextInfo.set_account(ContextInfo.accountID)
    
    # 订阅期权标的与期权合约
    ContextInfo.stock = '510300.SH'      # 华泰柏瑞沪深300ETF
    ContextInfo.optionCode = '10003280.SHO' # 对应期权合约代码

def handlebar(ContextInfo):
    if not ContextInfo.is_last_bar():
        return
    
    accId = ContextInfo.accountID
    stockCode = ContextInfo.stock
    optionCode = ContextInfo.optionCode
    
    # 1. 证券锁定:将 10000 股 510300.SH 锁定为备兑证券
    # orderType=1101 (单股单账号普通数量下单), prType=5 (最新价/可填5), price=-1, volume=10000
    passorder(58, 1101, accId, stockCode, 5, -1, 10000, 'option_strategy', 1, 'lock_sec', ContextInfo)
    print(f"已发送证券锁定指令: {stockCode} 10000 股")
    
    # 2. 备兑开仓:卖出开仓 10 张备兑认购期权
    # volume=10 (张)
    passorder(54, 1101, accId, optionCode, 5, -1, 10, 'option_strategy', 1, 'covered_open', ContextInfo)
    print(f"已发送备兑开仓指令: {optionCode} 10 张")
    
    # 3. 认购行权:对手头的认购期权发起行权申报 (行权 10 张)
    passorder(56, 1101, accId, optionCode, 5, -1, 10, 'option_strategy', 1, 'exercise_call', ContextInfo)
    print(f"已发送认购行权申报: {optionCode} 10 张")
    
    # 4. 证券解锁:如需解除备兑锁定,可执行 opType=59
    # passorder(59, 1101, accId, stockCode, 5, -1, 10000, 'option_strategy', 1, 'unlock_sec', ContextInfo)

3. 注意事项与风控细节

  1. 标的与合约代码格式
    • 期权标的通常为股票或 ETF(如 510300.SH);
    • 上交所期权合约市场后缀通常为 .SHO(如 10003280.SHO),深交所期权后缀为 .SZO
  2. 备兑开仓前置条件
    • 进行备兑开仓(opType=54)前,需确保账户中有足够数量的被锁定标的证券(可通过 opType=58 进行锁定),否则系统将按风控规则拒绝该笔申报。
  3. 行权申报时间
    • 期权行权(opType=56/57)通常仅在期权到期日(行权日)交易时间段内有效,请注意行权时机与对应资金/现货备付准备。