Taux d’intérêt - France
Data - BDF
Info
Data on interest rates
source | dataset | .html | .RData |
---|---|---|---|
2024-07-26 | 2024-06-18 | ||
2024-07-26 | 2024-07-01 | ||
2024-10-16 | 2024-10-16 | ||
2024-09-13 | 2024-05-10 | ||
2024-08-09 | 2024-04-19 | ||
2024-10-08 | 2024-10-08 | ||
2024-06-19 | 2024-10-08 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-08-28 | ||
2024-10-09 | 2024-10-08 | ||
2024-09-18 | 2024-09-18 | ||
2024-04-16 | 2024-06-30 | ||
2024-09-15 | 2024-05-21 | ||
2024-08-28 | 2024-09-18 |
Données sur l’immobilier
source | dataset | .html | .RData |
---|---|---|---|
2024-06-19 | 2024-04-05 | ||
2024-07-26 | 2024-06-14 | ||
2024-07-26 | 2024-07-01 | ||
2024-07-26 | 2024-06-18 | ||
2024-07-26 | 2024-06-18 | ||
2024-07-26 | 2024-07-01 | ||
2024-10-16 | 2024-10-16 | ||
2024-07-26 | 2024-07-01 | ||
2024-09-26 | 2024-09-26 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-10-09 | ||
2024-10-09 | 2024-10-09 | ||
2024-10-09 | 2023-12-03 | ||
2024-10-09 | 2024-10-09 | ||
2024-10-09 | 2024-09-02 | ||
2024-06-30 | 2024-09-09 | ||
2024-06-30 | 2024-09-08 |
Data on housing
source | dataset | .html | .RData |
---|---|---|---|
2024-07-26 | 2024-07-01 | ||
2024-08-09 | 2024-05-10 | ||
2024-08-09 | 2024-05-10 | ||
2024-10-08 | 2024-10-08 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-10-08 | ||
2024-10-09 | 2024-10-09 | ||
2024-09-18 | 2024-09-18 | ||
2024-10-09 | 2024-10-09 | ||
2024-09-15 | 2020-01-18 | ||
2024-09-11 | 2023-10-19 |
LAST_COMPILE
LAST_COMPILE |
---|
2024-10-16 |
Last
date | Nobs |
---|---|
2024-12-31 | 19 |
2024-10-31 | 5 |
BS_COUNT_SECTOR
Code
%>%
MIR1 left_join(MIR1_var, by = "variable") %>%
left_join(BS_COUNT_SECTOR, by = "BS_COUNT_SECTOR") %>%
group_by(BS_COUNT_SECTOR, Bs_count_sector) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
BS_COUNT_SECTOR | Bs_count_sector | Nobs |
---|---|---|
2240U6 | SNF résidentes | 7094 |
2250 | Ménages et ISBLSM (S14 et S15) | 6866 |
2250U6 | Ménages et ISBLSM résidents | 6818 |
2240 | Sociétés non financières (S11) | 4553 |
2230U6 | Ménages et SNF résidents | 3949 |
2254FR | Particuliers (S14) | 3928 |
2313FR | SNF + EI (2240+2253) | 3088 |
2254U6 | Particuliers résidents | 2882 |
2300U6 | non IFM hors administration centrale résidents | 1300 |
0000U6 | Secteur de contrepartie non précisée (résidents) | 1040 |
2312FR | APU + ISBLSM (2100+2252) | 994 |
2300 | Administrations publiques hors administrations centrales et secteur privé hors IFMs | 520 |
2251 | Ménages | 342 |
2253 | Entrepreneurs individuels | 187 |
2254P | NA | 174 |
MIC_U6 | Micro-entreprises résidentes | 138 |
2254PM | NA | 104 |
2240GE | NA | 96 |
224ETI | NA | 96 |
224PME | NA | 96 |
FREQ
Code
%>%
MIR1 left_join(MIR1_var, by = "variable") %>%
left_join(FREQ, by = "FREQ") %>%
group_by(FREQ, Freq) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
FREQ | Freq | Nobs |
---|---|---|
M | Mensuel | 33037 |
Q | Trimestriel | 11228 |
BS_ITEM
Code
%>%
MIR1 left_join(MIR1_var, by = "variable") %>%
left_join(BS_ITEM, by = "BS_ITEM") %>%
group_by(BS_ITEM, Bs_item) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
MATURITY_ORIG
Code
%>%
MIR1 left_join(MIR1_var, by = "variable") %>%
left_join(MATURITY_ORIG, by = "MATURITY_ORIG") %>%
group_by(MATURITY_ORIG, Maturity_orig) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
DATA_TYPE_MIR
Code
%>%
MIR1 left_join(MIR1_var, by = "variable") %>%
left_join(DATA_TYPE_MIR, by = "DATA_TYPE_MIR") %>%
group_by(DATA_TYPE_MIR, Data_type_mir) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
DATA_TYPE_MIR | Data_type_mir | Nobs |
---|---|---|
R | Taux annuel | 19211 |
B | Transactions en volume (encours ou crédits nouveaux) | 9116 |
C | Coût du crédit | 2830 |
Y | Flux mensuels cumulés sur un an | 2600 |
6 | Taux cvs | 2080 |
5 | Flux mensuel cvs | 1820 |
U | Taux d'usure | 1597 |
W | Part dans les crédits totaux | 1303 |
F | Frais | 1220 |
PNL | Part en nombre de lignes | 756 |
D | Durée moyenne | 500 |
4 | Part dans les flux | 270 |
T | Taux théorique hors plancher | 260 |
PTF | Part taux fixe | 162 |
K1 | Premier quartile | 108 |
K3 | Troisième quartile | 108 |
L | Médiane | 108 |
P5 | Cinquième percentile | 108 |
P95 | Quatre vingt quinzième percentile | 108 |
REF_AREA
Code
%>%
MIR1 left_join(MIR1_var, by = "variable") %>%
left_join(REF_AREA, by = "REF_AREA") %>%
group_by(REF_AREA, Ref_area) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
REF_AREA | Ref_area | Nobs |
---|---|---|
FR | France | 43045 |
DE | Allemagne | 244 |
ES | Espagne | 244 |
GB | Royaume-Uni | 244 |
IT | Italie | 244 |
U2 | Zone Euro (composition évolutive) | 244 |
Taux de rémunération
Nobs
Code
%>%
MIR1 left_join(MIR1_var, by = "variable") %>%
filter(grepl("Taux moyen de rémunération annuel", Variable)) %>%
group_by(variable, Variable) %>%
summarise(Nobs = n()) %>%
print_table_conditional()
variable | Variable | Nobs |
---|---|---|
MIR1.M.FR.B.L20.A.C.A.2300U6.EUR.O | Taux moyen de rémunération annuel des dépôts bancaires | 260 |
MIR1.M.FR.B.L20.A.R.A.2300U6.EUR.O | Taux moyen de rémunération annuel des dépôts bancaires | 260 |
MIR1.M.FR.B.L20.L.C.A.2300U6.EUR.O | Taux moyen de rémunération annuel des dépôts, moins de 2 ans | 260 |
MIR1.M.FR.B.L20.L.R.A.2300U6.EUR.O | Taux moyen de rémunération annuel des dépôts, moins de 2 ans | 260 |
Taux de rémunération des dépôts + immobilier
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.L20.A.C.A.2300U6.EUR.O", variable) |
grepl("MIR1.M.FR.B.L20.L.C.A.2300U6.EUR.O", variable)) %>%
%>%
na.omit left_join(MIR1_var, by = "variable") %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.55, 0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, .1),
labels = percent_format(accuracy = .1))
Taux
Nobs
Code
%>%
MIR1 left_join(MIR1_var, by = "variable") %>%
filter(FREQ == "M",
== "FR",
REF_AREA == "A22") %>%
BS_ITEM group_by(variable, Variable) %>%
summarise(Nobs = n()) %>%
print_table_conditional()
variable | Variable | Nobs |
---|---|---|
MIR1.M.FR.B.A22.A.5.A.2250U6.EUR.N | Crédits nouveaux à l'habitat des ménages, flux CVS | 260 |
MIR1.M.FR.B.A22.A.5.A.2254U6.EUR.N | Crédits nouveaux à l'habitat des particuliers, flux CVS | 260 |
MIR1.M.FR.B.A22.A.R.A.2250U6.EUR.N | Crédits nouveaux à l'habitat des ménages, taux d'intérêt annuel | 260 |
MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N | Crédits nouveaux à l'habitat des particuliers, taux d'intérêt annuel | 309 |
MIR1.M.FR.B.A22.A.Y.A.2250U6.EUR.N | Crédits nouveaux à l'habitat des ménages résidents, flux mensuels cumulés sur un an | 260 |
MIR1.M.FR.B.A22.F.R.A.2250U6.EUR.N | Crédits nouveaux à l'habitat des ménages, jusqu'à un an, taux d'intérêt annuel | 260 |
MIR1.M.FR.B.A22.F.R.A.2254U6.EUR.N | Crédits nouveaux à l'habitat des particuliers, jusqu'à un an, taux d'intérêt annuel | 260 |
MIR1.M.FR.B.A22.F.Y.A.2250U6.EUR.N | Crédits nouveaux à l'habitat des ménages résidents, jusqu'à un an, flux mensuels cumulés sur un an | 260 |
MIR1.M.FR.B.A22.K.R.A.2250U6.EUR.N | Crédits nouveaux à l'habitat des ménages, à plus d'un an, taux d'intérêt annuel | 260 |
MIR1.M.FR.B.A22.K.R.A.2254U6.EUR.N | Crédits nouveaux à l'habitat des particuliers, à plus d'un an, taux d'intérêt annuel | 260 |
MIR1.M.FR.B.A22.K.Y.A.2250U6.EUR.N | Crédits nouveaux à l'habitat des ménages résidents, à plus d'un an, flux mensuels cumulés sur un an | 260 |
Livrets réglementés
-Info. html
All
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.L23FRLA.D.R.A.2230U6.EUR.O", variable) |
grepl("MIR1.M.FR.B.L23RJ.A.R.A.2300.EUR.O", variable) |
grepl("MIR1.M.FR.B.L22FRSP.H.R.A.2250U6.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
arrange(desc(date)) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.1),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1))
Taux SNF
Table SNF
Code
%>%
MIR1 left_join(MIR1_var, by = "variable") %>%
filter(BS_COUNT_SECTOR == "2240U6") %>%
group_by(Variable) %>%
summarise(Nobs = n(),
date = last(date),
value = last(value)) %>%
print_table_conditional
Catégories montants
Tous
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.A20.A.R.0.2240U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A20.A.R.1.2240U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A20.A.R.A.2240U6.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
left_join(AMOUNT_CAT, by = "AMOUNT_CAT") %>%
arrange(desc(date)) %>%
+ geom_line(aes(x = date, y = value/100, color = Amount_cat)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.8, 0.85),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1))
2010-
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.A20.A.R.0.2240U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A20.A.R.1.2240U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A20.A.R.A.2240U6.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
left_join(AMOUNT_CAT, by = "AMOUNT_CAT") %>%
arrange(desc(date)) %>%
filter(date >= as.Date("2010-01-01")) %>%
+ geom_line(aes(x = date, y = value/100, color = Amount_cat)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.7, 0.85),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 0.5),
labels = percent_format(accuracy = .1))
Catégories montants
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.A20.A.R.0.2240U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A20.A.R.1.2240U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A20.A.R.A.2240U6.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
left_join(AMOUNT_CAT, by = "AMOUNT_CAT") %>%
arrange(desc(date)) %>%
+ geom_line(aes(x = date, y = value/100, color = Amount_cat)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.7, 0.85),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1))
Livret A
Taux crédits habitat
Tous
Code
%>%
MIR1 left_join(MIR1_var, by = "variable") %>%
filter(FREQ == "M",
== "FR",
REF_AREA == "B",
BS_REP_SECTOR == "A2C",
BS_ITEM == "R",
DATA_TYPE_MIR == "A",
AMOUNT_CAT == "2250U6",
BS_COUNT_SECTOR == "EUR",
CURRENCY_TRANS == "N") %>%
IR_BUS_COV left_join(MATURITY_ORIG, by = "MATURITY_ORIG") %>%
+ geom_line(aes(x = date, y = value/100, color = Maturity_orig)) +
ggplot
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.35, 0.15),
legend.title = element_blank(),
legend.direction = "vertical") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1))
Tous
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.A22.K.R.A.2254U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A22.F.R.A.2254U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.35, 0.15),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1))
2016-
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.A22.K.R.A.2254U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A22.F.R.A.2254U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
filter(date >= as.Date("2016-01-01")) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.85),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, .1),
labels = percent_format(accuracy = .1))
2018-
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.A22.K.R.A.2254U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A22.F.R.A.2254U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
filter(date >= as.Date("2018-01-01")) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.85),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, .1),
labels = percent_format(accuracy = .1))
Taux de rémunération des dépôts + immobilier
Tous
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.A.N30.A.R.A.2230U6.EUR.O", variable) |
grepl("MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.L21.A.R.A.2230U6.EUR.O", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.55, 0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1),
limits = c(0, 0.07))
Part des renégociations
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.A22PR.A.W.A.2254FR.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
%>%
na.omit + geom_line(aes(x = date, y = value/100)) +
ggplot theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.35, 0.15),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Part des renégo dans le total des crédits à l'habitat (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1))
Volumes de crédit
Crédits à la consommation
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.A2Z.A.R.A.2254U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A2B.A.R.A.2254U6.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.5, 0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1),
limits = c(0.03, 0.15))
Crédits nouveaux à l’habitat
Tous
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.A22HR.A.5.A.2254U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A22.A.5.A.2254U6.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.5, 0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(0, 100, 2))
2015-
Code
%>%
MIR1 filter(grepl("MIR1.M.FR.B.A22HR.A.5.A.2254U6.EUR.N", variable) |
grepl("MIR1.M.FR.B.A22.A.5.A.2254U6.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
filter(date >= as.Date("2015-01-01")) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.5, 0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(0, 100, 2))
Taux d’usure
2017-
Code
%>%
MIR1 filter(grepl("MIR1.Q.FR.R.A22FRF.Q.U.A.2254FR.EUR.N", variable) |
grepl("MIR1.Q.FR.R.A22FRF.R.U.A.2254FR.EUR.N", variable) |
grepl("MIR1.Q.FR.R.A22FRF.S.U.A.2254FR.EUR.N", variable)) %>%
left_join(MIR1_var, by = "variable") %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.5, 0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Taux d'intérêt (%)") +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 0.1),
labels = percent_format(accuracy = .1))