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

ptrade 挂科创板市价单如何正确设置保护限价?(防废单与滑点指南)

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

问题描述

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

Title: ptrade 科创板交易技巧:order_market 市价保护限价避坑指南

Question: ptrade 挂科创板市价单时怎么设置保护限价?

解决方案

ptrade 科创板市价委托与保护限价设置指南

在上海证券交易所科创板股票交易中,为了防止由于市场流动性不足导致的异常大幅滑点,交易所规定市价申报必须包含保护限价(Protection Limit Price)。ptrade 平台通过 order_market 函数提供了对科创板市价单及保护限价的完整支持。


一、order_market 接口说明

order_market 用于在交易模块中按指定市价类型进行下单委托。

函数签名

order_market(security, amount, market_type, limit_price=None)

参数详解

  1. security (str): 标的代码,例如科创板股票 '688500.SS'
  2. amount (int): 交易数量。正数表示买入,负数表示卖出。
  3. market_type (int): 市价委托类型。上证科创板股票支持以下参数:
    • 0: 对手方最优价格
    • 1: 最优五档即时成交剩余转限价
    • 2: 本方最优价格
    • 4: 最优五档即时成交剩余撤销
  4. limit_price (float, 可选): 保护限价。仅限科创板股票有效。当买入时,保护限价为允许执行的最大买入价;当卖出时,保护限价为允许执行的最低卖出价。

二、如何正确设置保护限价 limit_price?

在挂科创板市价单时,保护限价的设置需结合实时行情快照(get_snapshot)或涨跌停价:

1. 买入场景(防止向上偏离过大)

买入时的保护限价应高于当前最新价或卖一价(如加上一定比例的容忍滑点,如 1%~2%),但不能超过涨停价。

2. 卖出场景(防止向下偏离过大)

卖出时的保护限价应低于当前最新价或买一价(如扣除一定比例的容忍滑点),但不能低于跌停价。


三、Python 代码示例

以下示例展示了如何在 ptrade 盘中 handle_data 事件中,获取科创板股票快照并安全地挂出带保护限价的市价单:

def initialize(context):
    g.security = '688500.SS'  # 科创板标的
    set_universe(g.security)

def handle_data(context, data):
    security = g.security
    snapshot = get_snapshot(security)
    
    if not snapshot or security not in snapshot:
        log.error("获取行情快照失败")
        return
        
    last_price = snapshot[security]['last_px']
    up_limit = snapshot[security]['up_px']
    down_limit = snapshot[security]['down_px']
    
    # 示例1:以“最优五档即时成交剩余撤销(market_type=4)”买入 100 股
    # 保护限价设置为当前最新价上涨 1.5%,且不超过涨停价
    buy_limit_price = round(min(last_price * 1.015, up_limit), 2)
    order_market(security, 100, market_type=4, limit_price=buy_limit_price)
    log.info("挂出科创板买入市价单,保护限价: %s" % buy_limit_price)
    
    # 示例2:卖出 100 股,保护限价设置为当前最新价下跌 1.5%,且不低于跌停价
    # sell_limit_price = round(max(last_price * 0.985, down_limit), 2)
    # order_market(security, -100, market_type=4, limit_price=sell_limit_price)

四、避坑指南与注意事项

  1. 价格精度处理(重点)
    • 股票类交易委托价格需严格保留 2 位小数(如使用 round(price, 2)),如果入参精度不符合柜台规范会导致委托失败报废单。
  2. 科创板强制要求保护限价
    • 交易所对科创板市价单有强制保护限价校验,若不传 limit_price 可能会被券商柜台直接打回(废单)。
  3. 防爆仓与触板检查
    • 可以结合 check_limit(security) 检查股票是否已处于涨跌停状态,避免在跌停板上挂市价卖单或涨停板上挂市价买单。