Marché financier, taux

Data - BDF

Warning: le package 'rwebstat' n'est pas disponible for this version of R

Une version de ce package pour votre version de R est peut-être disponible ailleurs,
Voyez des idées à
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages
Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
logical.return = TRUE, : aucun package nommé 'rwebstat' n'est trouvé

Info

theme Title .html
interest-rates Data on interest rates 2025-07-03
taux-dinteret Données de taux d'intérêt 2025-07-03

LAST_COMPILE

source dataset .html .RData
bdf FM 2025-06-25 2025-07-03

Last

date Nobs
2025-07-03 17

FREQ Frequency

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  left_join(FREQ, by = "FREQ") %>%
  group_by(FREQ, Freq) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
FREQ Freq Nobs
D Daily 175834
M Monthly 9534
NA NA 246

INSTRUMENT_FM

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  left_join(INSTRUMENT_FM, by = "INSTRUMENT_FM") %>%
  group_by(INSTRUMENT_FM, Instrument_fm) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
INSTRUMENT_FM Instrument_fm Nobs
BB Benchmark bond 81343
MR Money market rates 37735
KR Key ECB interest rate 29910
MM Money Market 16305
TR Reference rate 12965
LIR NA 6938
NA NA 246
MF Money market funds 172

PROVIDER_FM

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  left_join(PROVIDER_FM, by = "PROVIDER_FM") %>%
  group_by(PROVIDER_FM, Provider_fm) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
PROVIDER_FM Provider_fm Nobs
FR2 Banque de France 154996
4F ECB 29910
FR6 Caisse des Depots et Consignations 462
NA NA 246

PROVIDER_FM_ID

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
  group_by(PROVIDER_FM_ID, Provider_fm_id) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

Taux d’intérêt

BCE - Facilité de dépôt, refinancements

All

Code
FM %>%
  filter(grepl("FM.D.U2.EUR.4F.KR.MRR_FR.LEV", variable) |
           grepl("FM.D.U2.EUR.4F.KR.MLFR.LEV", variable) |
           grepl("FM.D.U2.EUR.4F.KR.DFR.LEV", variable)) %>%
  left_join(variable, by = "variable") %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.35, 0.1),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1))

2022-

Code
FM %>%
  filter(grepl("FM.D.U2.EUR.4F.KR.MRR_FR.LEV", variable) |
           grepl("FM.D.U2.EUR.4F.KR.MLFR.LEV", variable) |
           grepl("FM.D.U2.EUR.4F.KR.DFR.LEV", variable)) %>%
  filter(date >= as.Date("2022-01-01")) %>%
  left_join(variable, by = "variable") %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1))

Bons du Trésor

10 ans, 5 ans

Tous

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5"),
          FREQ == "D") %>%
  select_if(function(col) length(unique(col)) > 1) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed") +
  geom_label(data = . %>% filter(date == max(date)),
             aes(x = date, y = value/100, label = percent(value/100), color = Variable))

2018-

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5"),
         date >= as.Date("2018-01-01"),
          FREQ == "D") %>%
  select_if(function(col) length(unique(col)) > 1) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed") +
  geom_label(data = . %>% filter(date == max(date)),
             aes(x = date, y = value/100, label = percent(value/100), color = Variable))

March 2020-

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5"),
         date >= as.Date("2020-01-01"),
          FREQ == "D") %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = "3 months",
               labels = date_format("%b %y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed") +
  geom_label(data = . %>% filter(date == max(date)),
             aes(x = date, y = value/100, label = percent(value/100), color = Variable))

2021-

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5"),
         date >= as.Date("2021-01-01"),
          FREQ == "D") %>%
  arrange(desc(date)) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = "2 months",
               labels = date_format("%b %y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed") +
  geom_label(data = . %>% filter(date == max(date)),
             aes(x = date, y = value/100, label = percent(value/100), color = Variable))

2 years

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5"),
         date >= Sys.Date() - years(2),
          FREQ == "D") %>%
  arrange(desc(date)) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .5),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

30 ans, 10 ans, 1 mois

