source | dataset | .html | .RData |
---|---|---|---|
bdf | immobilier | 2024-07-26 | 2024-11-19 |
Immobilier en France
Data - BDF
Info
Données sur l’immobilier
source | dataset | .html | .RData |
---|---|---|---|
acpr | as151 | 2024-06-19 | 2024-04-05 |
bdf | BSI1 | 2024-07-26 | 2024-06-14 |
bdf | CPP | 2024-07-26 | 2024-07-01 |
bdf | FM | 2024-11-19 | 2024-11-19 |
bdf | immobilier | 2024-07-26 | 2024-11-19 |
bdf | MIR | 2024-07-26 | 2024-07-01 |
bdf | MIR1 | 2024-11-19 | 2024-11-19 |
bdf | RPP | 2024-11-19 | 2024-11-19 |
cgedd | nombre-vente-maison-appartement-ancien | 2024-09-26 | 2024-09-26 |
insee | CONSTRUCTION-LOGEMENTS | 2024-11-09 | 2024-11-09 |
insee | ENQ-CONJ-ART-BAT | 2024-11-09 | 2024-11-09 |
insee | ENQ-CONJ-IND-BAT | 2024-11-09 | 2024-11-09 |
insee | ENQ-CONJ-PROMO-IMMO | 2024-11-09 | 2024-11-09 |
insee | ENQ-CONJ-TP | 2024-11-09 | 2024-11-09 |
insee | ILC-ILAT-ICC | 2024-11-09 | 2024-11-09 |
insee | INDICES_LOYERS | 2024-11-09 | 2024-11-09 |
insee | IPLA-IPLNA-2015 | 2024-11-09 | 2024-11-09 |
insee | IRL | 2024-11-09 | 2024-11-09 |
insee | PARC-LOGEMENTS | 2024-11-09 | 2023-12-03 |
insee | SERIES_LOYERS | 2024-11-09 | 2024-11-09 |
insee | t_dpe_val | 2024-11-09 | 2024-09-02 |
notaires | arrdt | 2024-06-30 | 2024-09-09 |
notaires | dep | 2024-06-30 | 2024-09-08 |
Data on housing
source | dataset | .html | .RData |
---|---|---|---|
bdf | RPP | 2024-11-19 | 2024-11-19 |
bis | LONG_PP | 2024-08-09 | 2024-05-10 |
bis | SELECTED_PP | 2024-10-31 | 2024-10-31 |
ecb | RPP | 2024-10-08 | 2024-10-30 |
eurostat | ei_hppi_q | 2024-11-08 | 2024-11-09 |
eurostat | hbs_str_t223 | 2024-11-08 | 2024-11-09 |
eurostat | prc_hicp_midx | 2024-11-01 | 2024-11-17 |
eurostat | prc_hpi_q | 2024-11-05 | 2024-10-09 |
fred | housing | 2024-11-18 | 2024-11-18 |
insee | IPLA-IPLNA-2015 | 2024-11-09 | 2024-11-09 |
oecd | housing | 2024-09-15 | 2020-01-18 |
oecd | SNA_TABLE5 | 2024-09-11 | 2023-10-19 |
LAST_COMPILE
LAST_COMPILE |
---|
2024-11-19 |
Last
Code
%>%
immobilier group_by(date) %>%
summarise(Nobs = n()) %>%
arrange(desc(date)) %>%
head(2) %>%
print_table_conditional()
date | Nobs |
---|---|
2024-11-18 | 1 |
2024-11-17 | 1 |
variable
Code
%>%
immobilier left_join(variable, by = "variable") %>%
group_by(variable, Variable) %>%
summarise(Nobs = n(),
max_date = max(date),
min_date = min(date)) %>%
arrange(desc(max_date)) %>%
print_table_conditional()
variable | Variable | Nobs | max_date | min_date |
---|---|---|---|---|
FM.D.U2.EUR.4F.KR.DFR.LEV | BCE - Facilité de dépôt (données brutes) | 9454 | 2024-11-18 | 1999-01-01 |
BSI1.M.FR.N.R.A220Z.A.1.U6.2254FR.Z01.E | Crédits à l'habitat accordés aux particuliers résidents, encours | 378 | 2024-09-30 | 1993-04-30 |
BSI1.M.FR.N.R.A26.A.1.U6.2254FR.Z01.E | Crédits accordés aux particuliers résidents, encours | 378 | 2024-09-30 | 1993-04-30 |
BSI1.M.FR.Y.R.A220Z.A.4.U6.2254FR.Z01.E | Crédits à l'habitat accordés aux particuliers résidents, flux mensuels, CVS | 378 | 2024-09-30 | 1993-04-30 |
BSI1.M.FR.Y.R.A220Z.A.4.U6.2254FR.Z01.V3F | Crédits à l'habitat accordés aux particuliers résidents, variation d'encours (moyenne sur 3 mois glissants), CVS | 378 | 2024-09-30 | 1993-04-30 |
MIR1.M.FR.B.A22.A.5.A.2254U6.EUR.N | Crédits nouveaux à l'habitat des particuliers, flux CVS | 261 | 2024-09-30 | 2003-01-31 |
MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N | Crédits nouveaux à l'habitat des particuliers, taux d'intérêt annuel | 310 | 2024-09-30 | 1998-12-31 |
MIR1.M.FR.B.A22HR.A.5.A.2254U6.EUR.N | Crédits nouveaux à l'habitat (hors renégociations) aux particuliers résidents, flux, CVS | 261 | 2024-09-30 | 2003-01-31 |
FM.M.U2.EUR.4F.KR.DF.LEV | BCE - Facilité de dépôt - niveau fin de mois yc mois en cours | 290 | 2023-02-28 | 1999-01-31 |
FM.M.U2.EUR.4F.KR.MLF.LEV | BCE - Facilité de prêt marginal - niveau fin de mois yc mois en cours | 290 | 2023-02-28 | 1999-01-31 |
FM.M.U2.EUR.4F.KR.MRR_FR.LEV | BCE - Principales opérations de refinancement (taux fixe) | 290 | 2023-02-28 | 1999-01-31 |
Comparer taux crédits immobilier et taux banque centrale
Tous
1 année
Code
%>%
immobilier filter(variable == "MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N" |
== "FM.D.U2.EUR.4F.KR.DFR.LEV") %>%
variable left_join(variable, by = "variable") %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
theme(legend.position = c(0.32, 0.1),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1))
2 ans
Tous
Code
%>%
immobilier filter(variable == "MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N" |
== "FM.D.U2.EUR.4F.KR.DFR.LEV") %>%
variable left_join(variable, by = "variable") %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
theme(legend.position = c(0.32, 0.1),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 0.5),
labels = percent_format(accuracy = .1))
2020-
Code
%>%
immobilier filter(variable == "MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N" |
== "FM.D.U2.EUR.4F.KR.DFR.LEV") %>%
variable left_join(variable, by = "variable") %>%
filter(date >= as.Date("2020-01-01")) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
theme(legend.position = c(0.35, 0.9),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_x_date(breaks = "3 months",
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, .25),
labels = percent_format(accuracy = .01))
2021-
Code
%>%
immobilier filter(variable == "MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N" |
== "FM.D.U2.EUR.4F.KR.DFR.LEV") %>%
variable left_join(variable, by = "variable") %>%
filter(date >= as.Date("2021-01-01")) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot #scale_color_manual(values = viridis(3)[1:2]) +
theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
theme(legend.position = c(0.35, 0.9),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_x_date(breaks = "2 months",
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, .25),
labels = percent_format(accuracy = .01))
2022-
Code
%>%
immobilier filter(variable == "MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N" |
== "FM.D.U2.EUR.4F.KR.DFR.LEV") %>%
variable left_join(variable, by = "variable") %>%
filter(date >= as.Date("2022-01-01")) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot #scale_color_manual(values = viridis(3)[1:2]) +
theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
theme(legend.position = c(0.35, 0.9),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_x_date(breaks = "1 month",
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, .25),
labels = percent_format(accuracy = .01))
Tous les taux
Code
%>%
immobilier filter(variable == "MIR1.M.FR.B.A22.A.R.A.2254U6.EUR.N" |
== "FM.M.U2.EUR.4F.KR.MRR_FR.LEV" |
variable == "FM.M.U2.EUR.4F.KR.MLF.LEV" |
variable == "FM.D.U2.EUR.4F.KR.DFR.LEV") %>%
variable left_join(variable, by = "variable") %>%
+ geom_line(aes(x = date, y = value/100, color = Variable, linetype = Variable)) +
ggplot scale_color_manual(values = c(viridis(3)[1], viridis(3)[1], viridis(3)[1], viridis(3)[2])) +
scale_linetype_manual(values = c("dashed", "longdash", "solid", "solid")) +
theme_minimal() + xlab("") + ylab("Taux d'intérêt (%)") +
theme(legend.position = c(0.32, 0.13),
legend.title = element_blank(),
legend.spacing.x = unit(0.2, 'cm'),
legend.spacing.y = unit(0.2, 'cm')) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1),
limits = c(-0.02, 0.065))
Crédits à l’habitat
Encours
Linear
Code
<- immobilier %>%
plot_linear filter(variable == "BSI1.M.FR.N.R.A26.A.1.U6.2254FR.Z01.E" |
== "BSI1.M.FR.N.R.A220Z.A.1.U6.2254FR.Z01.E") %>%
variable left_join(variable, by = "variable") %>%
+ theme_minimal() + xlab("") + ylab("") +
ggplot geom_line(aes(x = date, y = value / 1000, color = Variable)) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
scale_y_continuous(breaks = seq(-10000, 10000, 100),
labels = dollar_format(suffix = " Mds€", prefix = "", accuracy = 1))
plot_linear
Log
Code
<- plot_linear +
plot_log scale_y_log10(breaks = seq(-10000, 10000, 100),
labels = dollar_format(suffix = " Mds€", prefix = "", accuracy = 1))
plot_log
Both
Code
library("ggpubr")
ggarrange(plot_linear + ggtitle("Linear"), plot_log + ggtitle("Log"), common.legend = T, legend = "bottom")
Montants mensuels
All
Code
%>%
immobilier filter(variable == "BSI1.M.FR.Y.R.A220Z.A.4.U6.2254FR.Z01.E") %>%
%>%
na.omit + geom_line(aes(x = date, y = value)) +
ggplot theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10000, 10000, 1000))
2000-
Code
%>%
immobilier filter(variable == "BSI1.M.FR.Y.R.A220Z.A.4.U6.2254FR.Z01.E",
>= as.Date("1999-12-31")) %>%
date %>%
na.omit + geom_line(aes(x = date, y = value)) +
ggplot theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10000, 10000, 1000))
3 mois
All
Code
%>%
immobilier filter(variable == "BSI1.M.FR.Y.R.A220Z.A.4.U6.2254FR.Z01.V3F") %>%
%>%
na.omit + geom_line(aes(x = date, y = value)) +
ggplot theme_minimal() + xlab("") + ylab("Crédits à l'habitat accordés aux particuliers résidents\n variation d'encours (moyenne sur 3 mois glissants)") +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10000, 10000, 1000),
labels = dollar_format(acc = 1, pre = ""))
2000-
Code
%>%
immobilier filter(variable == "BSI1.M.FR.Y.R.A220Z.A.4.U6.2254FR.Z01.V3F") %>%
%>%
na.omit + geom_line(aes(x = date, y = value/1000)) +
ggplot theme_minimal() + xlab("") + ylab("Crédits à l'habitat accordés aux particuliers résidents\n variation d'encours (moyenne sur 3 mois glissants)") +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10000, 10000, 1000)/1000,
labels = dollar_format(acc = 1, pre = "", su = " Mds€"))
Last year
Code
%>%
immobilier filter(date >= Sys.Date() - months(18)) %>%
filter(variable == "BSI1.M.FR.Y.R.A220Z.A.4.U6.2254FR.Z01.V3F") %>%
%>%
na.omit + geom_line(aes(x = date, y = value)) +
ggplot theme_minimal() + xlab("") + ylab("") +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_x_date(breaks = "1 month",
labels = date_format("%b %Y")) +
scale_y_continuous(breaks = seq(-10000, 10000, 1000),
labels = dollar_format(acc = 1, pre = ""))
1 mois, 3 mois
Code
%>%
immobilier filter(variable == "BSI1.M.FR.Y.R.A220Z.A.4.U6.2254FR.Z01.V3F" |
== "BSI1.M.FR.Y.R.A220Z.A.4.U6.2254FR.Z01.E") %>%
variable left_join(variable, by = "variable") %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("") +
theme(legend.position = c(0.5, 0.9),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10000, 10000, 1000))
Crédits nouveaux à l’habitat (hors renégociation)
All
Code
%>%
immobilier filter(variable == "MIR1.M.FR.B.A22HR.A.5.A.2254U6.EUR.N" |
== "MIR1.M.FR.B.A22.A.5.A.2254U6.EUR.N") %>%
variable left_join(variable, by = "variable") %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("") +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-100, 100, 5))
Complete series
Code
%>%
immobilier filter(variable == "MIR1.M.FR.B.A22HR.A.5.A.2254U6.EUR.N" |
== "MIR1.M.FR.B.A22.A.5.A.2254U6.EUR.N") %>%
variable left_join(variable, by = "variable") %>%
group_by(date) %>%
filter(n() == 2) %>%
+ geom_line(aes(x = date, y = value, color = Variable)) +
ggplot theme_minimal() + xlab("") + ylab("") +
theme(legend.position = c(0.4, 0.9),
legend.title = element_blank()) +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-100, 100, 5))