Marché financier, taux

Data - BDF

Info

LAST_COMPILE

source dataset Title .html .rData
bdf FM Marché financier, taux 2026-02-04 2026-02-04

Last

date Nobs
2026-02-04 13

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 180321
M Monthly 9683
NA NA 254

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 83621
MR Money market rates 38785
KR Key ECB interest rate 30561
MM Money Market 16746
TR Reference rate 13181
LIR NA 6938
NA NA 254
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 158981
4F ECB 30561
FR6 Caisse des Depots et Consignations 462
NA NA 254

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 Title .html .rData
bdf MIR Taux d'intérêt - Zone euro 2026-02-03 2025-08-04
bdf FM Marché financier, taux 2026-02-04 2026-02-04
bdf MIR1 Taux d'intérêt - France 2026-02-03 2025-08-04
bis CBPOL_D Policy Rates, Daily 2026-01-11 2025-08-20
bis CBPOL_M Policy Rates, Monthly 2026-01-11 2024-04-19
ecb FM Financial market data 2026-02-03 2026-02-03
ecb MIR MFI Interest Rate Statistics 2026-02-03 2026-02-03

Données sur l’immobilier

source dataset Title .html .rData
bdf MIR Taux d'intérêt - Zone euro 2026-02-03 2025-08-04
acpr as151 Enquête annuelle du SGACPR sur le financement de l'habitat 2022 2025-08-24 2024-04-05
acpr as160 Enquête annuelle du SGACPR sur le financement de l'habitat 2023 2025-08-24 2024-09-26
acpr as174 Enquête annuelle du SGACPR sur le financement de l'habitat 2024 2025-09-29 2025-09-29
bdf BSI1 Agrégats monétaires - France 2026-02-04 2026-02-04
bdf CPP Prix immobilier commercial 2026-02-03 2024-07-01
bdf FM Marché financier, taux 2026-02-04 2026-02-04
bdf MIR1 Taux d'intérêt - France 2026-02-03 2025-08-04
bdf RPP Prix de l'immobilier 2026-02-03 2026-02-03
bdf immobilier Immobilier en France 2026-02-03 2026-02-04
cgedd nombre-vente-maison-appartement-ancien Nombre de ventes de logements anciens cumulé sur 12 mois 2026-01-12 2026-01-12
insee CONSTRUCTION-LOGEMENTS Construction de logements 2026-02-03 2026-02-03
insee ENQ-CONJ-ART-BAT Conjoncture dans l'artisanat du bâtiment 2026-02-03 2026-02-03
insee ENQ-CONJ-IND-BAT Conjoncture dans l'industrie du bâtiment - ENQ-CONJ-IND-BAT 2026-02-03 2026-02-03
insee ENQ-CONJ-PROMO-IMMO Conjoncture dans la promotion immobilière 2026-02-03 2026-02-03
insee ENQ-CONJ-TP Conjoncture dans les travaux publics 2026-02-03 2026-02-03
insee ILC-ILAT-ICC Indices pour la révision d’un bail commercial ou professionnel 2026-02-03 2026-02-03
insee INDICES_LOYERS Indices des loyers d'habitation (ILH) 2026-02-03 2026-02-03
insee IPLA-IPLNA-2015 Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens 2026-02-03 2026-02-03
insee IRL Indice pour la révision d’un loyer d’habitation 2026-01-08 2026-02-03
insee PARC-LOGEMENTS Estimations annuelles du parc de logements (EAPL) 2026-02-03 2023-12-03
insee SERIES_LOYERS Variation des loyers 2026-02-03 2026-02-02
insee t_dpe_val Dépenses de consommation des ménages pré-engagées 2026-02-03 2026-01-10
notaires arrdt Prix au m^2 par arrondissement - arrdt 2026-01-08 2026-01-08
notaires dep Prix au m^2 par département 2026-01-07 2026-01-08
olap loyers Loyers 2024-06-20 2023-07-20