Monthly Monetary and Financial Statistics (MEI) - MEI_FIN

Data - OECD

Info

Last observation: Q: 2026-Q2 (N = 282) · M: 2026-06 (N = 247) · A: 2025 (N = 293)

First observation: A: 1950 (N = 1) · M: 1950-01 (N = 1) · Q: 1950-Q1 (N = 1)

Last data update: 30 jul 2026, 16:38. Last compile: 18 aoû 2026, 00:51

Structure

Nobs - Javascript

Code
MEI_FIN |>
  left_join(MEI_FIN_var$SUBJECT, by = c("MEASURE" = "SUBJECT")) %>%
  {if (!is_html_output()) mutate(., Subject = substr(Subject, 1, 87)) else .} |>
  group_by(MEASURE, Subject, FREQ) |>
  filter(!is.na(obsValue)) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Relative consumer price indices - CCRETT01

FRA, DEU, ITA, USA - Monthly

Code
MEI_FIN |>
  filter(MEASURE == "CCRETT01",
         FREQ == "M",
         REF_AREA %in% c("FRA", "DEU", "ITA", "USA")) |>
  month_to_date() |>
  left_join(colors, by = c("Location" = "country")) |>
  mutate(color = ifelse(REF_AREA == "USA", color2, color)) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  theme_minimal() + xlab("") + ylab("Relative consumer price indices") +
  scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  add_4flags + scale_color_identity() +
  scale_y_continuous(breaks = seq(-10, 300, 10),
                     labels = dollar_format(accuracy = 1, prefix = ""))

All Countries

Code
MEI_FIN |>
  filter(MEASURE == "CCRETT01") |>
  group_by(REF_AREA, Location, FREQ) |>
  summarise(Nobs = n(),
            obsTime1 = first(TIME_PERIOD),
            obsTime2 = last(TIME_PERIOD)) |>
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

LT Interest Rates

France, Germany, Japan

Code
MEI_FIN |>
  filter(REF_AREA %in% c("FRA", "DEU", "JPN"),
         MEASURE == "IRLT",
         FREQ == "M") |>
  month_to_date() |>
  filter(date >= as.Date("2010-01-01")) |>
  left_join(colors, by = c("Location" = "country")) |>
  mutate(obsValue = obsValue / 100) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() +
  theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
  add_3flags +
  scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1)) +
  theme(legend.position = "none") +
  geom_hline(yintercept = 0, linetype = "dashed")

2019-2021

Code
MEI_FIN |>
  filter(REF_AREA %in% c("FRA", "DEU", "JPN"),
         MEASURE == "IRLT",
         FREQ == "M") |>
  month_to_date() |>
  filter(date >= as.Date("2014-02-01")) |>
  group_by(REF_AREA) |>
  mutate(obsValue = obsValue / 100) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) + 
  theme_minimal() + xlab("") + ylab("Taux Nominal sur la Dette, 10 ans (%)") +
  add_3flags +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, .2),
                     labels = percent_format(accuracy = .1)) +
  scale_color_manual(values = c("#002395", "#000000", "#BC002D")) +
  theme(legend.position = "none") +
  geom_hline(yintercept = 0, linetype = "dashed")

France, United States, Germany, Japan

All

Code
MEI_FIN |>
  filter(REF_AREA %in% c("FRA", "USA", "DEU", "JPN"),
         MEASURE == "IRLT",
         FREQ == "M") |>
  month_to_date() |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(REF_AREA) |>
  mutate(obsValue = obsValue / 100) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  add_4flags +
  theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank()) +
  scale_color_identity()

1990-

Code
MEI_FIN |>
  filter(REF_AREA %in% c("FRA", "USA", "DEU", "JPN"),
         MEASURE == "IRLT",
         FREQ == "M") |>
  month_to_date() |>
  filter(date >= as.Date("1990-01-01")) |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(REF_AREA) |>
  mutate(obsValue = obsValue / 100) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_4flags +
  theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2010-

Code
MEI_FIN |>
  filter(REF_AREA %in% c("FRA", "USA", "DEU", "JPN"),
         MEASURE == "IRLT",
         FREQ == "M") |>
  month_to_date() |>
  filter(date >= as.Date("2010-01-01")) |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(REF_AREA) |>
  ggplot() + geom_line(aes(x = date, y = obsValue / 100, color = color)) + 
  theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
  geom_image(data = . %>%
               filter(date == as.Date("2014-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", Location)), ".png")),
             aes(x = date, y = obsValue / 100, image = image), asp = 1.5) +
  scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1)) +
  theme(legend.position = "none") +
  scale_color_identity()

Last 10 years

Code
MEI_FIN |>
  filter(REF_AREA %in% c("FRA", "USA", "DEU", "JPN"),
         MEASURE == "IRLT",
         FREQ == "M") |>
  month_to_date() |>
  filter(date >= Sys.Date() - years(10)) |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(REF_AREA) |>
  ggplot() + geom_line(aes(x = date, y = obsValue / 100, color = color)) + 
  theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
  geom_image(data = . %>%
               filter(date == as.Date("2014-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", Location)), ".png")),
             aes(x = date, y = obsValue / 100, image = image), asp = 1.5) +
  scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1)) +
  theme(legend.position = "none") +
  scale_color_identity()

Short-term Rates

France, United States, Germany, Japan

All

Code
MEI_FIN |>
  filter(REF_AREA %in% c("FRA", "USA", "DEU", "JPN"),
         MEASURE == "IR3TIB",
         FREQ == "M") |>
  month_to_date() |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(REF_AREA) |>
  mutate(obsValue = obsValue / 100) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  add_4flags +
  theme_minimal() + xlab("") + ylab("Short-Term Interest Rates (%)") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank()) +
  scale_color_identity()

1990-

Code
MEI_FIN |>
  filter(REF_AREA %in% c("FRA", "USA", "DEU", "JPN"),
         MEASURE == "IR3TIB",
         FREQ == "M") |>
  month_to_date() |>
  filter(date >= as.Date("1990-01-01")) |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(REF_AREA) |>
  mutate(obsValue = obsValue / 100) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_4flags +
  theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
  scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2010-

Code
MEI_FIN |>
  filter(REF_AREA %in% c("FRA", "USA", "DEU", "JPN"),
         MEASURE == "IR3TIB",
         FREQ == "M") |>
  month_to_date() |>
  filter(date >= as.Date("2010-01-01")) |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(REF_AREA) |>
  ggplot() + geom_line(aes(x = date, y = obsValue / 100, color = color)) + 
  theme_minimal() + xlab("") + ylab("Short-Term Interest Rates (%)") +
  geom_image(data = . %>%
               filter(date == as.Date("2014-01-01")) %>%
               mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", Location)), ".png")),
             aes(x = date, y = obsValue / 100, image = image), asp = 1.5) +
  scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1)) +
  theme(legend.position = "none") +
  scale_color_identity()

Last 10 years

Code
MEI_FIN |>
  filter(REF_AREA %in% c("FRA", "USA", "DEU", "JPN"),
         MEASURE == "IR3TIB",
         FREQ == "M") |>
  month_to_date() |>
  filter(date >= Sys.Date() - years(10)) |>
  left_join(colors, by = c("Location" = "country")) |>
  group_by(REF_AREA) |>
  mutate(obsValue = obsValue / 100) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  theme_minimal() + xlab("") + ylab("Short-Term Interest Rates (%)") + add_3flags +
  scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1)) +
  theme(legend.position = "none") +
  scale_color_identity()