Marché financier, taux

Data - BDF

Info

source dataset .html .RData

bdf

FM

2024-07-03 2024-06-18

Data on interest rates

source dataset .html .RData

bdf

FM

2024-07-03 2024-06-18

bdf

MIR

2024-07-03 2024-07-01

bdf

MIR1

2024-07-03 2024-07-01

bis

CBPOL_D

2024-07-01 2024-05-10

bis

CBPOL_M

2024-07-01 2024-04-19

ecb

FM

2024-07-01 2024-07-03

ecb

MIR

2024-06-19 2024-07-03

eurostat

ei_mfir_m

2024-07-24 2024-07-24

eurostat

irt_lt_mcby_d

2024-07-01 2024-06-08

eurostat

irt_st_m

2024-07-01 2024-07-03

fred

r

2024-07-03 2024-07-26

oecd

MEI

2024-04-16 2024-06-30

oecd

MEI_FIN

2024-07-01 2024-05-21

wdi

FR.INR.RINR

2024-01-06 2024-04-14

LAST_COMPILE

LAST_COMPILE
2024-07-26

Last

date Nobs
2024-06-17 10

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 170156
M Monthly 9762
NA NA 234

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 90763
MM Money Market 47256
KR Key ECB interest rate 25802
TR Reference rate 10767
MR Money market rates 5120
NA NA 234
MF Money market funds 172
LIR NA 38

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 147513
4F ECB 31948
FR6 Caisse des Depots et Consignations 457
NA NA 234

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))

Euribor 1 semaine, 1 mois, 3 mois

Code
FM %>%
  filter(grepl("FM.D.U2.EUR.FR2.MM.EURIBOR1WD_.HSTA", variable) |
           grepl("FM.D.U2.EUR.FR2.MM.EURIBOR1MD_.HSTA", variable) |
           grepl("FM.D.U2.EUR.FR2.MM.EURIBOR3MD_.HSTA", 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.8, 0.8),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1),
                limits = c(-0.01, 0.06))

Euribor 6, 9, 12 mois

Code
FM %>%
  filter(grepl("FM.D.U2.EUR.FR2.MM.EURIBOR9MD_.HSTA", variable) |
           grepl("FM.D.U2.EUR.FR2.MM.EURIBOR6MD_.HSTA", variable) |
           grepl("FM.D.U2.EUR.FR2.MM.EURIBOR1YD_.HSTA", 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, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.8, 0.8),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1),
                limits = c(-0.01, 0.06))

Bons du Trésor

30 ans, 10 ans, 1 mois

Tous

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FR30YT_RR", "FR1MT_RR", "FR10YT_RR"),
         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("FR30YT_RR"),
         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("FR5YT_RR", "FR30YT_RR", "FR10YT_RR"),
         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("FR5YT_RR", "FR30YT_RR", "FR10YT_RR"),
         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("FR5YT_RR", "FR30YT_RR", "FR10YT_RR"),
         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("FR5YT_RR", "FR30YT_RR", "FR10YT_RR"),
         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("FR5YT_RR", "FR1YT_RR", "FR10YT_RR"),
         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("FR5YT_RR", "FR1YT_RR", "FR10YT_RR"),
         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("FR5YT_RR", "FR1YT_RR", "FR10YT_RR"),
         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("FR5YT_RR", "FR1YT_RR", "FR10YT_RR"),
         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")

1 mois, 3 mois, 6 mois

Tous

Code
FM %>%
  left_join(FM_var, by = "variable") %>%
  filter(PROVIDER_FM_ID %in% c("FR6MT_RR", "FR3MT_RR", "FR1MT_RR"),
         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.3, 0.8),
        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("FR6MT_RR", "FR3MT_RR", "FR1MT_RR"),
         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 = "2 months",
               labels = date_format("%b %y")) +
  theme(legend.position = c(0.3, 0.85),
        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("FR6MT_RR", "FR3MT_RR", "FR1MT_RR"),
         date >= as.Date("2021-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 = "2 months",
               labels = date_format("%m-%Y")) +
  theme(legend.position = c(0.3, 0.85),
        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")