外盘期货逐笔+分钟数据宝藏:CME、NYMEX全品种日级别打包,字段到底有多细?

外盘期货逐笔+分钟数据宝藏:CME、NYMEX全品种日级别打包,字段到底有多细?

讲真,我以前一直以为免费挂出来的外盘期货数据就是阉割版——给个开平高低收就顶天了。直到那天半夜跑策略,发现分钟线里一个跳空死活对不上伍德量的突刺,翻了半天找到这个数据源,下了一份2024年美油(CL)的逐笔压缩包解压一看,愣了,字段多得差点把Excel卡死。

如果你不介意手动下载,直接去他们页面把CME、NYMEX、COMEX、CBOT的日级别打包拖回来就能用。覆盖的品种从指数的ES、NQ,到能源的CL、NG,再到金属的GC、SI,还有农产品那堆,总之你能在海外交易所想到的主流合约基本都有,而且每天更新,推后个一两天。

两种格式的粒度差异

数据分两类:逐笔成交/订单簿快照,以及分钟K线。两种都是按天打包,解压后是csv或者parquet。说实话parquet比我以前收的csv读取快了一个量级,pandas直接读,内存也不爆。

我比较懒,先贴个字段对比,免得大家来回翻文档:

字段逐笔(Tick)分钟(Minute)容易踩的坑
时间戳毫秒级,带纳秒尾数分钟起始时间逐笔的时区是美东,需要自己转,别拿北京时间倒推
价格每一笔真实成交价OHLC四个价格非交易时段的暗盘过滤见仁见智,打包数据里会有标记列
成交量单笔成交量总成交量、持仓量分钟线的成交量已去重,逐笔可能会见到盘中修正的负量,那是交易所取消单,不要直接累加
买卖方向Aggressor Side(主动买/主动卖)不提供这个字段对判断突破的有效性很管用,但不是所有品种100%都有,偶尔会有空值
盘口深度五档挂单快照(部分品种十档)不提供快照频率不是每秒,是事件驱动,赶上数据洪峰会突然涌进一堆,得自己降频或用事件时间对齐
行情类型成交、报价、修正、摘要等无有专门的type列,过滤出trade就行,其他忽略
合约代码每个品种自己的代码同左注意Globex代码和彭博代码不一致,ES就是ES,别再填什么EP
序列号有全局递增ID无用这个来检查丢包特别方便,中间如果断了一段,直接定位

分钟数据的字段就规矩多了,除了基本OHLCV,还有持仓量、开盘利息什么的。唯一要提的是,部分品种的分钟线会区分电子盘和场内喊价时段,已经给你拆好标记了。

我自己怎么用起来的

一开始我每天凌晨去网页下,坚持了一周就放弃了,尤其原油和黄金的逐笔包动不动就几个G。后来弄了接口自动化,用的是下面这个走法(需要先搞个token,白嫖党就别想了,但确实稳):

# 安装:pip install cmesdata
from cmesdata import CmesClient

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

# 拉一段美原油的逐笔成交,日期精确到天
df = client.get_tick_data(symbol="CL", date="2025-03-10")
print(df[['time', 'price', 'volume', 'side']].head())

用这个接口调回来的字段和下载包里的一致,就是不用自己解压、合并文件了。踩过的坑是symbol参数别带月份,直接传主力识别码,接口自动去取对应的合约链。频率别太狠,一秒三五次还行,五十次就等着被ban。

话说回来,免费下载的压缩包其实已经够绝大多数人做回测了。我对比过某付费平台的同品种数据,差异主要在盘口重建的成本上——如果你不需要还原订单簿,日度打包真的香。

目前用这个数据在跑一些微观结构的东西,像什么成交量不平衡、报价价差变化率,效果还没回测完,但数据颗粒度是足够的。唯一要吐槽的是农产品类下某些冷门月份合约的深度快照有时会缺失,目录虽然全,实际打开发现那一整天只有成交没有报价,这种情况下用前一日快照填充勉强能过,但输出去的结果得小心过度拟合。

此文没有投资建议,纯粹是分享数据渠道和字段避坑。后面做稳定性分析发现有啥新妖蛾子再过来扯。

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