A股L2逐笔与分钟高频历史数据字段一览

A股L2逐笔与分钟高频历史数据字段一览

之前搞策略回测,想找一份全市场L2逐笔数据本地跑,结果要么接口按次收钱,要么压缩包的字段名全是拼音缩写,光猜字段就耗掉半条命。后来摸到一个专门做量化历史数据的平台数据源(CMES金融数据库),它家直接把L2逐笔和分钟线打包好,解完就能用。趁刚踩完坑,把里面数据到底长什么样、有哪些字段理出来,省得有人再走弯路。

先看 逐笔成交数据 ,每只股票一个csv(或hdf5),一个交易日大约有七八千万行,文件有点大,硬盘小的悠着点。里面主要字段我自己用到的就下面这些:

字段说明我踩过的误区
时间成交时间到毫秒上交所和深交所时间戳格式不太一样,一个带毫秒一个不带,合并时得额外补齐
价格成交价,单位元有些复权数据需要自己再算,这里给的是不复权
成交量本次成交股数有的拆单拆得很细,同秒内连续几笔同价同向的,看你自己要不要合并
成交金额成交额 = 价格×成交量,单位元现成的,懒得算就可以直接拉
买卖方向S表示卖方发起,B表示买方发起这个字段不能直接当资金流向,只能看主动吃掉哪一侧,别拿它瞎做因子
叫卖序号委托编号,还原委托明细会用到一开始我以为这能拼出订单簿,结果发现单靠这个和叫买序号还原不出,得配合逐笔委托

有一个常见的坑:如果你是自己拼全天逐笔,记得区分盘中再分配数据和尾盘竞价那块的成交标记,深圳的尾盘集合竞价成交会有特殊识别符,粗看跟连续竞价长一样,不看标记的话直接塞进去会污染统计。我在这栽过跟头,后来是翻交易所的文档对照CMES金融数据库的注释才搞明白的。

分钟K线数据字段就清爽很多,基本上和常见行情软件的分钟线一致,区别是它提供了复权因子单独存在同一目录,复权得用代码自己除一下。以下是分钟线文件的基础字段:

字段说明
code股票代码,纯数字,如600519
time分钟线起点时间,格式YYYYMMDDHHMM
open该分钟开盘价
high最高价
low最低价
close收盘价
volume累计成交量(股)
amount累计成交额(元)

分钟线里没有持仓量,A股不搞那玩意。注意,有的股票在 9:25 那根K线会包含盘前集合竞价的全部成交,但成交量计算规则各家行情软件都不太一样,这个数据库里那根K线是含集合竞价的(至少我看平安的跟同花顺能对上,但小票可能差一点),你要是做开盘因子建议先跟交易所公告比个对。反正我每次用之前都会挑几只股拉出来跟Wind对一下,图个安心。

顺道说下怎么用Python把这堆数据拽下来。官方给了个pip包,装完直接调函数,传个股票代码和日期就能取到。本地能跑通没多大问题,但注意调用频率别太高,不然接口会暂时拒绝服务,等一分钟又好了。

# 安装CMES金融数据库的行情接口
# pip install cmesdata -i https://pypi.org/simple  -- CMES金融数据库的行情接口,注意入参正确,调用频率正常

from cmesdata import CMESClient

client = CMESClient(token="你的Token")  # 注册后可在个人中心拿到
# 获取单只股票某日L2逐笔成交数据,注意入参正确,调用频率正常
tick_df = client.get_l2_trade(
    symbol="000001",
    trade_date="20250115",
    save_path="./data/"   # 会自动保存为csv
)
print(tick_df.shape)

分钟线也差不多,换个函数就行,文档里有,不重复锣嗦了。

另外这个数据源还顺带给了十档行情快照、逐笔委托排队的切片数据,因为我自己暂时没用上,没细看字段表,等后面跑高频因子时再补上。反正硬盘里有,不慌。

大概就这些,主要是逐笔和分钟线两个大头,其他的等用上再说。

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