Monetary Aggregates - Euro Area - BSI
Data - Banque de France
Info
Last observation: Mensuel: 31 mai 2026 (N = 553,136) · Trimestriel: 31 mar 2026 (N = 86,863)
First observation: Mensuel: 31 jan 1971 (N = 553,136) · Trimestriel: 31 mar 1993 (N = 86,863)
Last data update: 10 aoû 2026, 18:53. Last compile: 13 aoû 2026, 00:12
Structure
Latest
LAST_DOWNLOAD
| LAST_DOWNLOAD |
|---|
| 2026-08-10 |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-08-13 |
Last
| date | Nobs |
|---|---|
| 2026-05-31 | 1731 |
Euro Area Monetary Aggregates (M1, M2, M3)
Annual Growth Rate
Code
BSI |>
filter(variable %in% c("BSI.M.U2.Y.V.M10.X.I.U2.2300.Z01.A",
"BSI.M.U2.Y.V.M20.X.I.U2.2300.Z01.A",
"BSI.M.U2.Y.V.M30.X.I.U2.2300.Z01.A")) |>
mutate(Aggregate = case_when(BS_ITEM == "M10" ~ "M1",
BS_ITEM == "M20" ~ "M2",
BS_ITEM == "M30" ~ "M3"),
value = value/100) |>
ggplot() + geom_line(aes(x = date, y = value, color = Aggregate)) +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
theme(legend.position = c(0.85, 0.85),
legend.title = element_blank())
Since 2000
Code
BSI |>
filter(variable %in% c("BSI.M.U2.Y.V.M10.X.I.U2.2300.Z01.A",
"BSI.M.U2.Y.V.M20.X.I.U2.2300.Z01.A",
"BSI.M.U2.Y.V.M30.X.I.U2.2300.Z01.A")) |>
filter(date >= as.Date("2000-01-01")) |>
mutate(Aggregate = case_when(BS_ITEM == "M10" ~ "M1",
BS_ITEM == "M20" ~ "M2",
BS_ITEM == "M30" ~ "M3"),
value = value/100) |>
ggplot() + geom_line(aes(x = date, y = value, color = Aggregate)) +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
theme(legend.position = c(0.85, 0.85),
legend.title = element_blank())
Outstanding Amounts (€bn)
Code
BSI |>
filter(variable %in% c("BSI.M.U2.Y.V.M10.X.1.U2.2300.Z01.E",
"BSI.M.U2.Y.V.M20.X.1.U2.2300.Z01.E",
"BSI.M.U2.Y.V.M30.X.1.U2.2300.Z01.E")) |>
mutate(Aggregate = case_when(BS_ITEM == "M10" ~ "M1",
BS_ITEM == "M20" ~ "M2",
BS_ITEM == "M30" ~ "M3"),
value = value/1000) |>
ggplot() + geom_line(aes(x = date, y = value, color = Aggregate)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(labels = dollar_format(accuracy = 1, prefix = "", suffix = " €bn", big.mark = " ")) +
theme(legend.position = c(0.15, 0.85),
legend.title = element_blank())
Household Housing Loans (Annual Growth Rate)
France, Germany, Italy, Spain
Code
BSI |>
filter(variable %in% c("BSI.M.FR.N.A.A22.A.I.U2.2250.Z01.A",
"BSI.M.DE.N.A.A22.A.I.U2.2250.Z01.A",
"BSI.M.IT.N.A.A22.A.I.U2.2250.Z01.A",
"BSI.M.ES.N.A.A22.A.I.U2.2250.Z01.A")) |>
mutate(Ref_area = case_when(REF_AREA == "FR" ~ "France",
REF_AREA == "DE" ~ "Germany",
REF_AREA == "IT" ~ "Italy",
REF_AREA == "ES" ~ "Spain"),
value = value/100) |>
left_join(colors, by = c("Ref_area" = "country")) |>
na.omit() |>
ggplot() + geom_line(aes(x = date, y = value, color = color)) +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
theme_minimal() + xlab("") + ylab("") + scale_color_identity() + add_4flags +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(labels = scales::percent_format(accuracy = 1))
Latest Available Month
Code
BSI |>
filter(variable %in% c("BSI.M.FR.N.A.A22.A.I.U2.2250.Z01.A",
"BSI.M.DE.N.A.A22.A.I.U2.2250.Z01.A",
"BSI.M.IT.N.A.A22.A.I.U2.2250.Z01.A",
"BSI.M.ES.N.A.A22.A.I.U2.2250.Z01.A")) |>
filter(!is.na(value)) |>
mutate(Ref_area = case_when(REF_AREA == "FR" ~ "France",
REF_AREA == "DE" ~ "Germany",
REF_AREA == "IT" ~ "Italy",
REF_AREA == "ES" ~ "Spain")) |>
group_by(Ref_area) |>
filter(date == max(date)) |>
ungroup() |>
select(Ref_area, date, value) |>
arrange(desc(value)) |>
print_table_conditional()| Ref_area | date | value |
|---|---|---|
| Spain | 2026-05-31 | 4.0 |
| Italy | 2026-05-31 | 3.5 |
| Germany | 2026-05-31 | 2.5 |
| France | 2026-05-31 | 0.1 |