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

ptrade 盘后固定价委托如何撤单?after_trading_cancel_order 接口使用指南

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

问题描述

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

Title: ptrade 盘后固定价撤单指南:after_trading_cancel_order 接口详解

Question: 如何在 ptrade 中对科创板或创业板的盘后固定价委托进行撤单?

解决方案

在 ptrade 量化交易平台中,对科创板(15:05-15:30)或创业板(15:05-15:30)的盘后固定价格委托进行撤单,需要使用专用的 API 接口 after_trading_cancel_order

一、接口说明

  • 接口名称after_trading_cancel_order(order_param)
  • 适用说明:仅支持 Ptrade 客户端可用,仅在股票交易模块可用。
  • 使用场景:用于盘后固定价格委托取消订单,可根据 Order 对象或下单时返回的 order_id 进行撤单。
  • 参数说明
    • order_param (Orderstr):必填,要撤销的盘后固定价委托的 Order 对象或者订单 ID(order_id)。
  • 返回值None

二、核心步骤与使用注意事项

  1. 获取订单标识:通过调用 after_trading_cancel_order 前,需先保存盘后固定价下单接口 after_trading_order 返回的 order_id
  2. 委托时间要求:盘后固定价申报与撤单时间通常为 9:30~11:30、13:00~15:30(实际撮合在盘后 15:05~15:30 执行)。
  3. 触发频率:可以通过 run_daily 指定定时任务(如 15:15)或在 handle_data / tick_data 中结合业务逻辑触发撤单。

三、完整 Python 策略示例

以下示例展示了如何在 15:15 盘后交易时段下单后,等待数秒并执行撤单的具体实现:

import time

def initialize(context):
    # 设置标的为创业板股票
    g.security = "300001.SZ"
    set_universe(g.security)
    # 在盘后交易时间(15:00-15:30)内,使用 run_daily 触发盘后固定价下单与撤单测试
    run_daily(context, order_test, time="15:15")
    g.flag = False

def order_test(context):
    # 获取当前行情快照
    snapshot = get_snapshot(g.security)
    if snapshot is not None:
        last_px = snapshot[g.security].get("last_px", 0)
        if last_px > 0:
            # 1. 提交盘后固定价委托(买入200股)
            order_id = after_trading_order(g.security, 200, float(last_px))
            log.info("已提交盘后固定价委托,订单ID: %s" % order_id)
            
            # 延时一段时间(示例等待5秒)
            time.sleep(5)
            
            # 2. 对该盘后委托进行撤单
            after_trading_cancel_order(order_id)
            log.info("已发送盘后固定价撤单请求,订单ID: %s" % order_id)

def handle_data(context, data):
    pass

通过上述方法,您可以精准控制盘后交易阶段的委托与撤单,确保量化策略在盘后固定价交易环节的灵活与安全。