用 Polymarket Kalshi API 比较同一个问题的报价

2026年10月24日,对于美联储10月28日的决议,Kalshi 将维持不变定为 91.1%,Polymarket 为 92.9%,差距为 1.8 个百分点。Narwhal 会在一次响应中同时返回两个平台的报价和综合概率。

使用 API 完成操作

通过 GET /v1/predictions/scalar/usa-fed-2026-10 读取这个美联储问题。outcomes[] 中的每一项都有综合后的 probability,以及 quotes[] 中各平台的条目。这些条目包含 venue、probability 和 market_ids,因此比较始终对应同一个结果,同时保留各平台的市场引用。

  1. 设置你的 API 密钥 获取一个免费密钥,并保存在环境变量 NARWHAL_API_KEY 中。请求通过 Authorization: Bearer YOUR_KEY 请求头发送该密钥;REST 和 MCP 共用同一个密钥。
  2. 读取问题及其报价 用这段 Python 脚本打印问题,然后把综合概率和各平台的概率并排放在结果标签旁。脚本还会打印以百分点表示的绝对差距,以及响应中的各平台权重。
    Python:并排查看各平台报价
    import os
    import requests
    
    event = requests.get(
        "https://api.narwhalapi.com/v1/predictions/scalar/usa-fed-2026-10",
        headers={"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"},
        timeout=10,
    ).json()
    print(event["question"])
    print(f"{'outcome':26}{'blend':>8}{'kalshi':>8}{'polymarket':>12}{'gap':>7}")
    for o in event["outcomes"]:
        q = {x["venue"]: float(x["probability"]) for x in o["quotes"]}
        k, p = q.get("kalshi"), q.get("polymarket")
        gap = f"{abs(k - p) * 100:.1f}pt" if k is not None and p is not None else "-"
        print(
            f"{o['label']:26}{float(o['probability']):8.1%}{k or 0:8.1%}"
            f"{p or 0:12.1%}{gap:>7}"
        )
    print("venue weights:", {v["venue"]: v["weight"] for v in event["venues"]})
  3. 比较对应的结果 沿着要比较的结果所在的行从左到右阅读。综合列是该结果的 probability,各平台列来自该结果的 quotes[],因此差距比较的是同一结果下 Kalshi 与 Polymarket 的数值。
  4. 保留比较时的日期 要跟踪价差,请每天保存脚本的输出,并附上其数据对应的日期。在保存的输出中,将每个结果的标签与其各交易场所报价、价差和混合值一并保留。比较已保存的日期时,每个日期都使用同一个结果,这样所选结果的变化就不会进入价差比较。

请把差距列与各平台列一起阅读。任一平台的报价缺失时,脚本会打印短横线。此时显示的平台数值可能因脚本的格式设置而为零,请查看 quotes[],以区分报价缺失与已给出的概率。脚本要计算某个结果的差距,需要两个平台都有报价。

使用电子表格或手动计算

打开预测页面并选择该问题,即可看到各平台的价格。想快速查看,可以直接在那里读取 Kalshi 和 Polymarket 的报价。用表格比较时,先把同一结果的报价分别粘贴到不同单元格,两个数值要使用同一日期。

把 Kalshi 的报价放在 B2,Polymarket 的报价放在 C2,两个单元格都按百分比输入。取绝对差即可得到差距,不论哪个平台的报价更高。把问题、结果和日期与粘贴的数值放在一起,表格就保留了这次比较的背景。

平台报价之间的绝对差
=ABS(B2-C2)

输入为百分比时,结果就是两个概率之间的差。描述平台之间的差距时,请用百分点来表示。计算示例使用的是维持不变这一结果;如果比较该问题的其他结果,请使用对应的那一组报价。

不同情况应选哪种方法

情况最合适的方法原因
快速查看预测页面各平台的价格显示在问题页面上
差距跟踪器运行脚本并每天保存输出为每个结果打印各平台的报价及其差距
交易决策先阅读各平台的规则和费用合约措辞和费用可能不同

这些是信息,不构成建议。

为什么 Kalshi 和 Polymarket 的数字不一致?

交易者、费用和合约措辞不同,都可能让报价不一致。在流动性好的问题上,一两个百分点的差距很常见。每个平台对问题单独报价,因此即使结果标签指向同一个美联储决议,比较中也会保留两个概率。

综合概率用到了什么?

综合概率使用响应中的各平台权重。2026年10月24日,Kalshi 的权重为 0.5785,Polymarket 为 0.4215。把综合概率与各平台的报价放在一起解读时,请从 venues[] 读取这些值。

同样的平台条目还包含 volume_24h_usd、open_interest_usd、规则文本和 URL。响应把这些平台信息与各结果放在一起,每个结果带有自己的综合概率和各平台报价。如果想保留综合概率背后的输入,请把权重与带日期的比较一起保存。

两个合约是否相同?

这些合约并不总是相同。在把它们当作同一个赌注之前,请比较各平台的 rules_text,并通过响应中的平台 URL 阅读相应的规则。问题或结果标签的措辞相似,并不说明规则相同。

比较 resolves_at 的值时,请按日期比较,而不要比较包含完整时间戳的字符串。在判断各平台的报价是否属于你要做的比较时,请把结算日期和规则文本一起阅读。

计算示例:2026年10月美联储维持不变

本示例的数字来自2026年10月24日,对应美联储2026年10月28日的决议。从维持不变这一行开始:Kalshi 报价 91.1%,Polymarket 报价 92.9%。用较高的报价减去较低的报价,即可得到绝对差距。

2026年10月24日维持不变的差距
92.9 - 91.1 = 1.8 percentage points
Blended probability: 91.9%

在同一日期的比较中,其他结果也保留各自的平台报价和综合概率。比较降息、维持不变或加息时,请逐行阅读。

2026年10月24日的结果综合KalshiPolymarket
降息 50 个基点或以上0.3%0.5%0.1%
降息 25 个基点0.4%0.5%0.1%
不变91.9%91.1%92.9%
加息 25 个基点7.0%7.4%6.5%
加息 50 个基点或以上0.4%0.5%0.4%

2026年10月24日,加息 25 个基点的报价相差 0.9 个百分点。同日对于维持不变,把各平台权重应用到更精确的概率上得到 0.9189,而响应中的综合 probability 为 0.9188。报告响应中的综合值时,请使用返回的综合概率。差距计算是直接比较两个平台,不使用权重,所以请单独保留各平台的报价。

2026年10月24日维持不变的加权计算
0.5785 x 0.9114 + 0.4215 x 0.9292 = 0.9189
Response probability: 0.9188

发布于。

后续步骤