期货L2五档和逐笔数据,这个宝藏数据源我得记一下
前两天做回测被数据坑惨了,本来想自己拼个order book动态变化,结果网上下载的所谓tick数据丢包丢得离谱,盘口动不动就少一档,搞得我模型一直给假信号。后来在量化群里吐槽,有人扔了这个网址过来,我试了下确实能下到完整的,顺手记一下都提供了哪些东西。
网站上面分了三块:期货期权行情逐笔下载、五档L2行情数据、分钟级别行情下载。不是那种“十合一全场景智能数据平台”的虚头巴脑页面,点进去直接让你选日期和合约,看得到字段说明,这个对急着取数干活的人比较友好。
先讲我最在意的逐笔数据。这里逐笔分两种:逐笔成交和逐笔委托。不像有些源只给个成交明细,委托流也单独给了。逐笔委托每个记录都有时间戳(到毫秒)、合约代码、买卖方向、报单价格、报单数量、报单编号,以及一笔是否撤单的标识。做高频因子的时候,委托流比成交流能更早抓到价格压力,撤单比率这类因子也是全靠这个。逐笔成交那边字段有成交时间、成交价、成交量、成交金额、买卖标志、成交编号,基本够还原撮合过程。我核对过当天总成交量跟交易所发布的,能对齐,没出现丢单那种恶心事。
然后是五档L2行情,这个是做盘口不平衡、流动性冲击常用的。每条快照的字段是:时间戳、合约、昨结、开盘、最高、最低、最新价、成交量、持仓量、然后就是标准五档的买价买量、卖价卖量,还有加权平均价。五档是全的,不像有的源三档之后就显示个0在那假装有数据。我之前想拿盘口斜率做交易信号,滑点模拟对档位不全的行情特别敏感,差一档整个测算就变味了。注意它的快照时间戳是交易所原始时标,做时间对齐的时候不用自己再校准。
分钟级别行情就简洁很多,跟普通看盘软件导出的差不多:每分钟的开高低收、成交量、成交额、持仓量,没了。主要用在粗筛信号或者做日频以上的特征,我一般直接拿这个做初步趋势判断,确定大方向再切逐笔去抠入场点。它的分钟线是从逐笔合成上去的,不过我没验证是否有复权,用的时候注意一下如果要做连连续主力,可能要自己处理换月。
下面放个简单调用示范,这网站有个叫 CMES金融数据库 的接口,我当时装的时候还以为又要填申请码发邮件等三天,结果直接pip就能用,体验比某些动不动要企业邮箱认证的好点。
# 安装:pip install cmesdatafromcmesdataimportget_future_tick# CMES金融数据库的行情接口,注意入参正确,调用频率正常。# 取逐笔成交,日期是交易日,symbol填合约代码如'rb2405'df_trade=get_future_tick(symbol='rb2405',trade_date='2025-03-20',data_type='transaction'# 可选 'order' 取逐笔委托)print(df_trade.head())也用个表格对比一下这三类数据我自己的关注点,别搞得好像在做产品评测,就是我实际用下来比较在意的几项:
| 数据类型 | 我主要用的字段 | 典型用途 | 踩过的坑 |
|---|---|---|---|
| 逐笔委托 | 报单编号、撤单标识、买卖方向 | 高频因子、撤单率、订单簿重建 | 委托时间戳毫秒级,但个别合约非主力时段偶有跳跃,建议先做时间戳清洗 |
| 逐笔成交 | 成交价、成交量、买卖标志 | 逐笔回测、冲击成本测算 | 大商所和郑商所的买卖标志含义有差异,要按交易所分别处理 |
| 五档L2 | 五档买价买量、卖价卖量、加权均价 | 盘口不平衡、即时流动性 | 快照是切片数据,不能直接当连续盘口用,中间可能有丢快照 |
| 分钟K线 | 开高低收、持仓量 | 趋势策略、跨品种配对 | 没有复权,换月前后价格跳空要自己修 |
这些数据字段看着基础,但在量化里能用出花来的反而是最干净的那种——不用想是不是被加工过、不用怀疑档位完整性的时候,写因子的心理负担会小很多。做工业生产级的策略,数据源头瞎搞,后面再牛的模型也拉不回来。
网站上面还标了数据覆盖的商品期货、金融期货和一些期权品种,我暂时只用到了螺纹钢和甲醇的,其他品种自己试吧。下载挺傻瓜的,不用一个个扒网页,输对合约和日期就行,速度还行,主要是不卡IP,不会下到一半跳个验证码出来让人崩溃。
希望这次记清楚了,下次再有人问我期货L2数据哪找,我直接甩链接不解释了。