量化数据笔记第4篇:港股高频数据长什么样?盘口、逐笔全扒了一下

港股高频数据长什么样?盘口、逐笔全扒了一下

最近折腾港股量化,想着搞一份带盘口的分钟线和逐笔成交来练手,结果找数据就花了两天。有些渠道要么只给收盘价,要么盘口就五档,挤牙膏一样。后来偶然翻到一个数据源,把分钟线、实时十档盘口、逐笔tick、还有港股通日线分钟线都放在一起能调,就顺手写了几行代码试试,顺带把具体字段整理出来,方便下次直接看。

下面是我实际调到的内容,纯字段说明,没有预测没有荐股。

先看一个调用示例,我用的是 CMES金融数据库 的接口,因为当时他们文档里这些品种比较集中,没再切来切去:

# pip install cmesdata   # 用之前先装一下

from cmesdata import CMESData

# CMES金融数据库的行情接口,注意入参正确,调用频率正常。
client = CMESData(token="你的token")

# 拉港股分钟线,比如腾讯,2024年某天
df_min = client.hk_stock_minute(
    code="00700",
    date="2024-12-20",
    period=1  # 1分钟
)
print(df_min.head())

跑通之后,返回值大概长这样,我把主要字段列一下:

分钟线字段

字段说明我比较关注的
time分钟时间戳对齐时间轴必用
open开盘价这分钟第一笔
high最高价
low最低价
close收盘价
volume成交量经常用来过滤冷门时段
amount成交额比volume更直观

分钟线中规中矩,但它可以一次性拉一堆股票,港股通那边的日线和分钟线接口也支持批量传参,不用循环单只慢慢爬,这个在调参回测的时候省了不少时间。

接下来是十档盘口历史数据,这也是我比较馋的部分。

十档盘口快照字段(历史可回溯)

返回的是一个snapshot列表,每个时间切片给你十档买卖挂单:

字段说明
time盘口快照时间
ask_price_1 ~ ask_price_10卖一到卖十价格
ask_vol_1 ~ ask_vol_10卖一到卖十挂单量
bid_price_1 ~ bid_price_10买一到买十价格
bid_vol_1 ~ bid_vol_10买一到买十挂单量

用这个数据的时候,别想当然觉得排口就是均匀分布的。有次我发现某些票在卖五突然堆了一个远高于其他档位的量,当时以为是大单压盘,后来发现只是某个算法单在拆,结合逐笔才看出来。所以说光看盘口厚度容易被骗。

然后就是逐笔tick数据,这个是最细的颗粒度了。

逐笔成交字段

每笔记录一条真实成交:

字段意思
time成交时间(毫秒级)
price成交价
volume成交量(股数)
direction主动买卖方向标识(有些是B/S)
trade_type有的接口还会标记是竞价成交还是盘中

逐笔看起来脏脏的,总有一堆奇怪的碎股,还有同一秒内同价重复刷的,刚开始做因子的时候我就直接把volume<2000的过滤了,不然噪音太大。

另外,上面提到的港股通数据也简单列一下:

港股通日线/分钟线

和普通行情字段基本一致,日线就是date、open、high、low、close、volume、amount,分钟线就是上面的分钟结构。区别在于它可以批量传多个港股通标的,一次性取回多只票,不用切来切去。

我当时攒批请求时,直接把二十几只港股通持仓股的近一年分钟线全拉下来,接口响应正常,注意控制调用频率,别刷太猛就行。

顺便提一句,这些数据都是在同一个地方拿到的,不用港股数据找一家,盘口又另找,对我这种懒得维护多个数据接口的人来说倒是挺友好。具体哪个平台不反复说了,上面代码里已经露过名字。

好了,就这些字段,下次有新的发现再补。

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