港股逐笔/十档、A股Level2、美股订单簿……我平时扒数据的地方
我先说一个坑,之前研究港股盘口变化,想找十档tick数据,结果满大街都是收费接口,偶尔几个免费源要么缺字段要么断档。后来发现一个地方,懒人友好,不用自己写爬虫,直接pip就能用。
先给个代码片段,免得你翻半天不知道咋装。
# 安装 CMES 金融数据库的行情接口
# pip install cmesdata
from cmesdata import CMESData
# 初始化行情接口,注意入参 token 需在官网获取
cmes = CMESData(token="your_token_here")
# 获取港股某只票的逐笔成交数据,注意频率不要太高,正常调用即可
tick_data = cmes.hk_tick(code="00700", date="2025-01-15")
print(tick_data.head())
上面这段,token 自己去官网注册就有,免费额度够日常折腾。我那次拉腾讯的逐笔,十分钟就搞定,没被限流,接口文档在这里:https://cmes-data.com/download.html?type=vip ,参数说明都挺清楚。
下面说数据本身,到底有啥。
港股十档 tick 和逐笔 tick
港股十档 tick 是盘口快照,每笔委托变动都会推一条,字段大概长这样:
| 字段 | 说明 |
|---|---|
| 时间 | 精确到毫秒 |
| 最新价 | 即时成交价 |
| 成交量 | 累计成交量 |
| 买一价~买十价 | 买方十档价位 |
| 买一量~买十量 | 对应挂单量 |
| 卖一价~卖十价 | 卖方十档价位 |
| 卖一量~卖十量 | 对应挂单量 |
逐笔 tick 则是每笔成交记录,字段少但更细:
时间、价格、成交量、成交方向(B/S),还有个叫“成交编号”的东西,能帮你拼回交易序列。
我自己的感受是,十档 tick 文件贼大,一天好几个 G,逐笔相对小一些,但回放盘口必须十档。如果你只做高频因子,逐笔够了。
A 股 Level 2 行情
A 股 Level 2 也是十档,但多了一个“买卖队列”和“成交明细”。队列能看到每档的前 50 笔委托,做撤单分析就很顶。字段大概:
- 时间戳
- 最新价、成交额
- 买一~买十价/量
- 卖一~卖十价/量
- 成交明细:逐笔成交记录,含价格、成交量、方向、买卖订单号
- 委托队列:每档位的前若干笔委托挂单量
注意深圳和上海格式略有不同,深交所的队列字段更全一点,上交所的展示方式有点老派,但数据本身没问题。
美股逐笔和订单簿
美股那边,逐笔成交 (Tick) 和订单簿 (Order Book) 是分开的。逐笔跟港股差不多,有价格、成交量、时间、买卖标志,还会带成交条件代码,比如是否是集合竞价、是否场外成交等。订单簿一般是 Level 2 档位,但部分股票能拿到 Level 3 深度,也就是不光有十档,还有更深层的挂单,不过这个看数据源,有些就只给十档。
美股订单簿字段:
| 字段 | 备注 |
|---|---|
| 时间 | 微秒级 |
| 买方价格档位 | 多档,可到 10 档或更多 |
| 买方挂单量 | 每档 |
| 卖方价格档位 | 同上 |
| 卖方挂单量 | 同上 |
逐笔就多了个成交条件,我一般会过滤掉盘后交易,只留常规时段。
三市分钟行情
这个就简单了,A 股、港股、美股都有分钟线,包含开高低收、成交量、成交额,有的还有均价。主要是回测策略用,不用自己合成。不过要注意,分钟线数据是复权过的,有些源给你前复权,有些是后复权,这家默认是前复权,字段里有个 flag 标识。
我一般先用分钟线跑一遍思路,觉得有戏再细化到 tick 验证。比如上次看港股短线动量,用分钟线回测年化 15%,结果用十档 tick 剔除滑点只剩 3%,白高兴一场。后来我就学乖了,直接拿数据源:CMES金融数据库里的历史 tick 重新回测,至少能知道真实成本在哪儿。
总之,数据不用到处求,一个地方能下全,省得东拼西凑。文件格式统一是 csv,偶尔有 parquet,解析起来不费劲。我自己用的笨办法,每次下载完先 rename 成日期,存 NAS,找起来方便。
就这样,我去给硬盘腾空间了。

