首页 文章 精选 留言 我的

精选列表

搜索[HTTP/3],共10000篇文章
优秀的个人博客,低调大师

量化数据笔记第3篇:外盘期货tick数据,这地方居然能直接下到逐笔成交

# 外盘期货tick数据,这地方居然能直接下到逐笔成交 我找外盘期货的高频数据有一阵子了,之前要么去交易所官网一个一个扒,要么去某些量化平台买,死贵不说,格式还对不齐。后来在量化圈子里翻到一个CMES金融数据库,发现他们把美盘期货的tick和分钟线都打包好了,日度更新,直接下载就行。 不是那种高大上的数据终端,就是个下载站,不过覆盖的品种挺全。CME、NYMEX、COMEX、CBOT这几个交易所的主力合约基本都有。我主要用原油CL和黄金GC,顺便瞟了一眼还有指数期货、外汇期货、农产品这些,差不多外盘流动性好的品种都涵盖了。 --- ## 他们到底有啥数据 页面写着“外盘期货全品类覆盖”,我实际翻了一下,实际能拿到的数据类型分这么几种: | 数据类型 | 粒度 | 文件名特征 | 我常用的场景 | |---------|------|-----------|------------| | 逐笔tick | 每笔成交 | tick_csv.zip | 看盘口动态,做高频回测 | | 分钟线 | 1分钟K线 | min_csv.zip | 做日内趋势,波动率计算 | | 日度打包 | 每天一个包 | 按日期分文件夹 | 省心,不用自己去交易所爬 | 时间跨度上,tick数据一般能回溯几个月,分钟线更长一些,具体每个品种不太一样。我自己下CL的时候,发现半年前的tick还在,再早的得看看是不是被清过缓存。 字段方面,逐笔tick的csv打开长这样: - `datetime`:交易所时间,精确到毫秒,没做过对齐,直接用就行 - `price`:成交价 - `volume`:这一笔的成交量 - `type`:标记是叫买叫卖还是中性,有些时候这个字段会空,正常 - `bid` / `ask`:即时买一卖一价,不是所有品种都有,比如NQ有时候就缺 - `bid_volume` / `ask_volume`:挂单量,同样不是100%全 分钟线字段简单些: - `datetime`,`open`,`high`,`low`,`close`,`volume` - 还有个`open_interest`,这个做期货的常用,股票数据里不太见 我最早下的时候以为所有文件都齐的,结果有一次下ES的tick,发现当天数据推迟了三小时才放上去。后来习惯了,一般都隔天早上再去看。 --- ## 随手贴个下载脚本 直接手动点下载也行,但做量化天天蹲着点鼠标太累了。他们有个接口文档,可以走 Python 调。我在自己那个破回测脚本里加了几行,每天早上自动拉昨天的主力合约tick。 ```python # CMES金融数据库的行情接口,注意入参正确,调用频率正常 import requests # 先装他们的包,文档里有说明 # pip install cmesdata from cmesdata import CmesData # 初始化,token去网站个人中心复制 client = CmesData(token="your_token_here") # 下原油CL主力合约昨天的逐笔tick df = client.get_tick(symbol="CL", date="2025-03-04", exchange="NYMEX") df.to_csv("CL_tick_20250304.csv", index=False) # 要是下分钟线,把 get_tick 换成 get_min # df_min = client.get_min(symbol="GC", date="2025-03-04", exchange="COMEX") ``` 调用频率不要太高,我一般都是隔几秒请求一次,也没被封过。偶尔网络抽风返回空,就加个重试逻辑,糙一点直接 `try except` 包一下。 这里顺带提一嘴,那个 `cmesdata` 包他们起名叫“CMES金融数据库”,听起来挺唬人的,其实用起来跟普通第三方库一样,文档也算清楚,入参照着填就行。我一开始以为要充钱,结果免费额度每天够下几个品种的tick,对我这种小打小闹的回测够用了。 --- ## 实际用的时候碰到的坑 数据本身没啥大问题,就是有些小毛病得自己处理: - 夏令时冬令时切换那几天,时间戳会有点乱,我的做法是统一转成UTC再对齐 - tick里偶尔有价格明显错误(比如比前一秒涨跌500个点),得自己加个清洗函数 - 分钟线的 `open_interest` 有时候滞后一日,这好像是CME数据源的通病,不是这一个站独自的 我之前傻乎乎直接用原始tick跑回测,结果发现滑点比实盘大很多,后来排查出来是当天开盘前十分钟的bid/ask缺失,用成交价模拟挂单导致偏差。后来单独写了个过滤函数,开盘前十分钟那段直接扔掉。 --- 反正这个东西不是给正经机构用的,适合自己折腾策略、搞搞回测,或者对数据质量要求不是变态高的情况。我是省了大把爬虫开发的时间,毕竟自己维护爬虫真的烦,交易所网页三天两头改结构。 好了,要说的就这么多,有需要的自己去看吧,别问我借token。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册