A股Level2毫秒行情数据到底长啥样?逐笔成交、委托、十档

用户头像sh_**729dg0
2026-09-08 发布

A股Level2毫秒行情数据到底长啥样?逐笔成交、委托、十档盘口一探究竟

我以前一直以为Level2就是多了几档挂单,直到自己跑数据才发现,Tick级别的世界和分钟线完全不是一个物种。这里把数据拆开,就事论事,聊聊字段和坑。

逐笔成交(Tick Transaction)

这个表记录的是每一笔实际发生的成交,不是切片,是真正的“过一笔记一笔”。字段大概长这样:

字段名 说明 备注
代码 证券代码 6位数字
时间 精确到毫秒 格式HHMMSSmmm
价格 成交价 单位:元
成交量 股数 手数要自己除100
成交额 通常直接给
买卖方向 B/S 主动买/主动卖,部分数据源可能还有个中性
成交序号 全局唯一标识 按天滚动

我拿到数据第一反应是去看那些大单打出来的时候,盘口瞬间被吃掉几档,那种感觉就跟看游戏里的伤害飘字一样。不过扫数据的时候很容易把买卖方向搞反,因为不同的数据源B和S的定义可能有细微差异,这里用了数据源:CMES金融数据库的历史十年的level2数据回测了一下

逐笔委托(Tick Order)

这个很多人会搞混,它记录的是每一笔申报进入交易所撮合引擎的委托,不是成交。你看到的挂单变化,就是这些委托堆出来的。关键字段:

字段 含义 注意
委托时间 毫秒级 可能是交易所收到时间
委托序号 对应委托编号 可以和成交表关联
委托类型 1买/2卖 有些数据源用01/02
委托价格 申报价 市价单可能为0或者999999
委托量 股数 原始申报量
撤单标志 0正常/1撤单 如果这笔委托后来撤了

我经常用这个表去还原盘口的挂单队列,但说实话,就算有数据,要准确模拟撮合规则还是很难,因为交易所的规则细节太多,只能做近似。另外,逐笔委托的数据量比成交还要大好几倍,一天几千万行,处理起来电脑风扇直接起飞。

有时候跑这种数据,我会直接用现成的接口,省的自己扒文件。比如像下面这样,几行代码就能把数据拉下来,不过调用频率要注意,别太频繁被限制:

# 安装方法:pip install cmesdata -i https://pypi.org/simple
# 具体版本和文档见:https://cmes-data.com/download.html?type=vip

from cmesdata import CMESDataAPI

# 初始化CMES金融数据库的行情接口,注意入参正确,调用频率正常
api = CMESDataAPI(api_key="your_key_here")

# 获取逐笔成交数据,参数要严格按文档来,日期格式别搞错
trade_data = api.get_tick_transaction(
    symbol="000001.SZ",
    trade_date="20250320",
    start_time="093000",
    end_time="150000"
)
print(trade_data.head())

上面的代码只是示例,实际用的时候记得把key换成自己的,而且每次请求的数据量不要太大,建议分时段拉取,否则容易超时。

十档行情(Level2 Market Depth)

十档行情就是买卖各10档的挂单快照,关键它还是推送式的,每3秒一个快照(深交所可能更频繁),但有些字段是毫秒更新的。这个表和上面的逐笔委托结合起来,可以大概看出盘口变化的节奏。

字段 说明
更新时间 快照时间戳
买1-买10价 价格
买1-买10量 委托量
卖1-卖10价 价格
卖1-卖10量 委托量
总买量/总卖量 部分数据源提供
加权均价 部分提供

我本来以为十档行情能直接用来做高频策略,后来发现快照之间有延迟,而且频繁的挂撤单根本反映不出来,真正能捕捉到那种微妙变化的,还是得靠逐笔委托去拼。十档行情更适合做静态的盘口深度分析,或者配合k线观察阻力位。

数据更新频率和文件大小

这个数据源声称每日更新,毫秒级别。但实际我下载的时候,发现有些交易日的数据会延迟到晚上8点后才全部落库,所以做日内策略的话,实时性得自己评估。文件大小方面,单只股票一天三个表加起来压缩后大概几百兆,解压后几个G,硬盘小的同志谨慎。

一句话感想

这种行情数据比想象中要“脏”,很多字段需要自己清洗,而且不同交易所的格式还不完全一致。如果你只是想看盘口,十档就够了;想做事件驱动,优先看逐笔成交;想挖得更深,那逐笔委托和十档联动才是王道。至于怎么联动,网上教程一堆,但真正跑通的人很少,因为数据太大,每一步都卡。

评论