## 提示

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


## 原型

```python
tick_data(context, data)
```

## 释义

tick_data 是 PTrade 中用于生命周期的接口。

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

## 参数

| 参数 | 是否必填 | 官方原始定义 |
|---|---:|---|
| `context` | 是 | context |
| `data` | 是 | data |

## 返回值

以实际接口返回和下方详细说明为准。

## 示例

当前官方章节未提供可独立抽取的示例代码。请根据函数签名和参数说明构造调用，并在对应运行环境验证。

## 详细说明

### 使用场景

该函数仅交易模块可用

### 接口说明

该函数可以用于处理tick级别策略的交易逻辑，每隔3秒执行一次，如无tick处理需求，该函数可以在策略中不做定义。

### 注意事项

该函数执行时间为9:30 -- 14:59。

该函数中的data和handle_data函数中的data是不一样的，请勿混肴。

参数data中包含的逐笔委托，逐笔成交数据需开通level2行情才能获取到数据，否则对应数据返回None。

参数data中的tick数据取自get_snapshot()并转换为DataFrame格式， 如要更快速的获取快照强烈建议直接使用get_snapshot()获取。

当调用set_parameters()并设置tick_data_no_l2="1"时， 参数data中将不包含逐笔委托、逐笔成交字段，当券商有l2行情时配置该参数可提升data取速；

当策略执行时间超过3s时，将会丢弃中间堵塞的tick_data。

在收盘后，将会清空队列中未执行的tick_data。

参数data中包含的逐笔委托，逐笔成交数据正常返回DataFrame格式，异常时返回None。

可调用接口

| set_parameters(回测/交易) | get_trading_day(回测/交易) | get_all_trades_days(研究/回测/交易) | get_trade_days(研究/回测/交易) | get_trading_day_by_date(研究/回测/交易) |
| --- | --- | --- | --- | --- |
| get_history(研究/回测/交易) | get_price(研究/回测/交易) | get_individual_entrust(交易) | get_individual_transaction(交易) | get_tick_direction(交易) |
| get_sort_msg(交易) | get_underlying_code(交易) | get_etf_info(交易) | get_etf_stock_info(交易) | get_gear_price(交易) |
| get_snapshot(交易) | get_cb_info(研究/交易) | get_trend_data(研究/回测/交易) | get_stock_name(研究/回测/交易) | get_stock_info(研究/回测/交易) |
| get_stock_status(研究/回测/交易) | get_stock_exrights(研究/回测/交易) | get_stock_blocks(研究/回测/交易) | get_index_stocks(研究/回测/交易) | get_etf_stock_list(交易) |
| get_industry_stocks(研究/回测/交易) | get_fundamentals(研究/回测/交易) | get_Ashares(研究/回测/交易) | get_etf_list(交易) | get_ipo_stocks(交易) |
| get_cb_list(交易) | get_reits_list(研究/回测/交易) | get_position(回测/交易) | get_positions(回测/交易) | get_all_positions(交易) |
| order(回测/交易) | order_target(回测/交易) | order_value(回测/交易) | order_target_value(回测/交易) | order_market(交易) |
| ipo_stocks_order(交易) | after_trading_order(交易) | after_trading_cancel_order(交易) | etf_basket_order(交易) | etf_purchase_redemption(交易) |
| cancel_order(回测/交易) | cancel_order_ex(交易) | debt_to_stock_order(交易) | get_open_orders(回测/交易) | get_order(回测/交易) |
| get_orders(回测/交易) | get_all_orders(交易) | get_trades(回测/交易) | margin_trade(回测/交易) | margincash_open(交易) |
| margincash_close(交易) | margincash_direct_refund(交易) | marginsec_open(交易) | marginsec_close(交易) | marginsec_direct_refund(交易) |
| get_margin_contract(交易) | get_margin_contractreal(交易) | get_margin_asset(交易) | get_assure_security_list(交易) | get_margincash_open_amount(交易) |
| get_margincash_close_amount(交易) | get_marginsec_open_amount(交易) | get_marginsec_close_amount(交易) | get_margin_entrans_amount(交易) | get_enslo_security_info(交易) |
| buy_open(回测/交易(期货)) | sell_close(回测/交易(期货)) | sell_open(回测/交易(期货)) | buy_close(回测/交易(期货)) |
| get_MACD(回测/交易) | get_KDJ(回测/交易) | get_RSI(回测/交易) | get_CCI(回测/交易) | log(回测/交易) |
| check_limit(回测/交易) | send_email(交易) | send_qywx(交易) | create_dir(研究/回测/交易) | order_tick(交易) |
| get_dominant_contract(研究/回测/交易(期货)) | get_crdt_fund(交易) | fund_transfer(交易) | market_fund_transfer(交易) |

### 参数详细说明

context: Context对象，存放有当前的账户及持仓信息；

data: 一个字典(dict)，key为对应的标的代码(如：'600570.SS')，value为一个字典(dict)，包含order(逐笔委托)、tick(当前tick数据)、transaction(逐笔成交)三项

结构如下：

{'股票代码':

{

'order(最近一条逐笔委托)':DataFrame/None,

'tick(当前tick数据)':DataFrame,

'transaction(最近一条逐笔成交)':DataFrame/None,

}

}

每项具体介绍：
