Long-term interest rate statistics - IRS
Data - ECB
Last observation: juil. 2026 (N = 36)
First observation: mai 1983 (N = 1)
Last data update: 01 sept. 2026, 02:22
Last compile: 02 sept. 2026, 23:16
Structure
Info
- Data Structure Definition (DSD). html
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") |>
month_to_date() %>%
select_if(~n_distinct(.) > 1) |>
add_flag_color("Ref_area") |>
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, 2100, 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") |>
month_to_date() %>%
select_if(~n_distinct(.) > 1) |>
mutate(Ref_area = ifelse(REF_AREA == "U2", "Europe", Ref_area)) |>
add_flag_color("Ref_area") |>
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, 2100, 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") |>
month_to_date() %>%
select_if(~n_distinct(.) > 1) |>
mutate(Ref_area = ifelse(REF_AREA == "U2", "Europe", Ref_area)) |>
add_flag_color("Ref_area") |>
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, 2100, 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))





