各中央銀行の現在の政策金利と変更履歴は economics エンドポイントから、市場が織り込む金利パスは predictions API から読み取ります。政策金利は現在の政策の位置を示し、パスは今後の各会合で利下げ・据え置き・利上げになる確率を示します。
現在の政策金利を読み取る
GET /v1/economics/{country}/central-bank/policy-rate は、その国で現在適用されている金利を返します。このリクエストでは米国を指定します。
curl -s -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/economics/USA/central-bank/policy-rate"{
"country": "USA",
"authority": "federal_reserve",
"currency": "USD",
"instrument": "federal_funds_target_range",
"unit": "percent",
"effective_on": "2026-09-17",
"observed_on": null,
"announced_on": null,
"rate_type": "range",
"lower_bound": "3.75",
"upper_bound": "4.00"
}連邦準備制度は目標レンジを設定するため、rate_type は range で、レスポンスには lower_bound 3.75 と upper_bound 4.00(単位は%)が含まれます。このレンジは effective_on の 2026-09-17 に発効しました。単一の金利を設定する銀行では rate_type が point となり、2つの境界の代わりに rate フィールドが1つ返ります。
| 国 | instrument | 金利 | 日付フィールド |
|---|---|---|---|
| USA | federal_funds_target_range | 3.75 から 4.00 | effective_on 2026-09-17 |
| GBR | bank_rate | 3.75 | effective_on 2025-12-18 |
| JPN | overnight_call_rate_target | 1.25 | observed_on 2026-10-27 |
金利がどう推移したかを見る
/history を付けると、金利の観測値の系列を読み取れます。start パラメータで開始日を指定し、長い履歴は limit と cursor でページ送りします。このリクエストは2025年9月から始めます。
curl -s -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/economics/USA/central-bank/policy-rate/history?start=2025-09-01"{
"country": "USA",
"observations": [
{
"country": "USA",
"authority": "federal_reserve",
"currency": "USD",
"instrument": "federal_funds_target_range",
"unit": "percent",
"effective_on": "2025-09-18",
"observed_on": null,
"announced_on": null,
"rate_type": "range",
"lower_bound": "4.00",
"upper_bound": "4.25"
},
{
"country": "USA",
"authority": "federal_reserve",
"currency": "USD",
"instrument": "federal_funds_target_range",
"unit": "percent",
"effective_on": "2025-10-30",
"observed_on": null,
"announced_on": null,
"rate_type": "range",
"lower_bound": "3.75",
"upper_bound": "4.00"
}
],
"next_cursor": null
}完全なレスポンスは古い順に4行で、ブロックには2行を示しています。各上限値を直前の値から引くと変動幅が分かります。2025-10-30 に -25 ベーシスポイント、2025-12-11 に -25、2026-09-17 に +25 です。下のスクリプトはこの引き算を Decimal で行うので、金利に浮動小数点の誤差は入りません。長い履歴では end も指定するか、next_cursor が null になるまでたどってください。
市場が織り込む金利パスを読み取る
GET /v1/predictions/policy-paths/federal-reserve は、今後の各会合の確率を返します。パスが持つのは変更だけで、現在の金利は含まれないため、金利は上のエンドポイントから読み取ります。
curl -s -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/predictions/policy-paths/federal-reserve"{
"as_of": "2026-11-03T02:34:00Z",
"meetings": [
{
"event_id": "usa-fed-2026-12",
"p_cut": "0.0096",
"p_hold": "0.2533",
"p_hike": "0.7371",
"expected_change_bps": "18.6",
"cumulative_change_bps": "18.6",
"resolves_at": "2026-12-09T19:00:00Z"
},
{
"event_id": "usa-fed-2027-01",
"p_cut": "0.0280",
"p_hold": "0.7055",
"p_hike": "0.2665",
"expected_change_bps": "6.0",
"cumulative_change_bps": "24.6",
"resolves_at": "2027-01-27T19:00:00Z"
}
]
}as_of は確率の日時を示します。各会合で、resolves_at は決定の時刻、p_cut、p_hold、p_hike は合計が1になる確率です。最初の会合の利上げ確率は73.7%で、expected_change_bps は18.6です。cumulative_change_bps は会合ごとの値を積み上げたもので、18.6に6.0を足すと2回目の会合後は24.6になります。
他の銀行を調べるには、パスの authority を変更します(例:bank-of-japan)。meetings リストが空のレスポンスは、その authority に会合が掲載されていないことを意味します。このページの執筆時点では bank-of-england がそうでした。
3つの銀行を1つの表で比べる
ウォッチリストでは、すべての銀行に同じ列が必要です。金利は金利エンドポイントから、最初の会合はその銀行の authority 名のパスから取ります。federal-reserve、bank-of-england、bank-of-japan です。
| 国 | Authority | 現在の金利 | パスの最初の会合 | 利上げ確率 |
|---|---|---|---|---|
| USA | federal-reserve | 3.75 から 4.00 | 2026-12-09 | 73.7パーセント |
| GBR | bank-of-england | 3.75 | 掲載なし | 利用不可 |
| JPN | bank-of-japan | 1.25 | 2026-12-18 | 83.6パーセント |
英国の行は、このページの執筆時点でパスに会合がなかったため空のままですが、金利は現在のものです。そのような銀行も表に行を残してください。パスが空でも金利を表示するほうが、その銀行を外すより役立ちます。as_of は確率が更新されるたびに動くので、使う前に各パスを読み直してください。
1つのスクリプトで金利とパスをまとめる
- APIキーを取得 サインアップ で API キーを取得し、
NARWHAL_API_KEYに保存します。 - 各国の金利を読み取る スクリプトは instrument、金利、日付を出力します。
effective_onを使い、null の場合はobserved_onに切り替えます。 - 変動幅と確率を計算する 連続する上限値の差から変動幅をベーシスポイントで求め、最初の2会合の利上げ確率と据え置き確率をパーセントで出力します。
import os from decimal import Decimal import requests BASE = "https://api.narwhalapi.com" HEADERS = {"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"} def get(path, **params): r = requests.get(f"{BASE}{path}", headers=HEADERS, params=params, timeout=10) r.raise_for_status() return r.json() def text(o): if o["rate_type"] == "range": return f"{o['lower_bound']} to {o['upper_bound']}" return o["rate"] def top(o): return Decimal(o["upper_bound"] if o["rate_type"] == "range" else o["rate"]) for country in ("USA", "GBR", "JPN"): o = get(f"/v1/economics/{country}/central-bank/policy-rate") print(country, o["instrument"], text(o), "since", o["effective_on"] or o["observed_on"]) rows = get("/v1/economics/USA/central-bank/policy-rate/history", start="2025-09-01")["observations"] for before, now in zip(rows, rows[1:]): print(now["effective_on"], int((top(now) - top(before)) * 100), "bp") for m in get("/v1/predictions/policy-paths/federal-reserve")["meetings"][:2]: print(m["resolves_at"][:10], "hike", f"{Decimal(m['p_hike']) * 100:.1f}%", "hold", f"{Decimal(m['p_hold']) * 100:.1f}%", "expected", m["expected_change_bps"], "bp")
USA federal_funds_target_range 3.75 to 4.00 since 2026-09-17
GBR bank_rate 3.75 since 2025-12-18
JPN overnight_call_rate_target 1.25 since 2026-10-27
2025-10-30 -25 bp
2025-12-11 -25 bp
2026-09-17 25 bp
2026-12-09 hike 73.7% hold 25.3% expected 18.6 bp
2027-01-27 hike 26.6% hold 70.6% expected 6.0 bp金利が変わった日はどの日付で分かりますか。
effective_on に値があればそれを使い、なければ observed_on を使います。米国と英国は effective_on を返しました。日本は observed_on を返し、effective_on は null でした。3件のレスポンスすべてで announced_on は null でした。
過去の日付の金利を読めますか。
はい。政策金利エンドポイントに date を渡します。米国に date=2025-11-15 を指定したリクエストは、3.75〜4.00 のレンジを effective_on 2025-10-30(そのレンジが始まった日)とともに返しました。
パスに現在の金利は含まれますか。
いいえ。会合ごとの確率と、ベーシスポイントでの期待変動幅だけを持つので、政策金利エンドポイントで読んだ金利に変動幅を足してください。ベーシスポイントを100で割るとパーセントポイントになります。最初の会合の18.6ベーシスポイントは0.186パーセントポイントです。
これは利下げ・据え置き・利上げの結果を確率で加重した平均なので、結果を混ぜた値であり、銀行が発表する変動幅そのものではありません。
公開。