Tous

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC30", "FRMOYTEC10"),
         date >= as.Date("2018-01-01"),
          FREQ == "D") %>%
  #select_if(function(col) length(unique(col)) > 1) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

30 ans

Tous

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC30"),
         date >= as.Date("2018-01-01"),
          FREQ == "D") %>%
  #select_if(function(col) length(unique(col)) > 1) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

30 ans, 10 ans, 5 ans

Tous

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5", "FRMOYTEC30"),
         date >= as.Date("2018-01-01"),
          FREQ == "D") %>%
  select_if(function(col) length(unique(col)) > 1) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960,2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

March 2020-

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5", "FRMOYTEC30"),
         date >= as.Date("2020-01-01"),
          FREQ == "D") %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = "3 months",
               labels = date_format("%b %y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

2021-

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5", "FRMOYTEC30"),
         date >= as.Date("2021-01-01"),
          FREQ == "D") %>%
  arrange(desc(date)) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = "2 months",
               labels = date_format("%b %y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

2 years

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5", "FRMOYTEC30"),
         date >= Sys.Date() - years(2),
          FREQ == "D") %>%
  arrange(desc(date)) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %y")) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .5),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

1 an, 5 ans, 10 ans

Tous

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5", "FRMOYTEC1"),
         date >= as.Date("2018-01-01"),
          FREQ == "D") %>%
  select_if(function(col) length(unique(col)) > 1) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.35, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

March 2020-

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5", "FRMOYTEC1"),
         date >= as.Date("2020-03-01"),
          FREQ == "D") %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = "3 months",
               labels = date_format("%b %y")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

2021-

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5", "FRMOYTEC1"),
         date >= as.Date("2021-01-01"),
          FREQ == "D") %>%
  arrange(desc(date)) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = "2 months",
               labels = date_format("%b %y")) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .2),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

2 years

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FRMOYTEC10", "FRMOYTEC5", "FRMOYTEC1"),
         date >= Sys.Date() - years(2),
          FREQ == "D") %>%
  arrange(desc(date)) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) +
  
  theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, .5),
                labels = percent_format(accuracy = .1)) +
  geom_hline(yintercept =  0, linetype = "dashed")

Pour en savoir plus…

Données sur les taux d’intérêt

source dataset .html .RData
bdf FM 2025-06-25 2025-07-03
bdf MIR 2025-03-09 2025-01-22
bdf MIR1 2025-03-09 2025-01-22
bis CBPOL_D 2025-05-24 2024-05-10
bis CBPOL_M 2025-05-24 2024-04-19
ecb FM 2025-06-06 2025-06-06
ecb MIR 2025-06-06 2025-07-02

Données sur l’immobilier

source dataset .html .RData
acpr as151 2024-06-19 2024-04-05
bdf BSI1 2025-04-01 2025-04-01
bdf CPP 2025-03-09 2024-07-01
bdf FM 2025-06-25 2025-07-03
bdf immobilier 2025-03-27 2025-03-27
bdf MIR 2025-03-09 2025-01-22
bdf MIR1 2025-03-09 2025-01-22
bdf RPP 2025-03-10 2025-03-10
cgedd nombre-vente-maison-appartement-ancien 2024-09-26 2024-09-26
insee CONSTRUCTION-LOGEMENTS 2025-05-24 2025-06-16
insee ENQ-CONJ-ART-BAT 2025-05-24 2025-06-16
insee ENQ-CONJ-IND-BAT 2025-05-18 2025-06-16
insee ENQ-CONJ-PROMO-IMMO 2025-05-24 2025-06-16
insee ENQ-CONJ-TP 2025-05-24 2025-06-16
insee ILC-ILAT-ICC 2025-05-24 2025-06-16
insee INDICES_LOYERS 2025-05-24 2025-06-16
insee IPLA-IPLNA-2015 2025-05-24 2025-06-16
insee IRL 2025-05-24 2025-05-24
insee PARC-LOGEMENTS 2025-05-24 2023-12-03
insee SERIES_LOYERS 2025-05-24 2025-05-24
insee t_dpe_val 2025-05-24 2025-05-28
notaires arrdt 2025-03-27 2025-03-27
notaires dep 2025-03-27 2025-03-27