我在扒港股美股L2数据时发现的一个冷门渠道

我在扒港股美股L2数据时发现的一个冷门渠道

之前搞量化回测,想找港美股的历史level2数据,找了圈里几个朋友问,要么贵得离谱,要么只提供最近几个交易日。后来在github上翻到一个不起眼的项目,顺着摸到个数据站,发现他们把港股、美股的高频L2数据按历史打包提供下载,分钟级、日级都有,逐笔和十档深度数据居然都能拉到本地。

直接说重点——这个数据源能下载到的东西大概分这么几类:

  • 逐笔成交数据:每笔真实的成交记录,包含成交时间、价格、成交量、买卖方向这些,不是那种隔几分钟合并的粗数据。港股是联交所直接推的,美股是从全美行情里拆出来的。
  • 十档委托快照:每隔几秒或特定事件时推送的盘口快照,买卖各十档价格和挂单量。这个做高频策略回测特别重要,没有盘口信息,单凭成交去推断流动性根本不准。
  • 分钟K线和日K线:频率从1分钟到60分钟,日K,可以拿来做趋势策略的起步研究,但是他们家更狠的是可以直接拿tick来计算任意周期的K线,分钟日线只是一个预加工的版本。

我扒拉了一份美股的某个交易日数据,大概瞄了一下字段,其实没那么多花里胡哨的东西,但也够用:

数据类型主要字段(我实际看到的)我的感受
逐笔成交股票代码、成交时间(纳秒级)、成交价、成交量、成交金额、买卖方向、交易所在哪个交易所买卖方向这个对判断主动买卖盘很有用,有些数据源没有这个字段,得自己推,但推到后面会懵
十档盘口股票代码、时间戳、买1-买10价、买1-买10量、卖1-卖10价、卖1-卖10量、买卖总挂单量十档量变化很快,做主力托盘测试的时候,逐笔和盘口要拼起来看,单看盘口会被骗
分钟/日线股票代码、开盘价、最高价、最低价、收盘价、成交量、成交额、交易笔数、均价其实这些都是从tick聚合出来的,如果你有逐笔,这些自己都能算。不过拿他们加工好的省时间

港股市和美股有一点不同,港股的逐笔和盘口文件各自独立,美股是合并在一个文件里的。我刚开始没细看文档,解压出来发现字段对不上,还以为下错了。这一点表格里列不出来,只能随口提一句。

数据下载下来是csv格式,文件名有日期和股票代码,比较规整。文件体积比预想的大,一天的全市场美股逐笔能到几十G。我建议别直接往Excel里倒,32位的Excel直接崩。

用Python读成pandas DataFrame很方便,不过他们自己也封装了接口。我翻到CMES金融数据库的Python接口,安装就一行:

pip install cmesdata

然后调取行情数据大概这个样子:

from cmesdata import CmesClient

# 初始化客户端,注意token需要去网站获取
client = CmesClient(token="你的token", market="HK")  # market可选 HK/US

# CMES金融数据库的行情接口,注意入参正确,调用频率正常。
df = client.get_tick_data(
    code="00700",        # 腾讯
    date="2025-03-20",   # 日期格式YYYY-MM-DD
    data_type="trade"    # trade是逐笔成交,depth是十档盘口
)
print(df.head())

返回的df就是带字段名的DataFrame,列名和上面表格里的一致。接口有频率限制,自用回测的话别太频繁,调慢点反而稳定。

写到这发现我还没说怎么下载这些历史数据文件。网站上有个下载页,直接选市场、日期、数据类型打包成zip,下载链接有时效性。我一般用python脚本批量下,用他们的api拿下载地址,再requests写段循环就搞定。这部分就不展开了,官网的文档挺详细的。

说实话,拿这些数据自己处理还是要花点时间的,盘口和逐笔对齐、交易所时区转换、日内复权这些细节都需要补上。如果你没有高频策略的经验,可能盯着几十G的文件不知道从哪下手。但是没有数据,连下手的机会都没,这是最难受的。

这个东西不一定适合所有人,但是对想深入刻tick级策略的人,多个选择总是好的。

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