对比分析阅读需 8 分钟
Polymarket 与 Kalshi 数据对比:到底能拿到什么,以及如何同时使用两家
Polymarket 和 Kalshi 从外表看很像,底层暴露的数据却大不相同。这里给出诚实、逐家拆解的对比。
Polymarket 是运行在 Polygon 上的链上 CLOB,配有一个推送实时订单簿的 websocket,但不提供历史订单簿存档;Kalshi 则是受 CFTC 监管的美国交易所,拥有干净的 REST API 以及每侧最多 100 档的 yes/no 订单簿,但同样不提供历史订单簿深度。两家都给你实时订单簿,谁都不提供自家的深度历史——这正是第三方采集所填补的空白。
并排对比
| Polymarket | Kalshi | |
|---|---|---|
| 类型 | 链上 CLOB(Polygon) | 受 CFTC 监管的美国交易所 |
| 实时市场数据 | CLOB websocket + REST | REST(订单簿、K 线、成交) |
| 订单簿形态 | 每个结果的买/卖盘 | yes/no,每侧最多 100 档 |
| 历史订单簿 | 交易所不提供 | 交易所不提供 |
| 加密市场 | 涨/跌,5m–24h | 15m、每小时、每日、每周 |
| 结算 | 裁定 / 预言机 | 到期时发布的参考价格 |
Polymarket:实时数据丰富,无深度历史
Polymarket 在 Polygon 上运行一套中央限价订单簿。它的 CLOB websocket 推送实时订单簿与价格更新,REST API 则暴露市场、成交以及一个 prices-history 端点。它没有提供的,是订单簿快照的历史存档——一旦某条订单簿更新流过,交易所就不让你回放它。对于依赖挂单簿(resting book)的回测,你需要一个持续采集了该 websocket 的数据提供方。
Kalshi:受监管、REST 干净,但依旧没有深度存档
Kalshi 是受 CFTC 监管的交易所,这塑造了它的数据形态:一套干净的 REST API,提供市场、K 线、成交以及一个当前订单簿端点,并划分为实时层与历史层。但历史层覆盖的是成交与 K 线,而非随时间推移的完整订单簿深度——而公开的订单簿端点只反映当前状态。所以,和 Polymarket 一样,要回放 Kalshi 当时的 yes/no 订单簿,仍然需要持续不断的第三方采集。
用同一套 schema 同时使用两家
交易场所的订单簿形状、时间戳语义和结算规则各不相同。DepthFeed 通过 REST 提供记录的订单簿观察,并通过 WebSocket 提供标准化的实时帧。将每个文档化的合约映射到您的研究模型中,并明确可为空的基础引用和特定于交易场所的时间。
捕获和记录的节奏因交易场所而异。历史 REST 返回记录的观察,而 WebSocket 发布实时订单簿帧;两者都使用 JSON,但它们的字段和时间安排不可互换。查阅端点合约和实际覆盖范围,而不是假设相同的对象或固定的交付延迟。
要点
- 01Polymarket 是链上 CLOB(Polygon);Kalshi 是受 CFTC 监管的美国交易所。
- 02两家都推送或提供实时订单簿;谁都不提供自家的历史订单簿深度。
- 03Kalshi 订单簿是 yes/no、每侧最多 100 档;Polymarket 订单簿是每个结果的买/卖盘。
- 04共享策略逻辑仍然需要适配器来处理每个交易场所的订单簿字段、时间和结算规则。
Polymarket 和 Kalshi 从外表看很像,底层暴露的数据却大不相同。这里给出诚实、逐家拆解的对比。
免费开始