🏦 fredapi × Polymarket で Bloomberg Terminal($2,000/月)を置き換える|Fed過去データ+市場の未来予想を1記事で
Bloomberg Terminal 月$2,000 → fredapi + Polymarket = $0。
FRBの過去データと、次回FOMCに対する市場の織り込み確率を、1つのPythonスクリプトでまとめて取ってくる方法です。2026年4月Fed会合に向けた今日時点のPolymarket実予想を含めているので、コピペでそのまま動きます。
fredapiとは
mortada/fredapi — FRB(セントルイス連銀)が運営するFRED(Federal Reserve Economic Data)の公開APIのPythonラッパー。1.4k stars。
FREDで取れるのは例えば:
FEDFUNDS— 実効フェデラルファンドレート(政策金利)UNRATE— 失業率CPIAUCSL— CPI(消費者物価指数)GDP— 米GDPDGS10— 10年国債利回りM2SL— マネーサプライ M2- 81万以上のシリーズが全部無料
これがBloomberg Terminalから引ける情報の約6割をカバーします。月$2,000からタダに。
無料APIキーの取り方(1分)
fredapiを使うには無料APIキーが必要です。登録は1分:
- https://fred.stlouisfed.org/docs/api/api_key.html にアクセス
- メールアドレスと「用途」("personal research"でOK)を入力
- 即座に32文字のAPIキーが発行される
💡 Polymarketと違って認証が必要なのは、FRBがリクエスト数を追跡したいから(悪用防止・統計目的)。悪質な利用でなければレートリミットで困ることはありません(1日10万回以上叩ける)。
インストール
既存のPython仮想環境に追加:
# Windowsの場合.venv/Scripts/pip install fredapi# Mac/Linuxの場合.venv/bin/pip install fredapi動作確認:
from fredapi import Fredfred = Fred(api_key='あなたのキー')print(type(fred).__name__) # Fredprint([m for m in dir(fred) if 'get' in m][:5])# ['get_series', 'get_series_all_releases', 'get_series_as_of_date', ...]私の環境ではインストール&初期化まで確認済み。データ取得は各自のキーで試してください。
基本パターン:Fed政策金利の過去データ
from fredapi import Fredimport os
fred = Fred(api_key=os.environ["FRED_API_KEY"])
# 1. 過去5年の Fed Funds Raterate = fred.get_series("FEDFUNDS", observation_start="2021-01-01")print(rate.tail(10))
# 2. 系列のメタ情報info = fred.get_series_info("FEDFUNDS")print(info["title"], "/", info["units"], "/", info["frequency"])たったこれだけで、Bloombergで右上のボタンぽちぽち押して抽出するようなデータが取れます。pandas.Seriesで返ってくるのでそのままグラフ化・計算可能。
応用パターン:FREDの過去 × Polymarketの未来
ここからが本題です。fredapiだけなら他の記事でもよく紹介されてますが、Polymarketと組み合わせる視点はあまり語られません。
なぜ組み合わせる?
Bloomberg Terminalが高い理由の1つは、「過去データ+マーケット織り込み確率」を1画面で見られるから。でもPolymarketがある今、:
- 過去の金利推移 → fredapi(無料)
- 次回FOMCの市場予想確率 → Polymarket(無料)
が両方タダで取れます。組み合わせ=Bloombergの金利セクション代替です。
今日のPolymarket実データ(2026-04-11取得)
gamma-apiで「Fed」関連のアクティブ市場を取ってきました:
curl -sS "https://gamma-api.polymarket.com/markets?closed=false&limit=20&tag_id=2&order=volume24hr&ascending=false"フィルタした結果(2026年4月FOMC関連、24時間出来高順):
| 市場 | 出来高(24h) | 市場確率 |
|---|---|---|
| 金利据え置き(no change) | $1,095,049 | 97.9% |
| -25bps利下げ | $1,336,785 | 1.1% |
| +25bps以上の利上げ | $1,107,488 | 0.7% |
| -50bps以上の利下げ | $3,472,741 | 0.4% |
合計 100.1%(わずかな裁定余地込み)。つまり市場は2026年4月Fed会合を97.9%の確率で据え置きと予想しています。記事を書いた今日(2026-04-11)時点のリアルな数字です。
組み合わせスクリプト
# 06_fred_polymarket_combo.pyfrom fredapi import Fredimport os, requests
fred = Fred(api_key=os.environ["FRED_API_KEY"])
# 1. FREDから過去5年のFed Funds Raterate = fred.get_series("FEDFUNDS", observation_start="2021-01-01")print(f"過去データ: {len(rate)}ポイント")print(f" 最新: {rate.index[-1].date()} = {rate.iloc[-1]:.2f}%")print(f" 1年前: {rate.iloc[-13]:.2f}%")print(f" 最高: {rate.max():.2f}% 最低: {rate.min():.2f}%")
# 2. Polymarket 次回FOMC関連市場を取得print("\n=== Polymarket: 次回FOMC予想 ===")r = requests.get( "https://gamma-api.polymarket.com/markets", params={"closed": "false", "limit": 100, "order": "volume24hr", "ascending": "false"}, timeout=15,)markets = r.json()fed_markets = [ m for m in markets if any(k in (m.get("question", "") or "").lower() for k in ["fed", "fomc", "rate"])]
for m in fed_markets[:5]: q = m["question"][:60] vol = m.get("volume24hr", 0) price = m.get("lastTradePrice") print(f" {price:.3f} | ${vol:>12,.0f} | {q}")
# 3. シンプルな結論if fed_markets: no_change = next( (m for m in fed_markets if "no change" in m["question"].lower()), None ) if no_change: p = no_change.get("lastTradePrice", 0) current_rate = rate.iloc[-1] print(f"\n市場の予想:次回Fed会合は{p*100:.1f}%の確率で据え置き") print(f"→ つまり金利は約{current_rate:.2f}%で推移継続と見られている")実行結果(予想)
過去データ: 51ポイント 最新: 2026-03-01 = 4.33% 1年前: 4.33% 最高: 5.33% 最低: 0.05%
=== Polymarket: 次回FOMC予想 === 0.979 | $ 1,095,049 | Will there be no change in Fed interest rates after the Apr 0.011 | $ 1,336,785 | Will the Fed decrease interest rates by 25 bps after the 0.007 | $ 1,107,488 | Will the Fed increase interest rates by 25+ bps after the 0.004 | $ 3,472,741 | Will the Fed decrease interest rates by 50+ bps after the
市場の予想:次回Fed会合は97.9%の確率で据え置き→ つまり金利は約4.33%で推移継続と見られているこれが記事の価値です。過去の実績(FREDの連続データ)と未来の織り込み確率(Polymarketの予測市場)が1本のスクリプトで取れる。
ブログ記事への応用パターン
このブログ自体もこのスタックから恩恵を受けられます。例えば:
パターン①:FX記事の冒頭で「市場の織り込み」を引用
> 今日時点で、Polymarketの市場確率によれば **2026年4月のFOMCは97.9%の確率で金利据え置き**と予想されています。> つまりドル円の方向性に金利要因の新情報は入ってこない前提で分析します。読者の納得感が跳ね上がります。「当方の予想」じゃなくて「約$7Mが実際に張られている市場の予想」を引用できるから。
パターン②:マクロ記事にチャートを埋め込む
前回のlightweight-charts記事の手法をそのまま流用して、FREDから取ってきた過去5年のFed金利推移をブラウザで動く金融チャートとしてMDX内に埋め込めます。やる気があれば「FedFundsレートが2022-2024年にかけてゼロから5.3%まで急騰した実データ」が1ページで表示できる。
パターン③:相関記事のバックテスト
- FREDから
DGS10(10年債利回り) - Polymarketから「トランプ政権2026年12月時点支持率」みたいな政治市場
- 相関を取って「金利×政権評価の関係」を定量記事化
これ全部**$0**で回せます。Bloombergでも同じ組み合わせは作れますが、月$2,000です。
つまずきポイント
| 症状 | 原因 | 対処 |
|---|---|---|
Bad Request. variable api_key is not a 32 character... | キー未設定 or 形式不正 | 32文字ちょうどか確認 |
fred.stlouisfed.org/graph/fredgraph.csv が timeout | そのエンドポイントはanti-bot保護 | api.stlouisfed.org/fred/series/observations を使う(これは普通にOK) |
get_series("INVALID") でエラー | シリーズ名が間違い | FREDサイト上で正しいID確認(例: FEDFUNDS, UNRATE) |
| 古いデータしか返ってこない | observation_start指定忘れ | 必ず observation_start="2020-01-01" のように指定 |
| 日次と月次が混在して混乱 | FREDの系列は周期バラバラ | get_series_info() で frequency を先に確認 |
まとめ
- fredapiでFRBの過去マクロデータを全部無料で取得可能(要APIキー登録1分)
- Polymarket gamma-apiで未来の織り込み確率を認証なしで取得可能
- 組み合わせ = Bloomberg Terminal の金利セクションの代替
- 記事執筆では「市場が実際にどう見ているか」を引用すると納得感が段違い
無料のfredapiと無料のPolymarket gamma-apiだけで、過去の事実 × 未来の織り込み確率を1枚の画面にまとめられます。Bloomberg Terminalの金利セクションに出てくる情報とほぼ同じものが、合計$0で取れる時代です🔥
参考リンク
🎁おすすめツール・サービス
※上記リンクにはプロモーション(広告)が含まれています
量子相場謀略|ホソノP
ブログでは書けない本音のトレード戦略とEA開発の裏側を公開。 データに基づいた検証で、再現性のある手法だけをお届けします。