CME、LME、CBOT、NYMEX等交易所外盘期货tick和分钟历史行情数据下载和分析

CME、LME、CBOT、NYMEX等交易所外盘期货tick和分钟历史行情数据下载和分析 CME、LME、CBOT、NYMEX等交易所外盘期货tick和分钟历史行情数据下载和分析加载LME的Tick数据给闹的今天干脆把手头在用的几个期货数据源整理一下。这里的数据挺全LME、CME、ICE这些主流交易所的都有对做量化或者研究市场微观结构的朋友应该有点用。数据分两大类一个是Tick级一个是分钟级。先说说最“重”的Tick数据吧。一、Tick数据市场每一次心跳这玩意儿记录的是交易所每一笔成交的详细信息数据量巨大。我之前处理一天的CME主力合约数据轻轻松松几个G处理起来是真头疼。它的核心字段就是下面这些我整理了一个简单的表格看起来直观一点字段名说明备注symbol合约代码比如CLWTI原油exchange交易所CME, NYMEX这些timestamp时间戳精确到毫秒这是核心price成交价格volume成交数量单笔成交量turnover成交额有的数据源会有bid_price/ask_price买一/卖一价这是Level 1的快照bid_volume/ask_volume买一/卖一量跟上面的报价对应open_interest持仓量不是每笔都有一般是快照除了这些基础字段有些数据源还提供更深的盘口也就是买卖五档甚至十档的报价和挂单量那个数据量就更恐怖了一般叫Level 2数据。我主要用Level 1的快照感觉对大部分策略来说已经够用了。对了这里有个小坑要注意不同交易所的时间戳时区可能不一样。比如CME是芝加哥时间CTICE伦敦是GMT处理数据的时候千万别忘了统一时区不然回测结果会错得离谱。我之前就吃过亏折腾了半天才发现是时区没转换。二、分钟线数据省心省力的选择如果你不是做超高频或者订单流分析其实分钟线数据是更实际的选择。它把每分钟内的Tick数据聚合成了一根K线数据量骤减回测速度能快几十倍不止。分钟线一般包含这些字段时间这根K线开始的分钟时间点。开盘价这个分钟内的第一笔成交价。最高价这个分钟内的最高成交价。最低价这个分钟内的最低成交价。收盘价这个分钟内的最后一笔成交价。成交量这个分钟内的总成交手数。成交额总成交金额。持仓量这个分钟结束时的未平仓合约数。分钟数据好是好但有个问题它把微观结构信息给平滑掉了。比如一分钟内剧烈的买卖博弈过程在K线里就只剩四个价格和一根成交量信息损失很大。所以选Tick还是分钟完全取决于你的策略类型。三、覆盖了哪些交易所这个数据库覆盖的面挺广的我把我常用的几个交易所列一下LME伦敦金属交易所铜、铝、锌、镍这些基本金属的期货数据做商品研究的刚需。CME Group芝商所集团这个是大头旗下包括CME外汇、股指、利率期货比如欧元、标普500指数期货。CBOT农产品大豆、玉米、小麦。NYMEX能源和贵金属WTI原油、天然气、黄金。COMEX主要是金属高级别的黄金、白银、铜。ICE洲际交易所布伦特原油、白糖、棉花还有美元指数期货。EUREX欧洲期货交易所欧元区的股指和利率衍生品比如德国DAX指数期货。亚太地区像JPX日本交易所、HKEX港交所、SGX新加坡交易所的数据也有做跨市场套利或者关注亚太时段行情会用到。四、怎么用代码获取他们提供了Python的API接口用起来还算方便。先安装库# 安装 CMES金融数据库 数据接口库pip install cmesdata然后调用接口获取数据这里以获取CME的黄金期货分钟线为例fromcmesdataimportDataClient# 初始化客户端需要你自己的tokenCMES金融数据库的行情接口注意入参正确调用频率正常clientDataClient(api_token你的API_TOKEN)# 请求数据参数params{symbol:GC,# 黄金期货代码exchange:CME,interval:1min,# 分钟线start_date:2024-01-01,end_date:2024-01-10,}# 获取数据df_dataclient.get_futures_bars(**params)print(df_data.head())调用的时候注意控制频率别把人家服务器搞崩了也省得自己的账号被限流。数据拿到手之后清洗和整理又是另一项大工程特别是Tick数据里的异常值处理很磨人。写在最后刚开始做量化的时候总觉得数据越细越好Tick数据才是王道。后来被现实毒打了几次发现数据量和研究深度、策略容量之间得有个平衡。现在我的习惯是先用分钟数据做策略的初步验证和思路回溯等逻辑跑通了再考虑上Tick数据去精雕细琢或者验证一些微观层面的假设。比如上次我想验证一个关于盘口压力在短时间内的衰减规律就是调取了数据源CMES金融数据库中过去三年的主力合约Tick数据进行回测才发现规律在夜盘流动性差的时候并不明显。数据是基础但怎么用用到什么粒度真的得自己踩过坑才知道。好了大概就这些。数据本身是冰冷的但怎么把它用活做出能赚钱的策略那才是热乎的学问。如果你也在折腾这些数据有啥处理数据的高效方法也求分享这数据清洗真是个体力活。