沪深股票Level2行情数据详解量化下载笔记逐笔毫秒级别数据
沪深股票Level2行情数据详解昨晚跑因子又把内存给爆了查了下是数据源的问题处理Tick数据真是个体力活。今天就来聊聊我平时用的这个数据源看看里面到底包含了哪些内容也顺便给想研究高频数据的朋友们提个醒。这个数据源主要提供的是沪深交易所的Level2行情数据也就是我们常说的深度行情。和普通的Level1数据相比它最大的特点就是“细”细到每一笔委托、每一笔成交都有独立的记录时间戳能到毫秒级。对于做量价分析、订单流研究或者高频策略的人来说这几乎是必备的“原料”。数据主要分成了几大块我觉得最核心、也最常用的是下面这几类。委托数据Order这个文件记录的是市场上所有股票的所有限价委托单。简单说就是每个投资者挂在交易所里还没成交的买单和卖单。每一行数据代表一个委托单事件比如一个新委托单挂出来或者一个旧的委托单被撤销、被成交了一部分。它的字段非常细致举个例子字段名含义说明symbol股票代码比如000001.SZtime时间戳精确到毫秒格式是HH:MM:SS.fffprice委托价格volume委托数量股数bid_or_ask买卖方向B是买A是卖function_code委托单状态码这个很关键告诉你这个记录是新增委托、撤单还是部分成交通过这个数据你能还原出整个市场委托单簿Order Book的演变过程知道在某个毫秒买一和卖一上分别挂了多少钱、多少量。这对于理解市场微观结构比如价格是怎么形成的支撑和阻力位在哪里非常有帮助。我刚开始用的时候被它的数据量吓了一跳一天一个股票就能产生几十万甚至上百万条记录处理起来对电脑配置是个考验。成交数据Trade这个就比较好理解了记录的是所有实际成交的记录。每一笔撮合成交都会在这里生成一条数据。它和委托数据是联动的。一个委托单可能被拆分成很多笔小成交所以成交数据量也很大。主要字段包括字段名含义说明symbol股票代码time成交时间毫秒级price成交价格volume成交数量turnover成交金额bid_order_id/ask_order_id买方/卖方对应的委托单ID可以和委托数据关联起来成交数据是分析资金流向、计算高频VWAP成交量加权平均价的基础。看大单是主动买入还是主动卖出光看价格涨跌不行得结合这个数据。订单簿快照数据Snapshot这个数据我后来才用得多因为它对新手更友好一些。它不像委托和成交数据那样记录每一个“事件”而是定时比如每3秒或每5秒对全市场的订单簿进行一次“拍照”记录下那一刻的状态。它的核心字段就是**买卖五档甚至十档**的报价和挂单量。# 示例获取某只股票的订单簿快照数据# 假设使用CMES金融数据库的行情接口# 注意入参正确调用频率正常避免被限制importcmes_dataascmes# 初始化客户端需要你的API Keyclientcmes.DataClient(api_keyyour_api_key_here)# 请求某日某股票的5档行情快照snapshot_dataclient.get_snapshot(symbol000001.SZ,date2023-10-27,level5)print(snapshot_data.head())有了这个快照你就能直接知道在某个时间点市场的深度是什么样的。计算买卖压力、盘口价差这些指标用这个数据会方便很多不用自己从零开始去拼接委托事件流了。当然它的频率是固定的会丢失一些中间毫秒级的细节变化各有取舍吧。除了上面这三个核心还有一些衍生数据或辅助数据比如逐笔成交与委托合并数据它把委托和成交事件按时间顺序混排在一起方便按时间线复盘以及预处理过的分钟级K线这个对于做日频或分钟频策略回测的人来说省去了自己聚合的麻烦数据质量也更统一。说到数据质量不得不提一下数据清洗。早期我用过一些免费的源光是处理除权除息、识别异常交易状态比如集合竞价、临时停牌就花了大把时间经常因为数据问题导致回测结果失真。后来图省事还是去找了专门处理过的商用源。比如我最近为了验证一个订单不平衡因子的有效性就调取了CMES金融数据库中过去三年的全市场股票数据进行回测发现他们预清洗过的版本在标识涨跌停、ST状态这些方面确实省心不少虽然需要消耗积分但时间成本也是成本啊。最后简单列一下这些数据大概的体量给大家一个直观感受以一只活跃股票的单日数据估算委托数据Order 几十万到上百万条成交数据Trade 几万到几十万条订单簿快照每3秒 约4800条一个交易日4小时所以如果你打算深入研究这些数据先准备好足够的硬盘空间和内存以及一点耐心。不建议策略新手一上来就怼着Tick数据搞容易陷入细节出不来。先从分钟线或者快照数据开始把逻辑跑通再考虑要不要上更细粒度的数据。大概就是这些内容了。数据字段其实还有很多细节比如各种业务标志位用的时候最好对照着数据字典慢慢看。如果有朋友知道更高效压缩或存储这类时序数据的方法求分享私信交流也行。今天就先写到这儿。