Financial Literature

Hong Kong Monetary Authority

HKMA API — HIBOR, the base rate, the aggregate balance and the HKD peg's plumbing — a clean JSON API

For Hong Kong's monetary mechanics — HIBOR fixings, the base rate (which follows the Fed), the aggregate balance (how much liquidity is left), the HKD spot rate against the 7.75–7.85 band — from the authority that runs the peg.

ratesfxmoneyHong Kong
Asset classesrates · fx · money
Frequencydaily → monthly
History1990s → today
Limit · costNo key · 100 records per page
KeyNo key
Formats · pull withjson — python, excel
LicenceFree to use with attribution to the HKMA.
RedistributeWith attribution; check series notes
Best for“Is the Hong Kong dollar at the weak side of the peg?” · “HIBOR against the US rate”
When to use it

Reach for it when…

For Hong Kong's monetary mechanics — HIBOR fixings, the base rate (which follows the Fed), the aggregate balance (how much liquidity is left), the HKD spot rate against the 7.75–7.85 band — from the authority that runs the peg.

Not for: Hong Kong stock prices (HKEX or a market-data API), Hong Kong CPI and GDP (the Census and Statistics Department), mainland China data (NBS, PBOC).

How to read it

Units, revisions, traps

Units. Rates in percent; the aggregate balance in HK$ millions; the exchange rate in HKD per USD. Daily figures are business days.

Revisions. Not revised.

  • The API pages at 100 records; use offset or filter by date to walk history.
  • HIBOR has many tenors in one record (overnight, 1-week, 1-month…); pick the column.
  • The base rate moves the day after each FOMC decision by construction.

Classic mistake: Reading a HIBOR rise as HKMA tightening — it is the peg transmitting US rates.

How to use it in your own work

Three recipes

Each recipe: Python · Excel · Sheets, with how to read the result. Python recipes run under pandas; recipe 1 is re-run by the weekly check where the source allows it.

How to use it in your own work

Copy the snippet, change the series id, read the result the way the footer says. Replace YOUR_…_KEY with your own key where one is needed.

Recipe 1HIBOR fixings, daily

import requests, pandas as pd
u = "https://api.hkma.gov.hk/public/market-data-and-statistics/monthly-statistical-bulletin/er-ir/hk-interbank-ir-daily?pagesize=60"
df = pd.DataFrame(requests.get(u, timeout=30).json()["result"]["records"])
df["date"] = pd.to_datetime(df.end_of_day)
print(df.set_index("date")[["ir_overnight", "ir_1m", "ir_3m"]].sort_index().tail())
How to read the result1-month HIBOR far below US 1-month SOFR means liquidity is ample; the gap closes as the aggregate balance shrinks.

Recipe 2The aggregate balance and base rate

import requests, pandas as pd
u = "https://api.hkma.gov.hk/public/market-data-and-statistics/daily-monetary-statistics/daily-figures-interbank-liquidity?pagesize=60"
df = pd.DataFrame(requests.get(u, timeout=30).json()["result"]["records"])
df["date"] = pd.to_datetime(df.end_of_date)
print(df.set_index("date")[["disc_win_base_rate", "closing_balance"]].sort_index().tail())
How to read the resultThe closing balance falls when HKMA sells dollars to defend 7.85; a small balance is why HIBOR then jumps.

Recipe 3HKD spot against the band

import requests, pandas as pd
u = "https://api.hkma.gov.hk/public/market-data-and-statistics/monthly-statistical-bulletin/er-ir/er-eeri-daily?pagesize=60"
df = pd.DataFrame(requests.get(u, timeout=30).json()["result"]["records"])
df["date"] = pd.to_datetime(df.end_of_day)
print(df.set_index("date")[["usd"]].sort_index().tail())     # HKD per USD; the band is 7.75–7.85
How to read the resultAt 7.85 the HKMA buys HKD (draining liquidity); at 7.75 it sells. The position inside the band is the whole story.

Series → question map

The ids we use from HKMA API, each with the question it answers. The catalog's compare view reads the concept tags behind these rows.

SeriesAnswersRegionConcept
hk-interbank-ir-daily · ir_1mWhat is 1-month HIBOR?Hong Konginterbank
daily-figures-interbank-liquidity · disc_win_base_rateWhat is the HKMA base rate?Hong Kongpolicy_rate
daily-figures-interbank-liquidity · closing_balanceHow much liquidity is left?Hong Kongliquidity
er-eeri-daily · usdWhere is HKD inside the peg band?Hong Kongfx_usd

Compare with

Same question, different source: NY Fed Markets Data, SingStat Table Builder API, BNM OpenAPI. The compare view lines up coverage, frequency, history and access side by side and lists what the combination makes possible.

Open compare: HKMA API · NY Fed Markets Data · SingStat Table Builder API →

Questions readers ask

Is the HKMA API free?

Yes, no key, JSON only.

Why does the base rate move with the Fed?

Under the Linked Exchange Rate System the base rate is set as the higher of the US fed funds target plus 50 basis points or the average of HIBOR; the peg imports US policy.

Where is Hong Kong CPI?

At the Census and Statistics Department (censtatd.gov.hk), which has its own API.

From the paper

Educational only — we explain, we never advise · snippet licence: public domain · corrections to [email protected], fixed within a day and logged in the changelog.