## 提示

- `level2`
- `live-or-trading-module-only`
- `permission-dependent`


## 原型

```python
get_individual_transaction(stocks=None, data_count=50, start_pos=0, search_direction=1, is_dict=False)
```

## 释义

get_individual_transaction 是 PTrade 中用于获取逐笔成交行情的接口。

研究：不支持；回测：不支持；模拟：官方目录未明确；实盘：支持。

## 参数

| 参数 | 是否必填 | 官方原始定义 |
|---|---:|---|
| `stocks` | 否 | stocks=None |
| `data_count` | 否 | data_count=50 |
| `start_pos` | 否 | start_pos=0 |
| `search_direction` | 否 | search_direction=1 |
| `is_dict` | 否 | is_dict=False |

## 返回值

dict类型

正常返回dict类型数据，异常时返回None(NoneType)。

返回的数据格式如下：

{股票代码(str): [[时间戳毫秒级(int), 价格(float), 成交数量(int), 成交编号(int), 成交方向(int), 叫买方编号(int), 叫卖方编号(int), 成交标记(int), 盘后逐笔成交序号标识(int), 成交通道信息(int)], ...], "fields": ["business_time", "hq_px", "business_amount", "trade_index", "business_direction", "buy_no", "sell_no", "trans_flag", 'trans_identify_am", "channel_num"]}

{"600570.SS": [[20220913111141472, 36.47, 100, 3286989, 1, 5807243, 5804930, 0, 0, 2], ...], "fields": ["business_time", "hq_px", "business_amount", "trade_index", "business_direction", "buy_no", "sell_no", "trans_flag", 'trans_identify_am", "channel_num"]}

非dict类型

默认返回(python3.11版本支持)DataFrame,(python3.5版本支持)Panel类型，入参is_dict为True时返回dict类型。

1.(仅python3.11版本支持)DataFrame类型类型，异常时返回None(NoneType)

输出字段如下所示：

code: 代码(str)；

business_time: 时间戳毫秒级(int)；

hq_px: 价格(float)；

business_amount: 成交数量(int)；

trade_index: 成交编号(int)；

business_direction: 成交方向(int)；

## 示例

```python
def initialize(context):

g.security = "000001.SZ"

set_universe(g.security)

def before_trading_start(context, data):

g.flag = False

def handle_data(context, data):

if not g.flag:

# 获取当前股票池逐笔成交数据

transaction = get_individual_transaction()

log.info(transaction)

# 获取指定股票列表逐笔成交数据

transaction = get_individual_transaction(["000002.SZ", "000032.SZ"])

log.info(transaction)

# 获取成交量

if transaction is not None:

business_amount = transaction.query('code in ["000002.SZ"]')["business_amount"]

log.info("逐笔数据的成交量为：%s" % business_amount)

# 返回字典类型数据

transaction = get_individual_transaction([g.security], is_dict=True)

log.info("逐笔成交数据为：%s" % transaction)

g.flag = True
```

## 详细说明

get_individual_transaction(stocks=None, data_count=50, start_pos=0, search_direction=1, is_dict=False)

### 使用场景

该函数在交易模块可用

### 接口说明

该接口用于获取当日逐笔成交行情数据。

### 注意事项

沪深市场都有逐笔成交数据。

逐笔委托，逐笔成交数据需开通level2行情才能获取到数据，否则无数据返回。

当策略入参is_dict为True时返回的数据类型为dict，返回dict类型数据的速度比(python3.11版本支持)DataFrame,(python3.5版本支持)Panel类型数据有大幅提升。

### 参数详细说明

stocks: 默认为当前股票池中代码列表(list[str])；

data_count: 数据条数，默认为50，最大为200(int)；

start_pos: 起始位置，默认为0(int)；

search_direction: 搜索方向(1向前，2向后)，默认为1(int)；

is_dict: 返回类型（False-(python3.11版本支持)DataFrame,(python3.5版本支持)Panel; True-dict），默认为False；

### 返回值

dict类型

正常返回dict类型数据，异常时返回None(NoneType)。

返回的数据格式如下：

{股票代码(str): [[时间戳毫秒级(int), 价格(float), 成交数量(int), 成交编号(int), 成交方向(int), 叫买方编号(int), 叫卖方编号(int), 成交标记(int), 盘后逐笔成交序号标识(int), 成交通道信息(int)], ...], "fields": ["business_time", "hq_px", "business_amount", "trade_index", "business_direction", "buy_no", "sell_no", "trans_flag", 'trans_identify_am", "channel_num"]}

{"600570.SS": [[20220913111141472, 36.47, 100, 3286989, 1, 5807243, 5804930, 0, 0, 2], ...], "fields": ["business_time", "hq_px", "business_amount", "trade_index", "business_direction", "buy_no", "sell_no", "trans_flag", 'trans_identify_am", "channel_num"]}

非dict类型

默认返回(python3.11版本支持)DataFrame,(python3.5版本支持)Panel类型，入参is_dict为True时返回dict类型。

1.(仅python3.11版本支持)DataFrame类型类型，异常时返回None(NoneType)

输出字段如下所示：

code: 代码(str)；

business_time: 时间戳毫秒级(int)；

hq_px: 价格(float)；

business_amount: 成交数量(int)；

trade_index: 成交编号(int)；

business_direction: 成交方向(int)；

buy_no: 叫买方编号(int)；

sell_no: 叫卖方编号(int)；

trans_flag: 成交标记(int)；

trans_identify_am: 盘后逐笔成交序号标识(int)；

channel_num: 成交通道信息(int)；

2.(仅python3.5版本支持)正常返回Pandas.panel对象，异常时返回None(NoneType)

Items axis: 股票代码列表(str)；

Major_axis axis: 数据索引为自然数列(DataFrame)；

Minor_axis axis: 包含以下信息：

business_time: 时间戳毫秒级(str:numpy.int64)；

hq_px: 价格(str:numpy.float64)；

business_amount: 成交数量(str:numpy.int64)；

trade_index: 成交编号(str:numpy.int64)；

business_direction: 成交方向(str:numpy.int64)；

buy_no: 叫买方编号(str:numpy.int64)；

sell_no: 叫卖方编号(str:numpy.int64)；

trans_flag: 成交标记(str:numpy.int64)；

trans_identify_am: 盘后逐笔成交序号标识(str:numpy.int64)；

channel_num: 成交通道信息(str:numpy.int64)；
