pm_ws
收藏资源简介:
pm_ws 是一个匿名化的多交易所加密货币微观结构捕获数据集,专为市场微观结构研究设计。该数据集包含多日、多交易所的加密货币限价订单簿状态、事件流以及短期二元期权市场(5分钟/15分钟)及其底层现货数据的结算标签观测。所有标识值(如币种、交易所、市场ID、会话ID等)均在源头匿名化,但价格、数量、深度层级、时钟、序列号等关键信息完全保留,可直接用于分析。数据集包含三个主要流:ws_l2(事件驱动流,提供基于WebSocket的交易所数据聚合,包括最优买卖盘更新、交易、市场生命周期事件等)、pm_l2(轮询流,提供二元期权市场L2订单簿快照,包含10层买卖盘、深度聚合、OFI输入等)、oracle(结算/标签观测流,提供可用性时钟、认证标志和结果观测行)。数据以gzip压缩的JSONL格式存储,按天或小时分片,同时提供Parquet衍生格式(zstd压缩,嵌套深度以列表列表示)以支持高效流式分析和谓词下推。行模型定义了基于 kind 的分发逻辑、多种时间戳(源事件时间、接收时间、最早可用时间)以及会话/连接/纪元连续性标识,跨纪元边界不应计算特征。注意:数据覆盖并非均匀,某些天可能存在轮询流覆盖缺口;oracle 流中未认证的行仅为观测,非认证标签;本数据集为原始研究捕获,非精炼基准,使用前需验证行级不变量。
pm_ws is an anonymized multi-exchange cryptocurrency microstructure capture dataset designed for market microstructure research. The dataset contains multi-day, multi-exchange limit order book states, event streams, and settlement label observations for short-term binary options markets (5-minute/15-minute) and their underlying spot data. All identifiers (e.g., currency, exchange, market ID, session ID) are anonymized at source, while key information such as prices, quantities, depth levels, clocks, and sequence numbers are fully preserved for direct analysis. The dataset comprises three main streams: ws_l2 (event-driven stream providing WebSocket-based exchange data aggregation including best bid/offer updates, trades, market lifecycle events), pm_l2 (polling stream providing L2 order book snapshots for binary options markets with 10-level bid/ask, depth aggregation, OFI inputs), and oracle (settlement/label observation stream providing availability clocks, authentication flags, and result observation rows). Data is stored in gzip-compressed JSONL format, sharded by day or hour, with a derived Parquet format (zstd compression, nested depth as list columns) for efficient streaming analysis and predicate pushdown. The row model defines kind-based distribution logic, multiple timestamps (source event time, receive time, earliest available time), and session/connection/epoch continuity identifiers; features should not be computed across epoch boundaries. Note: Data coverage is not uniform, with possible polling stream gaps on certain days; unauthenticated rows in the oracle stream are observations only, not authenticated labels; this dataset is a raw research capture, not a refined benchmark, and row-level invariants should be validated before use.
数据集概述
pm_ws 是一个匿名化的多交易所加密货币微观结构数据集,专为高频市场微观结构研究设计。它采集了多日、多交易所的加密货币限价订单簿状态、事件流和结算标签观测数据,覆盖短周期(5分钟/15分钟)二元期权市场及其底层现货行情。
数据匿名化
- 所有识别性值在源头即被匿名化:交易对使用稳定的
c0..cN标签,交易所使用v0..vN标签。 - 标识符(市场ID、代币ID、会话/连接ID、主机)经过加盐哈希处理。
- 盐值和标签映射未发布且不会发布。
- 价格、数量、深度层级、时钟、序列号和生命周期结构被精确保留,数据集可直接用于分析,无需身份映射。
数据布局
| 路径 | 流名称 | 语义 |
|---|---|---|
ws_l2/ |
feed_a_* |
事件驱动的跨交易所 WebSocket 解复用:包含最优买卖价更新(bookTicker、best_bid_ask、price_change)、成交数据(aggTrade、last_trade_price)、父帧信封、市场生命周期事件、连接生命周期标记。存活时段内行之间的静默表示无事件发生,并非数据缺失。 |
pm_l2/ |
feed_b_* |
轮询式二元市场L2订单簿快照:10档 bids/asks 深度、最优买卖价、深度聚合、OFI输入、成交打印([ts, price, size, signed_aggressor]),以及通过加盐代币ID标识的对手方。 |
oracle/ |
feed_c_* |
结算/标签观测流:可用性时钟、认证标志、结果观测行。行明确声明哪些数据已认证、哪些未认证。 |
- 文件为 gzip JSONL 格式,每行一个JSON对象,命名规则:
feed_<x>_<YYYYMMDD>[T<HH>].anon.jsonl.gz(整日或整小时分块,UTC时间)。
Parquet 派生数据(推荐用于分析)
- 每个归档文件也提供 Parquet 格式,位于
parquet/<stream>/<name>.parquet(zstd压缩,嵌套深度为列表列,按kind使用联合模式,稀疏空值;字段类型在行间变化时统一为字符串)。 - gzip JSONL 是规范字节流,Parquet 是面向流式处理的派生格式。
无需下载即可流式读取示例:
python import duckdb duckdb.sql("INSTALL httpfs; LOAD httpfs;") df = duckdb.sql(""" SELECT kind, available_at_ts, bb, ba FROM hf://datasets/billyyiu747/pm_ws/parquet/ws_l2/feed_a_20260725.anon.parquet WHERE kind = bookTicker LIMIT 100000 """).df()
或使用 datasets/pyarrow:load_dataset("parquet", data_files="hf://datasets/billyyiu747/pm_ws/parquet/pm_l2/*.parquet", streaming=True)。列投影和谓词下推可大幅降低部分读取的成本。
行模型
- 根据
kind(ws_l2)或行模式(schema_version字段)进行分发。 - 时钟字段:
source_event_ts:交易所时间戳recv_ts:采集时间戳available_at_ts:最早可用时间(因果特征构建应使用此字段)recv_mono_ns:单调时间戳
- 连续性:
session_id/connection_id/epoch_generation/epoch_id/sequence定义连续性区间。重连会开启新纪元,并通过显式的连接关闭/打开行标记。切勿跨纪元边界计算特征,缺失区间为未知,而非零活动。 - 带交易所前缀的枚举值携带交易所标签前缀(例如
v0_connection_close)。
注意事项
- 覆盖不均匀:不同日期的覆盖情况不同,部分日期存在轮询流覆盖缺口(通过生命周期行显式标记,绝不静默)。
oracle/中authenticated=false的行是观测值,非认证标签。- 这是原始研究采集数据,而非精心整理的基准数据集:使用前需验证行级不变量。
数据来源
数据由基于白名单、故障关闭的匿名化管道生成:任何未分类字段都会中止导出,而非发布。输出在发布前会与身份映射进行扫描比对,扫描命中会拒绝文件。




