🇫🇷 Version française
Info
Last observation: M: 2026-06-30 (N = 9) · Q: 2026-03-31 (N = 17) · D: 2024-07-05 (N = 1)
First observation: M: 1977-12-31 (N = 1) · D: 1986-01-02 (N = 1) · Q: 2009-06-30 (N = 11)
Last data update: 16 août 2026, 00:09. Last compile: 30 août 2026, 10:26
Interest Rates
Since 1986
Code
ECOFI |>
filter(variable %in% c("ECOFI.INR.FR.FITB_PA._Z.D",
"ECOFI.INR.FR.FID_PA._Z.D",
"ECOFI.INR.FR.FIGB_PA._Z.D")) |>
mutate(Variable = trimws(Variable)) |>
na.omit() |>
ggplot() + geom_line(aes(x = date, y = value/100, color = Variable)) +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq(1960, 2100, 4) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.85),
legend.title = element_blank(),
legend.direction = "vertical")
Since 2015
Code
ECOFI |>
filter(variable %in% c("ECOFI.INR.FR.FITB_PA._Z.D",
"ECOFI.INR.FR.FID_PA._Z.D",
"ECOFI.INR.FR.FIGB_PA._Z.D")) |>
mutate(Variable = trimws(Variable)) |>
na.omit() |>
filter(date >= as.Date("2015-01-01")) |>
ggplot() + geom_line(aes(x = date, y = value/100, color = Variable)) +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
scale_y_continuous(labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.25, 0.8),
legend.title = element_blank(),
legend.direction = "vertical")
CAC 40 Index
Since 1987
Code
ECOFI |>
filter(variable == "ECOFI.SPI.FR.FPE_IX._Z.D") |>
na.omit() |>
ggplot() + geom_line(aes(x = date, y = value), color = "#002395") +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = seq(1960, 2100, 4) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(labels = comma_format(accuracy = 1))
Over the Last 5 Years
Code
ECOFI |>
filter(variable == "ECOFI.SPI.FR.FPE_IX._Z.D") |>
na.omit() |>
filter(date >= max(date) - years(5)) |>
ggplot() + geom_line(aes(x = date, y = value), color = "#002395") +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = "6 months",
labels = date_format("%b %Y")) +
scale_y_continuous(labels = comma_format(accuracy = 1)) +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Financial Soundness of French Banks
Financial Soundness Indicators (FSI) for the French banking sector, calculated quarterly by the Banque de France.
Capital Ratios
Code
ECOFI |>
filter(variable %in% c("ECOFI.FSI.FR.FSKRTC_PT._Z.Q",
"ECOFI.FSI.FR.FSKRTCA_PT._Z.Q")) |>
mutate(Variable = trimws(Variable)) |>
na.omit() |>
ggplot() + geom_line(aes(x = date, y = value/100, color = Variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
scale_y_continuous(labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.3, 0.15),
legend.title = element_blank(),
legend.direction = "vertical")
Asset Quality
Code
ECOFI |>
filter(variable == "ECOFI.FSI.FR.FSANL_PT._Z.Q") |>
na.omit() |>
ggplot() + geom_line(aes(x = date, y = value/100), color = "#B22222") +
xlab("") + ylab("Non-performing loans / total loans") + theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
scale_y_continuous(labels = percent_format(accuracy = 0.1))
Latest Data Points
Code
ECOFI |>
filter(DATA_DOMAIN == "FSI") |>
na.omit() |>
group_by(Variable) |>
filter(date == max(date)) |>
ungroup() |>
mutate(Variable = trimws(Variable)) |>
select(Variable, date, value) |>
arrange(Variable) |>
print_table_conditional()
| character(0) |
c(":--------:", ":----:", ":-----:") |
character(0) |