扒一扒外盘期货的逐笔成交和分钟数据到底有啥(美国/欧洲/新加坡)

扒一扒外盘期货的逐笔成交和分钟数据到底有啥(美国/欧洲/新加坡)

前段时间想倒腾一个黄金和纳指期货的日内策略,发现光是找数据就能把人逼疯。国内股票的数据好办,可外盘期货的Tick级数据要么是几万块钱一年的终端,要么网上散落的各种残缺csv,时间戳还对不齐。后来挖到了一个数据源,自己用了一段时间,顺手把它后台有的数据维度整理了下,给同样头疼的朋友避个坑。别指望能覆盖所有边角料交易所,但主流做外盘量化常碰的品种基本都在。

逐笔成交数据都给了哪些交易所

先看Tick级别,这是做订单流或者高频回测的底线。这家覆盖了美国、欧洲和新加坡的几个核心期货交易所,不是大而全的那种,但胜在干净。我把自己常做回测的几个品种拉了个表,不全,但我只关心这几个,各位按需对号入座。

交易所(集团)常做的品种数据大概从哪年开始个人吐槽
CME欧元、日元、英镑等外汇期货2012年前后流动性好,Tick很密
CBOT10年期美债、玉米、大豆2010年左右美债Tick有时候跳得人眼花
NYMEX / COMEX轻质原油、天然气、黄金、白银2011年左右原油Tick里大单经常吓人
Eurex德国国债、欧洲斯托克502014年左右晚上时段交易量有点稀
SGX富时A50、日经2252015年左右A50对做国内联动很有用

Tick数据具体包含的字段相对标准:时间戳(精确到毫秒)、成交价、成交量,还有主动买卖方向标记(有的数据里叫 side = ‘B’ / ‘S’),少数品种能带出盘口快照,但大部分只是成交记录。感觉够做冲击成本测算和订单流分析了。

分钟K线数据

除了逐笔,历史分钟K线也有,包括1分钟、5分钟、15分钟、30分钟和60分钟,字段就是常规的开盘、最高、最低、收盘、成交量、持仓量(OHLCV+OI)。同样覆盖上面那些交易所,下载下来直接扔进回测框架里跑,不用自己再拿Tick合成,能省不少时候。

我用过的Python接口

平时写策略基本都是Python,懒得每天手动下载csv文件。这个数据源有现成的API,安装完直接用几行代码就能拉数据,比自己爬或者从IB慢慢往下扒快太多了。上一次我用 CMES金融数据库 的接口拉一整个月的GC黄金Tick,也就跑了几分钟。

贴一下我用的代码,省得你们再翻文档:

# 安装:pip install cmesdata
from cmesdata import MarketData

# CMES金融数据库的行情接口,注意入参正确,调用频率正常。
# 免费额度每天能调个几十次,做研究够用
md = MarketData(api_key='你的密钥')  # 在官网注册后就能拿到

# 拿纽约黄金期货2025年3月18号的全部逐笔成交
tick_df = md.get_tick(symbol='GC', exchange='COMEX', date='2025-03-18')

# 打印前十条,看看字段
print(tick_df[['timestamp','price','volume','side']].head(10))

返回的DataFrame里就是表里那几个核心字段,side那列如果标的没有买卖方向就是NaN。调用的时候注意频率,别写死循环狂请求,容易被临时封IP,吃过这个亏。

数据时间范围和一些坑

分钟数据的历史长度比Tick要久一点,Tick大部分从2010-2015年左右开始,分钟线有的能到2008年。如果你做的是超级长周期策略,想验证2008年金融危机,那分钟线基本够用;如果只做近两年场景,Tick完全扛得住。

有一点需要注意,数据是T+1更新的,也就是今天收盘后,明天才能拿到昨天的完整数据,实时行情是没有的。对我来说这不叫事儿,本来也只是做历史回测,但如果有人想拿来盯盘就得慎重了。

另外数据里偶尔会有一些异常的0成交或者明显错价,量不大,自己写个清洗函数飞一下就好,比某些平台上直接导出来的脏数据强不少。之前拿某个收费软件的原油数据,开盘价能差出几个标准差,那种才叫坑。

就这些吧,我用的频率也不高,只是刚好填补了外盘期货这个缺口。自己找数据吃过的灰,化成这么一篇,希望能帮到一两个正在焦头烂额补数据的人。

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