Predict.fun 盘口数据,
全深度快照。
按 Predict.fun 发布的样子保存每个市场的盘口快照——买卖两侧全深度,旁边是平台自己的订单字段,每一行都带两个时钟。只有快照:这个平台的归档没有单独的增量流或成交流,这一点先说清楚。
和盘口一起提供的数据
盘口本身,加上把它和结算结果对上所需的数据。你的 key 实际能取到哪些币种、周期和日期,用 /v1/meta?venue=predict 查。- orderbook
- 盘口快照(Predict.fun)
- markets
- 每个市场的元数据、strike 与结算结果
- prices
- 结算价流,逐 tick(Chainlink 瞬时流)
- klines
- 由结算价流推导的 OHLC K 线,带 tick 计数——没有成交量,结算流是价格流不是成交流
一行真实的盘口数据
样本日一个真实 Predict.fun 盘口文件的开头几行。档位为了阅读做了截短,并注明了实际档数。{
"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"
}
}以上是 2026-09-08(UTC)真实文件的开头几行。 JSON 做了缩进以便阅读,过长的档位或变动列表只显示前三条并注明实际条数,其余值逐字未改。 完整文件见Predict.fun 示例数据下载。 同一份样本也发布在 Kaggle(已解压)和 Hugging Face。
怎么读这个平台的盘口
每个市场一本归一化盘口
Predict.fun 每个市场只发布一本盘口,另一个结果是它在 1−px 上的镜像。归档保留的就是这一本,不会凭空造出一本上游从未存在过的盘口——要给另一侧定价,自己取反即可。
全深度,平台字段照留
每个快照都以 [price, size] 数组记录买卖两侧,深度就是平台当时发布的深度,同时带着平台自己的字段——orderCount、lastOrderSettled、settlementsPending、version——按收到的样子保存。不从中推导任何东西,也不丢弃任何字段。
只有快照,没有增量
和 Polymarket 的归档不同,这里没有快照之间的变动流,没有单独的盘口顶部流,也没有成交流。两次快照之间发生了什么,归档里没有。快照按采集频率保存,而这个频率在归档期间变过,所以先看看行与行之间的间隔,再做假设。
每个快照两个时钟
update_ts_ms 是平台自己的更新时间,recv_ms 是我们的采集器收到这一帧的时间,都以毫秒为单位,从不合并成一个时间戳。两者之差留给你自己去量。
怎么取
和其他数据集一样是 /v1/files,加上 venue=predict 和 dataset=orderbook。# 列出 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 查。