將所有中央銀行會議列於同一份清單

只要中央銀行在預測主題中有事件,就能先請求一次主題清單,再為每家銀行各請求一次,依日期由近到遠列出其決策日期。截至 2026 年 10 月 24 日,最近的是加拿大央行、聯準會與紐西蘭準備銀行的 2026 年 10 月 28 日決策,接著是歐洲央行的 10 月 29 日及日本銀行的 10 月 30 日決策。

使用 API

使用 central_banks 群組中的預測主題,建立跨銀行的清單。指令碼會保留標題以 rate decision 結尾的主題,讀取其事件,並輸出每家銀行最接近的未來日期。每個輸出列都先列出 UTC 日期,再列出銀行名稱。

應使用的事件欄位是 resolves_at。when 函式會讀取其時間戳記,並將 Z 後綴按 UTC 時差處理。事件必須具有該欄位,且時間戳記晚於指令碼啟動時間,才會加入該銀行的排序清單。同一家銀行若有多個未來事件,只有最早的事件會加入合併輸出。指令碼收集完各家銀行後才進行最後排序,因此不同主題的日期會一起依序排列。

  1. 取得 API 金鑰 建立免費金鑰,並將它存放在名為 NARWHAL_API_KEY 的環境變數中。指令碼會讀取該變數,並透過 Authorization: Bearer YOUR_KEY 標頭,將金鑰傳送至 https://api.narwhalapi.com。
  2. 讀取中央銀行主題 先使用 GET /v1/predictions/topics?group=central_banks 取得主題清單,再為每家銀行使用 GET /v1/predictions/topics/{topic_id}。先取得清單,指令碼就能取得請求事件所需的主題 ID。
  3. 執行 Python 指令碼 指令碼會讀取每個事件的 resolves_at,保留晚於啟動時間的時間戳記,並在各家銀行的事件中依時間戳記排序。接著取出該銀行最早的未來時間戳記,將它轉為日期,再把日期與銀行名稱加入輸出。
    Python,各家中央銀行的下一次決策
    import os
    from datetime import datetime, timezone
    import requests
    
    HEADERS = {"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"}
    BASE = "https://api.narwhalapi.com/v1/predictions"
    
    
    def get(path, **params):
        r = requests.get(f"{BASE}{path}", params=params, headers=HEADERS, timeout=10)
        r.raise_for_status()
        return r.json()
    
    
    now = datetime.now(timezone.utc)
    
    
    def when(text):
        return datetime.fromisoformat(text.replace("Z", "+00:00"))
    
    
    topics = [
        t
        for t in get("/topics", group="central_banks")["topics"]
        if t["title"].endswith("rate decision")
    ]
    
    rows = []
    for topic in topics:
        events = get(f"/topics/{topic['topic_id']}")["events"]
        upcoming = sorted(
            when(e["resolves_at"])
            for e in events
            if e.get("resolves_at") and when(e["resolves_at"]) > now
        )
        if upcoming:
            rows.append(
                (
                    upcoming[0].date().isoformat(),
                    topic["title"].removesuffix(" rate decision"),
                )
            )
    
    for day, bank in sorted(rows):
        print(day, bank)
  4. 依順序查看日期 最後一個迴圈會將合併後的資料列依日期由近到遠排序,日期相同的銀行會排在一起。只有當銀行主題中的事件具有未來的 resolves_at 時,該銀行才會出現在清單中;指令碼會排除沒有這類事件的主題。

不寫程式查詢會議日期

開啟中央銀行會議指南,依月份查看會議。涵蓋的銀行包括聯準會、歐洲央行、英格蘭銀行、日本銀行、加拿大央行、澳洲準備銀行與 SNB。各家銀行的利率機率頁面,也是無需寫程式即可查看其會議事件的方式。

若要查看指南涵蓋銀行的日期,請使用按月編排的指南。若問題涉及特定銀行,請使用該銀行的利率機率頁面。若要將預測主題中所有具有未來事件的銀行合併成一份清單,請使用指令碼,並查看依日期排序的輸出。

各種情況適合的方式

情況最適合的方式原因
依月份查看會議日期中央銀行會議指南依月份分組列出涵蓋銀行的會議
列出所有具有未來決策日期的銀行預測主題指令碼依日期順序合併各家銀行最早的未來事件
查看確切的決策時間topic == "policy_rate" 的經濟行事曆項目依 2026 年 10 月 24 日的清單,包含 USA、AUS、BRA 與 MEX 在 2026 年 10 月 24 日至 12 月 31 日期間的確切時間

日期清單與經濟行事曆適用於不同的排程需求。使用預測主題,將各家銀行的決策日期彙整到同一份輸出中。若也需要查看具體時刻,請使用行事曆中的 policy_rate 項目。

為什麼經濟行事曆中沒有某些銀行?

經濟行事曆提供決策時間的國家,比預測主題涵蓋的國家少。截至 2026 年 10 月 24 日,其在 2026 年 10 月 24 日至 12 月 31 日期間的 policy_rate 項目涵蓋 USA、AUS、BRA 與 MEX,該期間共有八次決策。

預測主題涵蓋更多銀行,並提供會議日期,但不一定提供具體時刻。因此,某家銀行未出現在這些行事曆項目中,不代表預測主題中也沒有它的決策日期。請讀取該銀行的主題事件,取得指令碼使用的日期。

這些日期是官方日期嗎?

這些是來自 resolves_at 的預測市場會議事件日期,依各家銀行公布的時程設定;最終仍以銀行公布的資訊為準。指令碼會將該時間戳記轉為 UTC 日期,用於合併清單。結果中的每一列表示該銀行會議事件所附的日期。

主題 ID 會變動嗎?

每次建立清單時,都從 GET /v1/predictions/topics?group=central_banks 取得主題 ID。請如同指令碼的做法,使用回傳的 topic_id 值發出個別事件請求。指令碼會先依標題從該群組篩選出利率決策主題,再請求其事件。

實作範例:2026 年 10 月 26 日當週

資料取自 2026 年 10 月 24 日。取出每家銀行最早的未來決策日期,再將所有日期一起排序。結果清單中有十一家銀行具有未來的決策事件;UTC 日期如下:

UTC 決策日期銀行
2026-10-28加拿大央行
2026-10-28聯準會
2026-10-28紐西蘭儲備銀行
2026-10-29歐洲央行
2026-10-30日本央行
2026-11-03澳洲儲備銀行
2026-11-04巴西央行
2026-11-05英格蘭銀行
2026-11-05墨西哥央行
2026-11-18印尼央行
2026-12-18俄羅斯央行

每一列代表 2026 年 10 月 24 日資料中,某家銀行最早的未來事件。計算日期落在指定週內的銀行家數,再加總每天的家數。若也需要該週之後的決策日期,請在完整清單中保留後續資料列。

若要計算 2026 年 10 月 26 日當週的決策次數,請保留日期落在該週內的資料列。在 2026 年 10 月 24 日的資料中,10 月 28 日星期三有加拿大央行、聯準會與紐西蘭準備銀行。10 月 29 日星期四有歐洲央行,10 月 30 日星期五則有日本銀行。

2026 年 10 月 26 日當週日期2026 年 10 月 24 日資料中的決策
10 月 28 日星期三3
10 月 29 日星期四1
10 月 30 日星期五1
當週合計3 + 1 + 1 = 11 家中的 5 家

發布於 。

後續步驟