8000多只美股与ETF的高频逐笔和订单薄行情数据下载流程
8000多只美股与ETF的高频逐笔和订单薄行情数据下载流程昨晚跑因子又把内存干爆了看了眼存储全是Level 2的订单簿和逐笔成交数据。这东西信息量大但也确实占地方。正好最近在整理数据源就把手头一份比较全的数据清单理一下主要是美股和ETF的高频数据有需要的朋友可以看看。这份清单来自一个叫CMES金融数据库的数据商里面的结构还算清晰。我不是做广告啊就是单纯分享下我接触到的数据内容。毕竟找数据、清洗数据这事儿太费时间了有时候花钱买现成的清洗好的数据反而能省下不少折腾的功夫。下面我就把数据的具体内容列出来大家各取所需。数据覆盖范围概览先说说数据都包括啥免得后面看迷糊了。主要分两大类1. 股票数据覆盖了大约8000多只美股。高频数据为主也就是订单簿和逐笔成交Tick Data。2. ETF数据覆盖了大约4000多只ETF。同样提供高频的订单簿和逐笔成交。3. 聚合行情数据除了Tick级数据也提供了聚合好的分钟级和日级行情数据。这个对回测比较友好数据量小很多。高频数据订单簿与逐笔成交这部分是数据量最大、也最“重”的。做高频策略、微观结构研究或者想自己合成更细粒度K线的朋友会用到。订单簿数据订单簿数据简单说就是市场上挂了哪些买单和卖单。这份数据提供了买卖多档的盘口信息。具体字段我画了个简表看起来直观些字段大类具体字段示例简单说明标识与时间证券代码、日期、时间戳精确到毫秒定位到是哪只股票、哪个瞬间的数据买卖报价买一价到买N价、卖一价到卖N价不同档位的委托价格买卖数量买一量到买N量、卖一量到卖N量对应档位的委托订单数量快照类型快照类型标识区分是常规快照还是特定事件触发的快照数据是快照形式的不是持续的推送流。对于美股来说深度通常是到买卖一档但具体档位要看数据源的实际记录。逐笔成交数据这个就是每一笔实际成交的记录能看到市场最细微的动作。字段大致包括证券代码、日期成交时间毫秒精度成交价格成交数量体积成交方向买方驱动/卖方驱动交易标志如是否是盘前盘后交易等把订单簿快照和逐笔成交结合起来能大概还原出市场的订单流变化。不过说实话处理这个级别的数据对硬件和代码能力有点要求新手建议先从分钟数据玩起。聚合行情数据分钟线与日线如果暂时用不到那么细的数据或者只是想做日间/中低频策略回测那直接用聚合好的行情数据会方便很多。硬盘和内存都感激你。分钟级行情数据就是大家熟悉的OHLC开高低收成交量不过是每分钟一根。字段很标准时间精确到分钟开盘价、最高价、最低价、收盘价成交量、成交额有些数据源可能还会包含VWAP等指标日级行情数据日线数据除了基本的OHLCV通常还包含一些调整信息对于长期回测至关重要。日期开盘价、最高价、最低价、收盘价成交量、成交额调整因子、后复权价格这里有个小坑自己做数据清洗时处理分红、拆股这些公司行动Corporate Actions特别麻烦算复权价很容易出错。我之前自己处理过差点搞错。后来用CMES金融数据库里的清洗版数据主要是图它已经做了复权处理省心。虽然要花点积分但确实避免了因子回测因为价格问题产生偏差。数据获取与接口示例数据可以通过他们的网站下载也提供了API接口用Python调取比较方便。这里给个最简单的接口调用代码示例具体参数还得去看他们的文档。# 示例调用CMES金融数据库的行情接口# 注意需要先pip安装他们的SDK具体看官方文档# 注意入参正确调用频率要遵守API限制别把账号搞封了importcmesdata# 假设的SDK名称请以实际为准# 1. 初始化客户端 (通常需要API Key和Secret)clientcmes_data_sdk.Client(api_keyyour_api_key,api_secretyour_api_secret)# 2. 请求分钟线数据示例try:# 这里参数是示例实际需要查文档minute_dataclient.get_minute_bar(symbolAAPL,date2023-10-27,fields[open,high,low,close,volume])print(minute_data.head())exceptExceptionase:print(f获取数据失败:{e})# 3. 请求高频订单簿快照示例 (数据量巨大慎用)# snapshot_data client.get_orderbook_snapshot(# symbolTSLA,# date2023-10-27,# start_time09:30:00,# end_time10:00:00# )代码就是个样子重点是要去看他们官网的接口文档搞清楚每个参数怎么填尤其是时间格式、代码格式这些细节。调用频率也有限制别一次性请求太长时间范围的高频数据服务器和你自己的网络都可能顶不住。一些使用上的感受最后随便聊聊使用感受吧。数据整体质量还行该有的字段都有时间戳也比较干净。对于做量化研究、写论文、或者自己构建一些需要高频信息的指标来说是够用的。最大的优点就是“全”美股和ETF基本都覆盖了不用东拼西凑。缺点嘛就是高频数据体积太大管理起来是个技术活建议用数据库或者高效的二进制格式存储别直接用CSV。新手朋友真心建议从日线或分钟线开始。直接扎进Tick数据里很容易在数据清洗和存储环节就劝退了。先拿低频数据把策略逻辑跑通再考虑上高频细化会顺很多。好了就写这么多。数据的具体字段和更新频率以他们官网最新的文档为准我写的可能也有遗漏。这份清单应该能帮你快速了解这里面都有些什么“货”。