// PREDICT.FUN — 盘口快照

Predict.fun 盘口数据,
全深度快照。

按 Predict.fun 发布的样子保存每个市场的盘口快照——买卖两侧全深度,旁边是平台自己的订单字段,每一行都带两个时钟。只有快照:这个平台的归档没有单独的增量流或成交流,这一点先说清楚。

采集起始日2026-06-13
Predict.fun 币种·
包含的数据集4
档位格式[price, size]

和盘口一起提供的数据

盘口本身,加上把它和结算结果对上所需的数据。你的 key 实际能取到哪些币种、周期和日期,用 /v1/meta?venue=predict 查。
orderbook
盘口快照(Predict.fun)
markets
每个市场的元数据、strike 与结算结果
prices
结算价流,逐 tick(Chainlink 瞬时流)
klines
由结算价流推导的 OHLC K 线,带 tick 计数——没有成交量,结算流是价格流不是成交流

一行真实的盘口数据

样本日一个真实 Predict.fun 盘口文件的开头几行。档位为了阅读做了截短,并注明了实际档数。
BTC-5M-predict-orderbook-2026-09-08.jsonl.gz39.64 MB
{
  "market_id": 2060207,
  "category_slug": "btc-updown-5m-1788825600",
  "update_ts_ms": 1788825600047,
  "recv_ms": 1788825600097,
  "payload": {
    "asks": [
      [
        0.56,
        50
      ],
      [
        0.58,
        9
      ],
      [
        0.61,
        7
      ]
    ],
    "bids": [
      [
        0.52,
        6.250033333333333
      ],
      [
        0.51,
        26
      ],
      [
        0.5,
        16
      ]
    ],
    "version": 1,
    "marketId": 2060207,
    "orderCount": 295,
    "lastOrderSettled": {
      "id": "3265338980",
      "kind": "LIMIT",
      "side": "Bid",
      "price": "0.52",
      "outcome": "Yes",
      "marketId": 2060207
    },
    "updateTimestampMs": 1788825600047,
    "settlementsPending": {
      "asks": [],
      "bids": [
        [
          0.52,
          11.916649333333334
        ]
      ]
    },
    "_truncated": "showing 3 of 37 bids, 3 of 32 asks"
  }
}
{
  "market_id": 2059641,
  "category_slug": "btc-updown-5m-1788825300",
  "update_ts_ms": 1788825600090,
  "recv_ms": 1788825600154,
  "payload": {
    "asks": [
      [
        0.01,
        1970.6381004641005
      ],
      [
        0.02,
        51
      ],
      [
        0.03,
        154.09
      ]
    ],
    "bids": [],
    "version": 1,
    "marketId": 2059641,
    "orderCount": 270,
    "lastOrderSettled": {
      "id": "3265354192",
      "kind": "LIMIT",
      "side": "Bid",
      "price": "0.01",
      "outcome": "No",
      "marketId": 2059641
    },
    "updateTimestampMs": 1788825600090,
    "settlementsPending": {
      "asks": [],
      "bids": []
    },
    "_truncated": "showing 3 of 27 asks"
  }
}
sha256 02e52cf08d4cd3ce7deae9653e72ab2d864d98bdae37cf39b2015e2610ad3824

以上是 2026-09-08(UTC)真实文件的开头几行。 JSON 做了缩进以便阅读,过长的档位或变动列表只显示前三条并注明实际条数,其余值逐字未改。 完整文件见Predict.fun 示例数据下载。 同一份样本也发布在 Kaggle(已解压)和 Hugging Face。

怎么读这个平台的盘口

01

每个市场一本归一化盘口

Predict.fun 每个市场只发布一本盘口,另一个结果是它在 1−px 上的镜像。归档保留的就是这一本,不会凭空造出一本上游从未存在过的盘口——要给另一侧定价,自己取反即可。

02

全深度,平台字段照留

每个快照都以 [price, size] 数组记录买卖两侧,深度就是平台当时发布的深度,同时带着平台自己的字段——orderCount、lastOrderSettled、settlementsPending、version——按收到的样子保存。不从中推导任何东西,也不丢弃任何字段。

03

只有快照,没有增量

和 Polymarket 的归档不同,这里没有快照之间的变动流,没有单独的盘口顶部流,也没有成交流。两次快照之间发生了什么,归档里没有。快照按采集频率保存,而这个频率在归档期间变过,所以先看看行与行之间的间隔,再做假设。

04

每个快照两个时钟

update_ts_ms 是平台自己的更新时间,recv_ms 是我们的采集器收到这一帧的时间,都以毫秒为单位,从不合并成一个时间戳。两者之差留给你自己去量。

怎么取

和其他数据集一样是 /v1/files,加上 venue=predict 和 dataset=orderbook。
BASH
# 列出 BTC 的盘口文件,默认是你的 key 能到的最新一天
curl -H "Authorization: Bearer $OT_KEY" \
     "https://outcometick.com/v1/files?venue=predict&dataset=orderbook&asset=btc"

# 下载其中一个
URL=$(curl -s -H "Authorization: Bearer $OT_KEY" \
     "https://outcometick.com/v1/files?venue=predict&dataset=orderbook&asset=btc" \
     | jq -er '.files[0].url')
curl -L -H "Authorization: Bearer $OT_KEY" "$URL" -o orderbook.jsonl.gz

# 第一个快照的最优买卖价——按价格取,绝不按列表位置取
gzip -dc orderbook.jsonl.gz | head -1 \
  | jq '{bid: (.payload.bids | max_by(.[0])), ask: (.payload.asks | min_by(.[0]))}'

买之前就能先读这些盘口。Predict.fun 样本归档里是同样文件的一天真实数据——拿上面那行 jq 对着它跑一遍。

关于 Predict.fun 盘口

Predict.fun 盘口数据是全深度的吗?

是。每个快照都以 [price, size] 数组记录买卖两侧,深度就是平台当时发布的深度。

Predict.fun 有增量或成交数据吗?

没有。这个平台只归档盘口快照——没有单独的增量流、盘口顶部流或成交流。带这些流的是 Polymarket 的归档。

最优买卖价怎么取?

从快照里算——买价取最高、卖价取最低——不要依赖列表顺序。上面那行 jq 就是这么做的。

覆盖哪些市场?

只有 Predict.fun 的加密涨跌市场。你的 key 能取到哪些币种和周期,用 /v1/meta?venue=predict 查。

用这些盘口回测

执行器接受 venue=predict,在密闭沙箱里按这些快照撮合订单,结算走这个平台自己的价格流——按扫描的市场日计价。

Predict.fun 按币种看数据

相关