🚀 AI 一键生成 ptrade 策略代码

PTrade L2 深度:解析逐笔委托 trans_kind 识别市价与限价单

ptrade | 发布时间: 2025/12/24
以下内容由 EasyQuant 生成。

问题描述

逐笔委托数据中的 trans_kind 字段代表什么意思?

解决方案

在 PTrade 量化交易平台的逐笔委托数据(通过 get_individual_entrust 接口或 tick_data 中的 order 字段获取)中,trans_kind 字段代表 委托类别(或委托类型)。

根据交易所的不同,该字段返回值的含义有所区别,具体定义如下:

1. 深圳市场 (Shenzhen Market)

在深圳证券交易所的逐笔委托数据中,trans_kind 主要标识委托的价格类型:

  • 1:市价委托 (Market Order)
  • 2:限价委托 (Limit Order)
  • 3:本方最优 (Best Order of Own Side)

2. 上海市场 (Shanghai Market)

在上海证券交易所的逐笔委托数据中,trans_kind 主要标识订单的操作行为:

  • 4:增加订单 (Add Order) —— 表示新增的一笔委托单。
  • 5:删除订单 (Delete Order) —— 表示撤单操作。

Q&A

Q1: 如何在策略中获取 trans_kind 数据?
A1: 可以通过 get_individual_entrust() 接口获取当日的逐笔委托数据,返回的 DataFrame 或字典中包含 trans_kind 字段。如果在交易盘中,也可以通过 tick_data(context, data) 回调函数,访问 data[security]['order'] 获取最近的逐笔委托信息。

Q2: 为什么上海和深圳的 trans_kind 定义不同?
A2: 这源于两个交易所 Level-2 行情数据的推送机制差异。深圳交易所的逐笔委托数据包含了具体的委托类型(如市价、限价),而上海交易所的逐笔委托数据主要侧重于订单簿的变动(新增或删除)。

Q3: trans_kind 字段的数据类型是什么?
A3: 在 PTrade 返回的数据结构中,trans_kind 通常为数值类型(整数),但在部分数据接口返回的 DataFrame 中可能表现为字符串或 numpy 的数值类型,具体取决于 is_dict 参数的设置及 Python 版本环境。在使用时建议先打印数据类型进行确认。