Long-term interest rate statistics

Data - ECB

Warning in readChar(con, 5L, useBytes = TRUE): impossible d'ouvrir le fichier
compressé '/Users/geerolf/Library/Mobile
Documents/com~apple~CloudDocs/website/data/ecb/TITLE_COMPL.RData', cause
probable : 'No such file or directory'
Error: 17 

Info

source dataset Title .html .rData
ecb IRS Long-term interest rate statistics 2025-08-29 2025-08-29

Info

  • Data Structure Definition (DSD). html

Data on interest rates

source dataset Title .html .rData
bdf FM Marché financier, taux 2025-08-28 2025-08-28
bdf MIR Taux d'intérêt - Zone euro 2025-08-28 2025-08-04
bdf MIR1 Taux d'intérêt - France 2025-08-28 2025-08-04
bis CBPOL_D Policy Rates, Daily 2025-08-28 2025-08-20
bis CBPOL_M Policy Rates, Monthly 2025-08-28 2024-04-19
ecb FM Financial market data 2025-08-29 2025-08-29
ecb MIR MFI Interest Rate Statistics 2025-08-29 2025-08-29
eurostat ei_mfir_m Interest rates - monthly data 2025-10-01 2025-09-26
eurostat irt_lt_mcby_d EMU convergence criterion series - daily data 2025-10-01 2025-07-24
eurostat irt_st_m Money market interest rates - monthly data 2025-10-01 2025-09-26
fred r Interest Rates 2025-10-02 2025-10-01
oecd MEI Main Economic Indicators 2024-04-16 2025-07-24
oecd MEI_FIN Monthly Monetary and Financial Statistics (MEI) 2024-09-15 2025-07-24
wdi FR.INR.DPST Deposit interest rate (%) 2022-09-27 2025-09-27
wdi FR.INR.LEND Lending interest rate (%) 2025-10-02 2025-09-27
wdi FR.INR.RINR Real interest rate (%) 2025-05-24 2025-09-27

LAST_COMPILE

LAST_COMPILE
2025-10-09

Last

Code
IRS %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  head(2) %>%
  print_table_conditional()
TIME_PERIOD Nobs
2025-07 35
2025-06 35

IR_TYPE

Code
IRS %>%
  left_join(IR_TYPE , by = "IR_TYPE") %>%
  group_by(IR_TYPE, Ir_type) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
IR_TYPE Ir_type Nobs
L Long-term interest rate for convergence purposes 11148
M Money market interest rates 1774
B Bank interest rates 198

TR_TYPE

Code
IRS %>%
  left_join(TR_TYPE , by = "TR_TYPE") %>%
  group_by(TR_TYPE, Tr_type) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
TR_TYPE Tr_type Nobs
L40 Debt security issued 11148
L20 Deposit liabilities 1774
A2L Loans to households for house purchase and to non-financial corporations 198

REF_AREA

Code
IRS %>%
  left_join(REF_AREA ,  by = "REF_AREA") %>%
  group_by(REF_AREA, Ref_area) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

TIME_PERIOD

Code
IRS %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  print_table_conditional()

Long-term interest rate for convergence purposes

France, Germany, Italy

Code
IRS %>%
  filter(REF_AREA %in% c("FR", "DE", "IT"),
         IR_TYPE == "L",
         TR_TYPE == "L40") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  month_to_date %>%
  select_if(~n_distinct(.) > 1) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(OBS_VALUE = OBS_VALUE/100) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Loans to households (%)") +
  geom_line(aes(x = date, y = OBS_VALUE, color = color)) + 
  add_flags(3) + scale_color_identity() +
  scale_x_date(breaks = seq(1960, 2030, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1))

Spain, Portugal, Euro Area

Code
IRS %>%
  filter(REF_AREA %in% c("ES", "PT", "U2"),
         IR_TYPE == "L",
         TR_TYPE == "L40") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  month_to_date %>%
  select_if(~n_distinct(.) > 1) %>%
  mutate(Ref_area = ifelse(REF_AREA == "U2", "Europe", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(OBS_VALUE = OBS_VALUE/100) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Loans to households (%)") +
  geom_line(aes(x = date, y = OBS_VALUE, color = color)) + 
  add_flags(3) + scale_color_identity() +
  scale_x_date(breaks = seq(1960, 2030, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1))

Austria, Belgium, Greece

Code
IRS %>%
  filter(REF_AREA %in% c("AT", "BE", "GR"),
         IR_TYPE == "L",
         TR_TYPE == "L40") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  month_to_date %>%
  select_if(~n_distinct(.) > 1) %>%
  mutate(Ref_area = ifelse(REF_AREA == "U2", "Europe", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(OBS_VALUE = OBS_VALUE/100) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Loans to households (%)") +
  geom_line(aes(x = date, y = OBS_VALUE, color = color)) + 
  add_flags(3) + scale_color_identity() +
  scale_x_date(breaks = seq(1960, 2030, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
                     labels = percent_format(accuracy = 1))