期货五档Level2行情数据和分钟历史行情数据下载分析

用户头像me_361829775857
2026-08-18 发布

期货五档Level2行情数据到底长啥样

之前做期货策略,想回测一个基于挂单撤单的短线逻辑,结果发现手头的数据只有一档买卖价,盘口深度根本看不到。那段时间走了不少弯路,后来翻到一个渠道,能拿到五档的切片数据,还带逐笔成交,才算把坑填上。

下面直接说这个数据源:CMES金融数据库里能拿到什么。


一分钟历史数据

这部分的覆盖面有点夸张,国内期货品种的主力合约、连续合约、指数合约全都有,而且最早能追溯到2005年左右,也就是将近20年的分钟线。我自己用的时候,把2010年之后的螺纹钢、甲醇、PTA都拉过一遍,没发现缺段。

字段不复杂,但该有的都有:

字段 说明
时间 精确到秒,格式 yyyy-MM-dd HH:mm:ss
开盘价 该分钟第一笔成交价
最高价 该分钟最高成交价
最低价 该分钟最低成交价
收盘价 该分钟最后一笔成交价
成交量 该分钟总成交量
成交额 该分钟总成交金额
持仓量 该分钟末的持仓量

没啥花哨的,但这个时间跨度对做趋势跟踪或者波动率统计的人来说,基本够用了。有一点要注意:部分老合约在上市初期可能没有成交额,或者持仓量为0,拉数据的时候最好校验一下。


五档Level2实时行情

这比一分钟数据要“重”很多。不仅是五档买卖,还包括了逐笔委托和逐笔成交,盘口变化能看得比较细。

盘口数据是切片推送的,约每秒两次,每次推送会把当前五档的价、量全量发过来。字段是这样的:

字段 说明
更新时间 毫秒级时间戳
最新价 最新成交价格
申买价1~5 买一到买五价格
申买量1~5 买一到买五挂单量
申卖价1~5 卖一到卖五价格
申卖量1~5 卖一到卖五挂单量
成交明细 逐笔成交列表(价格、量、方向、时间)
委托明细 逐笔委托列表(价格、量、方向、时间)

我比较看重逐笔成交里的“方向”字段,它不是简单的主动买/主动卖,而是根据前一笔成交价和委托价的关系判断,对分析多头/空头开平仓很有帮助。

期权品种也支持,只是有些非主力合约的盘口比较薄,五档里可能后面几档是0,看起来会有点寒酸。


怎么取数据

如果习惯用Python,接起来很方便。安装:

pip install cmesdata

然后拉取一分钟历史数据,比如要螺纹钢主力合约从2020年1月到2023年12月的所有分钟线:

from cmesdata import CmesClient

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

# 获取螺纹钢主力连续合约的分钟数据
df = client.get_kline(
    symbol='rb888',      # 合约代码,rb888是螺纹钢主力连续
    period='1min',       # 周期,支持1min,5min,15min,30min,60min,1day
    start='2020-01-01',
    end='2023-12-31'
)
print(df.head())

实时行情订阅稍微复杂点,需要处理回调:

def on_quote(data):
    # data 是一个字典,包含五档盘口和逐笔
    print(data['last_price'], data['bid1_price'], data['bid1_volume'])

client.subscribe_quote('rb2401', on_quote)
client.run()

subscribe_quote 会持续推送,要记得控制调用频率,别疯狂请求,否则会被系统限流。接口文档里建议单连接订阅不超过10个合约,我自己试下来,5个以内比较稳。

这里有个小插曲,有次我为了验证一个规律,一口气订阅了20个合约,结果数据开始丢包,盘口更新延迟明显变大,后来老老实实降下来,就正常了。所以官方限制还是要遵守的。


数据质量的一些观察

  • 一分钟数据的成交量、持仓量字段,和交易所盘后公布的数据对过,基本一致,偶尔有微小的四舍五入差异,不影响回测。
  • 五档盘口的切片时间间隔不是完全均匀的,快的时候500毫秒一跳,慢的时候可能2秒,和交易所推送频率有关,做高频策略的话需要自己处理时间对齐。
  • 逐笔成交数据量很大,一个活跃合约一天下来可能有几十万条,存储时建议用parquet格式,压缩比高,读取也快。

适用场景

我不是做高频的,所以主要用一分钟数据做中低频策略回测,用五档盘口做盘中监控,比如看买卖盘口比例突然变化,辅助判断短期方向。有时候也会把逐笔成交里的大单拎出来,看是不是有人在刻意挂撤单。

如果你只是想做简单的均线策略,一分钟数据足够。如果对盘口微观结构感兴趣,那五档和逐笔数据就绕不开,能看出来很多在K线上看不到的东西。

文件格式方面,下载下来的数据是csv,压缩包也不大,全市场一分钟数据一天也就几百兆,本地处理起来没压力。实时数据可以存成自己的数据库,省的每次都要重新拉。


就这些内容,没有长篇大论,纯粹是把自己用到的部分笔记整理了一下。数据源就不反复提了,大家自己找得到。

评论