Financial Literature

Bank of Japan

BOJ Time-Series Data — Japan's policy rate, JGB yields, yen and money — as table CSVs from the Bank of Japan

For Japan's monetary picture from the source: the uncollateralised call rate, JGB yields the BOJ publishes, yen exchange rates, money stock, bank lending. Each 'main time-series' table has a stable CSV URL.

ratesmacrofxmoneyJapan
Asset classesrates · macro · fx · money
Frequencydaily → annual
History1970s → today
Limit · costNo key · table CSVs, no published limit
KeyNo key
Formats · pull withcsv · browser — python, excel, browser
LicenceFree to use with attribution to the Bank of Japan; check individual tables for third-party data.
RedistributeWith attribution; check series notes
Best for“Yen per dollar and the BOJ's own rate series” · “Japanese money stock and bank lending”
When to use it

Reach for it when…

For Japan's monetary picture from the source: the uncollateralised call rate, JGB yields the BOJ publishes, yen exchange rates, money stock, bank lending. Each 'main time-series' table has a stable CSV URL.

Not for: Japanese CPI, GDP and jobs (e-Stat, the Statistics Bureau), stock indices (Nikkei Indexes), anything intraday.

How to read it

Units, revisions, traps

Units. Rates in percent; yen per dollar for FX; money stock in ¥100 million. Monthly tables are monthly averages unless the title says end-of-month.

Revisions. Money stock and lending are revised; rates and FX are not.

  • Two header rows and a title row above the data — skiprows and name the columns yourself.
  • Some tables use Japanese fiscal periods (April–March); check the date column format.
  • Table ids look like fm08_m_1_en; the site's 'main time-series statistics' page lists them.

Classic mistake: Treating the monthly-average yen rate as the month-end rate.

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 1Yen per dollar, monthly average

# main time-series table fm08: foreign exchange rates, monthly
import pandas as pd
u = "https://www.stat-search.boj.or.jp/ssi/mtshtml/csv/fm08_m_1_en.csv"
df = pd.read_csv(u, skiprows=2)
df = df.rename(columns={df.columns[0]: "period"})
print(df.head(3)); print(df.tail(3))
How to read the resultMonthly averages smooth the intervention days; for a specific date use the daily table (fm08_d) or FRED's DEXJPUS.

Recipe 2The call rate and JGB yields

# main time-series table ir01: interest rates, monthly
import pandas as pd
u = "https://www.stat-search.boj.or.jp/ssi/mtshtml/csv/ir01_m_1_en.csv"
df = pd.read_csv(u, skiprows=2)
print(df.tail())
How to read the resultThe uncollateralised overnight call rate is the policy instrument; a move from 0.1 to 0.25 in 2024 was the first hike in seventeen years.

Recipe 3Money stock and bank lending

# main time-series table md01: money stock; md02: loans and discounts
import pandas as pd
u = "https://www.stat-search.boj.or.jp/ssi/mtshtml/csv/md01_m_1_en.csv"
df = pd.read_csv(u, skiprows=2)
print(df.tail())
How to read the resultYear-on-year growth is the readable number; the level is in ¥100 million and dwarfs everything.

Series → question map

The ids we use from BOJ Time-Series Data, each with the question it answers. The catalog's compare view reads the concept tags behind these rows.

SeriesAnswersRegionConcept
fm08_m_1Yen per dollar, monthly averageJapanfx_usd
ir01_m_1What is the BOJ's overnight rate?Japanpolicy_rate
ir01_m_1 · JGB 10yWhere is the 10-year JGB yield?Japanyield_10y
md01_m_1Is Japan's money stock growing?Japanmoney_supply

Compare with

Same question, different source: FRED, BOK ECOS, Nikkei Indexes. The compare view lines up coverage, frequency, history and access side by side and lists what the combination makes possible.

Open compare: BOJ Time-Series Data · FRED · BOK ECOS →

Questions readers ask

Is there an API?

Not a documented JSON API; the stable table CSV URLs serve the same purpose and need no key.

Where is Japanese CPI?

At e-Stat, the government statistics portal (free API key), or FRED's JPNCPIALLMINMEI mirror.

Why does the CSV start with a title line?

Every BOJ table carries its title and timestamp above the header; skip two rows.

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.