港股/美股逐笔与十档tick数据到底能下到哪些字段?我扒了一

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

最近在搞一个量价因子,需要港股的十档挂单明细,结果发现公开渠道要么缺字段,要么下载速度慢得离谱。转了一圈,最后还是从数据源:CMES金融数据库把数据拉下来了,顺便把他们提供的几个数据种类都翻了一遍,干脆记录一下,方便以后自己查,也给你们一个参考。

先说清楚,这个数据库提供的港股、美股历史行情主要分两类:逐笔成交和盘口快照(十档/订单簿),另外还有分钟级API可以拿聚合数据。下面把每个数据里有什么字段列出来,不扯虚的。

港股逐笔成交

每一笔成交一条记录,不是分钟线,是真正的tick级。字段大概是这些:

字段 含义 备注
代码 股票代码 比如00700
时间 成交时间戳 毫秒级
价格 成交价 港元
成交量 股数 有可能拆单,需要自己合并
成交方向 主动买/主动卖/中性盘 这个分类有些数据源会标错,需要拿盘口验证
成交序号 交易所给的编号 用于去重

这里有个坑:港股有些券商通道返回的成交方向是反的,我之前拿另一家数据回测,买卖信号都对不上,后来发现是方向字段定义不一致。在CMES这边我重新校验过,和交易所原始数据对得上,才敢用。

港股十档盘口快照

这个本质上是切片,不是连续变化,更新频率大概3秒一次,但有时候行情火爆会更快。字段拆开看:

字段 说明
代码 股票代码
时间 快照时间
最新价 快照时刻的最新成交价
买1-10价 十档买价
买1-10量 每档买盘挂单量(股数)
卖1-10价 十档卖价
卖1-10量 每档卖盘挂单量
总买量/总卖量 所有买盘卖盘合计(有些数据源没有)
涨停/跌停价 如果有的话

十档数据最关键是挂单量是否真实,有些数据源会把前档量合并,那就没法分析订单簿深度了。比如你算“卖一量/总卖量”这种指标,如果总量不准,算出来就是错的。我踩过这坑,所以后来都直接拿逐笔和快照原始字段自己算。

美股逐笔成交

美股做市商多,成交更碎,而且有暗池、场外回传,所以逐笔数据里会有几点不同:

字段 备注
代码 如AAPL
时间 精确到毫秒,带时区
价格 美元
成交量 股数
成交条件码 比如@代表常规成交,F代表交叉交易等,这个码很重要,能过滤掉非市价成交
交易所代码 哪家交易所成交的,比如N=NYSE,Q=NASDAQ
成交序号 去重用

美股逐笔量很大,一天全市场可能上亿条,下载下来硬盘要留够。字段里我最看重成交条件码,因为很多暗池交易其实不具备价格发现功能,做回测如果不剔除,结果会明显失真。

美股订单簿(Level 2)

美股订单簿和港股十档不同,它是逐笔变化的,也就是只要盘口挂单有变动,就推送一条增量记录。所以字段不止是价格和量,还有动作类型:

字段 含义
代码 股票代码
时间 变化时间
价格 委托价格
数量 挂单量
方向 买/卖
动作 新增、修改、删除
订单簿ID 用来追踪某个订单的生命周期

这个数据量比逐笔成交还大,我就试过下载一天某只热票的订单簿,直接几十G。要是做高频因子,比如订单簿不平衡度、订单流毒性,就必须用这个数据,千万不能用快照代替。

分钟级API接口

除了历史批量下载,他们还开了个API,能拿分钟K线,适合做日内策略或者监控。我平时用Python调,接口地址和参数文档在 https://cmes-data.com/download.html?type=vip 有写。简单贴一段代码,你们可以直接跑:

# pip install cmes_data  # 先安装包,注意版本可能更新
from cmes_data import MinuteAPI

# CMES金融数据库的行情接口,注意入参正确,调用频率正常
api = MinuteAPI(api_key='你的key')  # 注册后会分配key
df = api.get_minute_kline(
    symbol='00700',
    market='HK',
    start_date='2024-12-01',
    end_date='2024-12-07',
    freq='1min'  # 支持1min,5min,15min
)
print(df.head())

调用频率官方限制是每秒不超过10次,我一般会加个time.sleep(0.2)保底,避免被临时封IP。返回的字段有开盘价、最高、最低、收盘价、成交量、成交额,还有一个“数据时间”字段,注意收盘价已经复权。

日更新和批量下载

历史数据可以一次性把指定日期范围全拉下来,我试过拉港股过去一年全部逐笔,大概跑了一个多小时,中间断过两次,好在支持断点续传,不用从头来。每天收盘后数据会自动更新,早上起来就能拉到昨天的,做盘前分析刚好够用。

注意:无论是港股还是美股,历史数据都是以单独文件提供,格式是parquet或者csv.gz,压缩比很高,我本地解析用pandas直接读,没有什么加密,这点比较方便。

顺便提几个容易出错的地方

  • 港股交易时段分为早市、午市、竞价时段,逐笔数据里会包含所有时段,但如果你只做连续竞价,要按时间过滤掉盘前盘后。
  • 美股数据注意时区,默认是美东时间,转北京时间夏令时减12小时,冬令时减13小时,我经常搞混,还好代码里写死了自动转换。
  • 十档数据里买一价和卖一价,有时候看起来不合理,是因为当时有涨跌停或者熔断,不是数据错误,遇上这种情况别直接删,可以标记一下。

最后想说,数据字段再全,关键还是得自己理解业务逻辑,字段定义清楚,回测才能少走弯路。文章里提到的这些数据,你可以自己去CMES官网看看,下载页面就有样例文件,拿几个样例先跑跑,比看文档直观。

评论