多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

A股股票五档Tick快照、分钟行情与逐笔L2十档数据介绍

A股股票五档Tick快照、分钟行情与逐笔L2十档数据介绍 A股股票五档Tick快照、分钟行情与逐笔L2十档数据介绍刚入门做策略那会儿以为看个分时图就够用了后来拿五档盘口细节去回测才发现根本不是一回事。普通软件上看到的盘口也就五档可如果你想拿到逐笔成交和更深的挂单就只能从专门数据源去抠。A股这边常见的几种高频数据主要有三类五档tick行情快照、分钟级别行情、逐笔L2十档行情。下面分别说清楚它们到底是什么各自有哪些字段大概怎么用。五档tick行情快照这个其实就是每隔几秒更新一次的盘口“快照”不是逐笔驱动那种而是每隔固定时间比如3秒或者有成交变化时推送一次。通常会包含字段含义时间戳快照产生的时间最新价最后一笔成交价格成交量当日累计成交量成交额当日累计成交额买一 ~ 买五价前五档买入挂单价买一 ~ 买五量对应档位的挂单量卖一 ~ 卖五价前五档卖出挂单价卖一 ~ 卖五量对应档位的挂单量我自己用的时候比较关注买一卖一的挂单堆积变化至于卖五买五那种位置流动性差的票基本是空的参考意义不大。不过如果做高频因子前五档的厚度比值还是挺有用的尤其看到买一单突然被吃掉又没补上来这个节点的快照就别有意味。分钟级别行情数据这个比较好理解就是把一天的交易切成N段每段内汇总出一根K线的数据。常见是1分钟、5分钟、15分钟、30分钟、60分钟。字段就比较标准了时间、开盘价、最高价、最低价、收盘价、成交量、成交额有些来源还会带上持仓量如果是指数或期货但股票一般就是这几个。做CTA或者趋势策略的用分钟线理所当然可如果你是做切片分析或者想算分钟内的委托不平衡那还得往下看五档快照甚至逐笔。分钟数据的好处是体积小、规则整齐处理起来快。像我之前在本地跑一个2000多只股票一年的1分钟线普通的pandas就能搞定完全不需要分布式。逐笔L2十档行情这个就是Level 2了。之所以叫“十档”是因为它把买卖盘口从五档扩展到了十档而且还有一个关键变化有了真正的逐笔成交记录。普通快照里你只能看到若干秒一次的最新价和成交量但中间发生了多少笔交易每笔的主动买卖方向、挂单类型你都看不到。而逐笔数据会把每一笔成交都给你包含时间戳精确到毫秒、成交价格、成交量、买卖方向有些来源叫BS标志部分还可以区分是主买还是主卖甚至能识别出对手盘的类型。盘口部分则是十档挂单的全景字段上类似五档快照只不过扩展到了买一到买十、卖一到卖十。对于做高频做市或者盯盘口撤单行为十档才有分析价值五档还是太浅了。这数据量就大多了。一只票一天的逐笔十档快照纯文本存下来可能就有几百MB稍微处理几次内存就爆了。我最早是从网上下别人分享的CSV后来觉得太麻烦干脆直接用数据源的API来拉。现在用的是一个叫CMES金融数据库的东西接口文档在他们下载页里写得清楚有对应的Licence就能直接取不用再自己解二进制或者写复杂的爬虫。大概调用方式长这样# 安装pip install cmes-financefromcmes_financeimportCMESData# CMES金融数据库的行情接口注意入参正确调用频率正常apiCMESData(api_keyyour_key_here)# 取某只股票当日的逐笔成交tickapi.get_stock_tick(symbol000001.SZ,date2024-01-10)print(tick.head())# 取分钟线min_klineapi.get_stock_kline(symbol000001.SZ,freq1min,start2024-01-01,end2024-01-10)print(min_kline.shape)接口返回的字段就是上面提到的那些不过注意一点每个来源对涨跌停时的挂单处理不一样有些会保留涨停价上的买单有些会直接过滤掉取数据前最好先看清楚说明。日常做分析我自己组合着用的习惯是先用分钟线选股或者初步筛选锁定几只票之后再去看它们的五档快照或者逐笔成交看是否有什么异常的盘口行为。不然直接全市场扫一天逐笔数据量能把硬盘吃满得不偿失。其实大部分普通策略用分钟线和五档快照已经够了除非你是做高频套利或者盘口特征工程那十档和逐笔才算刚需。
返回列表