2026年10月24日時点で、10月28日のFRBの決定について、Kalshiは据え置きを91.1%、Polymarketは92.9%とクォートしており、差は1.8ポイントでした。Narwhalは両プラットフォームのクォートを統合確率と並べて1回のレスポンスで返します。
APIを使う方法
FRBの質問は GET /v1/predictions/scalar/usa-fed-2026-10 で読み取ります。outcomes[] の各要素には統合された probability と、quotes[] のプラットフォーム別エントリがあります。各エントリには venue、probability、market_ids が含まれるため、同じ結果に紐づけたまま比較でき、各プラットフォームの市場への参照も保てます。
- APIキーを設定 無料キーを取得し、環境変数
NARWHAL_API_KEYに保存してください。リクエストでは、そのキーをAuthorization: Bearer YOUR_KEYヘッダーで送ります。RESTとMCPは同じキーを共有します。 - 質問とそのクォートを読み取る この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"]}) - 対応する結果を比べる 比べたい結果の行を横に読みます。統合列にはその結果の
probabilityが入り、プラットフォーム列は同じ結果のquotes[]から取られるため、差はKalshiとPolymarketの同じ結果どうしの比較になります。 - 比較には日付を添えて残す ギャップを追跡するには、スクリプトの出力を数値の日付とともに毎日保存します。保存する出力には、各結果のラベルを、取引所ごとの気配値、ギャップ、ブレンド値と一緒に残してください。保存した日付どうしを比較するときは、選択した結果が変わってもギャップの比較に影響しないよう、どの日付でも同じ結果を使います。
差の列は、プラットフォーム列と合わせて読んでください。どちらかのクォートがない場合、スクリプトはダッシュを出力します。その場合、表示上の値はスクリプトの書式設定によりゼロになることがあるため、quotes[] を見て、クォートがないのか確率が提示されているのかを区別してください。スクリプトが差を計算するには、結果ごとに両プラットフォームのクォートが必要です。
スプレッドシートまたはコードを使わずに計算する
予測ページを開き、質問を選ぶと各プラットフォームの価格が表示されます。手軽に見るなら、そこでKalshiとPolymarketのクォートを読み取れます。スプレッドシートで比べる場合は、同じ結果のクォートを別々のセルに貼り付けるところから始め、両方の数値に同じ日付を使ってください。
Kalshiのクォートを B2、Polymarketのクォートを C2 に入れ、どちらのセルもパーセントとして入力します。差の絶対値を取れば、どちらのプラットフォームが高くても差が求まります。質問、結果、日付を貼り付けた値のそばに残しておくと、シートに比較の文脈が残ります。
=ABS(B2-C2)入力がパーセントなら、結果は確率どうしの差です。プラットフォーム間の差を説明するときは、その差をポイントで表してください。計算例では据え置きの結果を使っています。質問内の別の結果を比べる場合は、それに対応するクォートの組を使ってください。
状況に応じた方法の選び方
| 状況 | 適した方法 | 理由 |
|---|---|---|
| ざっと確認する | 予測ページ | 各プラットフォームの価格は質問ページに表示されます |
| 差のトラッカー | スクリプトを実行し、出力を毎日保存する | 結果ごとにプラットフォーム別クォートとその差を出力します |
| 取引の判断 | まず各プラットフォームのルールと手数料を読む | 契約の文言や手数料は異なることがあります |
これは情報であり、助言ではありません。
KalshiとPolymarketで数字が食い違うのはなぜですか?
参加者、手数料、契約の文言が違えば、クォートも変わります。流動性の高い質問でも、1ポイントか2ポイントの差はよくあります。各プラットフォームが質問を別々にクォートするため、結果ラベルが同じFRBの決定を指していても、比較では両方の確率がそのまま残ります。
統合確率には何が使われていますか?
統合確率にはレスポンスにあるプラットフォームの重みが使われます。2026年10月24日の重みは、Kalshiが0.5785、Polymarketが0.4215でした。統合確率を各プラットフォームのクォートと並べて解釈するときは、これらの値を venues[] から読み取ってください。
同じプラットフォームのエントリには、volume_24h_usd、open_interest_usd、ルール本文、URLも含まれます。レスポンスは、この情報を結果と並べて返し、各結果には統合確率とプラットフォーム別クォートが付きます。統合の元になった入力を残したい場合は、重みも日付つきの比較と一緒に保存してください。
契約は同一ですか?
契約が常に同一とは限りません。同じ賭けとして扱う前に、各プラットフォームの rules_text を比べてください。レスポンスにある各プラットフォームのURLから、対応するルールを読めます。質問や結果ラベルの文言が似ていても、ルールが同一であるとは限りません。
resolves_at の値は、完全なタイムスタンプを含む文字列として比べるのではなく、日付として比べてください。どのクォートを比較に含めるかを判断するときは、確定日とルール本文を合わせて読んでください。
計算例:2026年10月のFRBの据え置き
この例の数値は2026年10月24日のものです。対象は2026年10月28日のFRBの決定です。据え置きの行から始めます。Kalshiは91.1%、Polymarketは92.9%でした。高いほうから低いほうを引くと、差の絶対値が求まります。
92.9 - 91.1 = 1.8 percentage points
Blended probability: 91.9%同じ日付の比較では、ほかの結果もそれぞれのプラットフォーム別クォートと統合確率を保っています。利下げ、据え置き、利上げを比べるときは、行ごとに読んでください。
| 2026年10月24日の結果 | 統合 | Kalshi | Polymarket |
|---|---|---|---|
| 50bp以上の利下げ | 0.3% | 0.5% | 0.1% |
| 25bpの利下げ | 0.4% | 0.5% | 0.1% |
| 据え置き | 91.9% | 91.1% | 92.9% |
| 25bpの利上げ | 7.0% | 7.4% | 6.5% |
| 50bp以上の利上げ | 0.4% | 0.5% | 0.4% |
2026年10月24日時点で、25bp利上げのクォートの差は0.9ポイントでした。同日の据え置きについては、プラットフォームの重みをより精密な確率に当てはめると0.9189になり、レスポンスの統合された probability は0.9188です。レスポンスの統合値を報告するときは、返ってきた統合確率を使ってください。差の計算は両プラットフォームを直接比べるもので重みを使わないため、プラットフォーム別のクォートは別に残しておいてください。
0.5785 x 0.9114 + 0.4215 x 0.9292 = 0.9189
Response probability: 0.9188公開。