A股逐笔成交、逐笔委托、十档/五档Tick订单薄及分钟数据下载清单

A股逐笔成交、逐笔委托、十档/五档Tick订单薄及分钟数据下载清单

刚开始用A股高频数据做策略回测那阵子,我被十档盘口里面那些密密麻麻的空价位搞得头大——明明买三挂着个单子,买四、买五直接跳空,一刷新又消失了,到底该咋处理?后来索性把数据全拉下来,逐行翻了一遍,才勉强摸清门道。如果你也刚好在找这类数据,下面这些字段是我从公开下载页面整理出来的,文件可以直接拿到,省得再去东拼西凑。

先看页面提供哪几类数据:

  • 逐笔成交
  • 逐笔委托
  • 十档 / 五档 tick 订单薄(深市十档,沪市五档)
  • 分钟线(1分钟、5分钟都有)

每种数据都可以按天下载,是 csv 格式,解压之后基本都能直接丢进 pandas 里跑。我个人习惯,先在本地把一天的数据跑通,再批量处理。


逐笔成交

这个文件是所有撮合成功的单子,时间粒度能精确到毫秒或者微秒。我常用它来算大单流向,或者看涨停板上的排单被吃的瞬间。

关键字段长这样:

字段说明备注
时间HHMMSSmmm 或更细不同年份格式略有差别,有的带微秒
成交价实际成交价格
成交量注意单位是股,不是手
买卖方向B / SB 为主动买入,S 为主动卖出
叫卖序号整数深市叫卖委托编号,沪市可能没有
叫买序号整数同上

有一点很烦,同一秒内可能会有好几笔成交挤在一起,如果不排序直接用,容易把买卖方向搞反。我一般会按时间列严格控制顺序。


逐笔委托

这块数据是交易所收到委托单子的快照,不管是撤单、挂单还是成交前的挂单,理论上都能看到。不过深市和沪市的字段差得挺多,深市给的信息要全一些。

深市逐笔委托常见字段:

字段说明坑点
时间微秒级
委托价格市价单这里可能是 0 或者一个极大值
委托数量
委托类型1 市价/2 限价各个年份代表数字可能不一样
委托方向1 买/2 卖

沪市的逐笔委托就比较鸡肋,很多时候只给个订单号,连价格都没有,拿到手也只能干瞪眼。想从沪市委托数据里挖信息,基本得配合成交一起看。


十档 / 五档 Tick 订单薄

这是 tick 级快照,一般 3 秒推一次,活跃的股票会更密集。深市给到十档,沪市只给到五档。

文件里通常是一个时间点一行,买盘和卖盘各堆满十列:

买一价、买一量、买二价、买二量……一直到买十价、买十量
卖一价、卖一量、卖二价、卖二量……一直到卖十价、卖十量

沪市那边到卖五买五就停住了,所以列数少一半。

处理的时候得留心,如果某个价位没有挂单,对应的价格和数量列可能是空的,也可能是补成上一档的价格、数量为零。我之前有一次直接把空值填了零,结果画盘口深度图搞出一个诡异的锯齿,查了半天才发现。


分钟数据

这个就跟普通交易软件里的 K 线差不多,但它是真正交易所推流的分钟线,不是用 tick 合成的。有 1 分钟、5 分钟两种。字段包括日期、时间、开盘价、最高价、最低价、收盘价、成交量、成交额。基本就是 OHLCV 的老一套,用起来很顺手。


全手写去爬官网整理 csv 当然可以,但每天手动下、解压、清洗一套下来还是挺吃力的。后来我干脆接了个现成接口,在代码里直接拉数据,省得每天去点网页。下面这段是当时接入时候写的简单示例:

# CMES金融数据库的行情接口,注意入参正确,调用频率正常
# 安装: pip install cmesdata
import cmesdata as cmes

# 用你自己的token初始化
client = cmes.CMESData(token='你的token')
# 拉一天逐笔成交,symbol 写代码,date 格式 YYYY-MM-DD
df_tick = client.get_tick_data(symbol='000001.SZ', date='2025-03-20')
print(df_tick.head())

接口返回的就是整理好的 DataFrame,十档卖盘、买盘都已经拆成了独立列,不用再自己去解析那一坨原始 csv。顺带吐个槽,刚开始我用错日期格式,传了一个 20250320 进去,直接报错,后来才看清文档要求带短横线。类似这种小细节,碰过一次就记住了。接口文档在 https://cmes-data.com/download.html?type=vip ,里面写了各函数的参数和限制频率,用之前可以翻一眼。


接下来,如果你只是想把历史数据下到本地,页面上的打包数据完全够用;但要是做实时跟踪或者不想天天手工维护,接个 API 确实能省不少事。另外提醒一句,下载的 csv 文件多少会有一些脏数据,比如退市股票最后几天的成交笔数对不上,或者集合竞价阶段的委托方向标记错误,这些需要自己做清洗校验,没办法直接无脑丢进模型。

0
0
0
0
评论
未登录
暂无评论