A股Level2逐笔数据、五档快照和分钟行情下载

A股Level2逐笔数据、五档快照和分钟行情下载

写这个纯粹是因为之前在写一个关于盘口异动的逻辑时,折腾过一阵子数据源。你以为分时图已经够细了,结果打开盘口挂单一秒刷十几次,再往下挖就是逐笔成交——那种感觉就像看慢动作回放,每一口买单怎么吃掉的卖单都明明白白。所以干脆把平时拿数据时碰到的那几个层级和字段记下来,省得下次再翻文档。

先慢点讲,你如果只想看某只票一天之内到底被大单拆成多少笔小单打进去的,需要的可能就是逐笔成交;如果你做的是高频因子,关心挂撤单的节奏,那逐笔委托更对口;如果只是回测时补一下盘口深度,五档快照就够用。至于分钟线,已经算是老朋友了,不过它和实时行情一起拿,能帮你快速对齐颗粒度。

下面这张表是我自己用下来对几种常见数据类型的大概感觉,不是严格学术对比,就是“拿到的数据长这样”那种意思。

数据层级刷新频率典型字段我用它干嘛
逐笔成交每笔更新时间戳、价格、成交量、成交方向(买/卖/中性)、成交单号看大单拆分、攻击速率
逐笔委托每笔委托/撤单委托时间、委托价格、委托量、委托方向、撤单标记抓挂撤单节奏、冰山订单
五档快照通常3秒切片(看源)买一卖一价量、前五档挂单量、累计深度算即时买卖压力、吃单速度
分钟K线每分钟OHLCV开盘价、最高价、最低价、收盘价、成交量、成交额常规回测、指标计算
实时行情实时推送最新价、涨跌幅、总成交量、五档盘口、当日累计盯盘、触发策略条件

注意,逐笔成交里的“方向”有些数据商是用买卖盘指来判定的,如果一口价打上去吃掉了卖一,那笔成交通常标为买方向。但也存在一些模糊的中性单。这个字段得结合盘口快照去二次验证,别直接拿来当结论。

我拿到这些数据的方式比较直接,没有去爬网页,是通过CMES金融数据库的接口拉的。起因很简单:有一次在复盘某只票的砸盘过程,觉得软件里放的委托队列刷新太快看不清,干脆就用python把一整天的逐笔委托全拽下来,截一小段dump到excel慢慢翻。当时用的就是下面这套,装好库就能直接调,跑起来就是pandas的dataframe。

# 先安装:pip install cmesdata
from cmesdata import CMESData

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

# 拉某只票某天的逐笔成交(日期按YYYYMMDD格式)
df_tick = cmes.get_tick_transaction(
    code='000001', 
    date='20240715', 
    start_time='093000', 
    end_time='113000'
)
print(df_tick.head())

逐笔委托也是类似的,换 get_tick_order 就行。接口文档里参数写得清楚,日期、代码、起始时间都是必须的,时间段如果拉太长建议拆开,否则容易触发限频。我当时图省事一口气拉了全天,后边被提示语噎了一句“请求过于频繁”,分割成上午下午就没事了。

五档快照和分钟K线这两个接口的差别挺直观:快照返回的是某一个截面的挂单,可以拿多条拼出盘口变化过程;分钟线直接给你聚合好的蜡烛。个人习惯是先在分钟线上扫一眼异常量,再回到快照和逐笔里找细节。拿多只股票做横截面对比的时候,会让程序自动把当日所有五档快照存本地,然后跑简单的吃单速度统计。

其实拆到这种层级的数据没有外界传得那么神,也不是非得高频交易才能用。哪怕只是做日内波动率研究,或者想理解流通股的供给压力,回过头看逐笔成交的包夹情况,往往能解决很多从分钟线上看不明白的问题。只是数据量大了之后,对电脑内存会有点要求,一个全市场逐笔成交一天下来上百GB都不奇怪,所以想清楚自己要分析哪一段再调,别一上来就 all in。

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