Agrégats monétaires - France

Data - BDF

Info

source dataset Title .html .rData
bdf BSI1 Agrégats monétaires - France 2026-02-15 2026-02-15

Données sur l’immobilier

source dataset Title .html .rData
bdf BSI1 Agrégats monétaires - France 2026-02-15 2026-02-15
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 CPP Prix immobilier commercial 2026-02-15 2024-07-01
bdf FM Marché financier, taux 2026-02-15 2026-02-15
bdf MIR Taux d'intérêt - Zone euro 2026-02-15 2025-08-04
bdf MIR1 Taux d'intérêt - France 2026-02-15 2025-08-04
bdf RPP Prix de l'immobilier 2026-02-15 2026-02-15
bdf immobilier Immobilier en France 2026-02-15 2026-02-15
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-16 2026-02-15
insee ENQ-CONJ-ART-BAT Conjoncture dans l'artisanat du bâtiment 2026-02-16 2026-02-15
insee ENQ-CONJ-IND-BAT Conjoncture dans l'industrie du bâtiment - ENQ-CONJ-IND-BAT 2026-02-16 2026-02-15
insee ENQ-CONJ-PROMO-IMMO Conjoncture dans la promotion immobilière 2026-02-16 2026-02-15
insee ENQ-CONJ-TP Conjoncture dans les travaux publics 2026-02-16 2026-02-15
insee ILC-ILAT-ICC Indices pour la révision d’un bail commercial ou professionnel 2026-02-16 2026-02-15
insee INDICES_LOYERS Indices des loyers d'habitation (ILH) 2026-02-16 2026-02-15
insee IPLA-IPLNA-2015 Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens 2026-02-16 2026-02-15
insee IRL Indice pour la révision d’un loyer d’habitation 2026-01-08 2026-02-16
insee PARC-LOGEMENTS Estimations annuelles du parc de logements (EAPL) 2026-02-16 2023-12-03
insee SERIES_LOYERS Variation des loyers 2026-02-16 2026-02-16
insee t_dpe_val Dépenses de consommation des ménages pré-engagées 2026-02-16 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

Data on housing

source dataset Title .html .rData
bdf RPP Prix de l'immobilier 2026-02-15 2026-02-15
bis LONG_PP Residential property prices - detailed series 2026-01-11 2024-05-10
bis SELECTED_PP Property prices, selected series 2026-02-15 2026-02-15
ecb RPP Residential Property Price Index Statistics 2026-02-14 2026-02-15
eurostat ei_hppi_q House price index (2015 = 100) - quarterly data 2026-02-16 2026-02-15
eurostat hbs_str_t223 Mean consumption expenditure by income quintile 2025-10-11 2026-02-15
eurostat prc_hicp_midx HICP (2015 = 100) - monthly data (index) 2026-02-16 2026-02-16
eurostat prc_hpi_q House price index (2015 = 100) - quarterly data 2026-02-16 2026-02-15
fred housing House Prices 2026-02-15 2026-02-15
insee IPLA-IPLNA-2015 Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens 2026-02-16 2026-02-15
oecd SNA_TABLE5 Final consumption expenditure of households 2026-02-10 2023-10-19
oecd housing NA NA NA

Derniers

  • Dernier. html

  • Crédits aux particuliers, Juin 2023. pdf

  • Liste Données BDF Crédit aux particuliers. html

  • Crédits aux particuliers, Avril 2021. html / pdf

  • Crédits aux particuliers, Octobre 2021. html / pdf

LAST_COMPILE

LAST_COMPILE
2026-02-21

Last

date Nobs
2025-12-31 1054

Data Structure

Code
BSI1_metadata %>%
  select(key, name) %>%
  unique %>%
  print_table_conditional()
key name
FREQ Périodicité
REF_AREA Zone géographique - ISO2
ADJUSTMENT Correction statistique
BS_REP_SECTOR Secteur de référence
BS_ITEM Poste de bilan
MATURITY_ORIG Maturité
DATA_TYPE Type de données
COUNT_AREA Zone géo. de contrepartie
BS_COUNT_SECTOR Secteur contrepartie
CURRENCY_TRANS Devise de transaction
BS_SUFFIX Suffixe

FREQ Frequency

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  left_join(FREQ, by = "FREQ") %>%
  group_by(FREQ, Freq) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
FREQ Freq Nobs
M Mensuel 607558
Q Trimestriel 95691

REF_AREA Reference area - ISO2

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  group_by(REF_AREA, Ref_area) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
REF_AREA Ref_area Nobs
FR France 539168
U2 Zone Euro (composition évolutive) 164081

ADJUSTMENT Adjustment

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  left_join(ADJUSTMENT, by = "ADJUSTMENT") %>%
  group_by(ADJUSTMENT, Adjustment) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
ADJUSTMENT Adjustment Nobs
N Brut 581085
Y CVS/CJO 121082
S CVS 1082

BS_REP_SECTOR Reference sector breakdown

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  left_join(BS_REP_SECTOR, by = "BS_REP_SECTOR") %>%
  group_by(BS_REP_SECTOR, Bs_rep_sector) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
BS_REP_SECTOR Bs_rep_sector Nobs
A IFM ( hors Eurosystème) 216075
V IFM, administrations centrales et banques postales 185958
R Etablissements de crédit 98671
N Banque Centrale Nationale 53765
C Eurosystème 45696
U Institutions monétaires et financières (IFM) 43424
7 Agrégation IF métropole 16585
G Administrations centrales et la poste 13440
2 Banques 8318
1 Banques FBF 5275
4 CDC 5206
5 Banques mutualistes 5171
F OPCVM monétaires 2970
3 FCC 1166
8 IFM divers non ventilé 735
6 Agrégation IFM 608
AU Autres 62
CB Canal bancaire 62
CC Spécialisés crédit consommation 62

BS_ITEM Balance sheet item

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  left_join(BS_ITEM, by = "BS_ITEM") %>%
  group_by(BS_ITEM, Bs_item) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

MATURITY_ORIG Maturity origin

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  left_join(MATURITY_ORIG, by = "MATURITY_ORIG") %>%
  group_by(MATURITY_ORIG, Maturity_orig) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
MATURITY_ORIG Maturity_orig Nobs
A Total 574426
L Jusqu`à 2 ans 38141
X Non applicable 23017
H Plus de 2 ans 18999
D Jusqu`à 3 mois 14506
F Jusqu`à 1 an 10807
M Maturité jusqu`à 2 ans et remboursables avec préavis de moins de 3 mois 7114
K Plus de 1 an 3759
J Supérieur à 5 ans 3648
I Plus de 1 et jusqu`à 5 ans 3456
E Supérieur à 3 mois 3360
G Supérieur à 1 an et inférieur à 2 ans 2016

DATA_TYPE Data type

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  left_join(DATA_TYPE, by = "DATA_TYPE") %>%
  group_by(DATA_TYPE, Data_type) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
DATA_TYPE Data_type Nobs
1 Encours 292277
4 Flux 218476
I Indices notionnels des stocks 178215
S Flux cumulés sur 1 an 10409
Q Contribution au taux de croissance annuel de M3 1852
U Provisions 1226
8 Valorisation 641
D Variation d`encours 153

COUNT_AREA Counterpart area

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  left_join(COUNT_AREA, by = "COUNT_AREA") %>%
  group_by(COUNT_AREA, Count_area) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
COUNT_AREA Count_area Nobs
U6 Résidents 396240
U2 Zone Euro (composition évolutive) 142264
Z5 Monde non ventilé (geographiquement) 87785
U5 Autres pays de la Zone Euro (Tous pays excepté zone de référence) 40580
U4 Hors Zone Euro 23220
Z9 Reste du Monde 1720
AT Autriche 768
BE Belgique 768
DE Allemagne 768
DK Danemark 768
ES Espagne 768
FI Finlande 768
GB Royaume-Uni 768
GR Grèce 768
IE Irlande 768
IT Italie 768
LU Luxembourg 768
NL Pays-Bas 768
PT Portugal 768
SE Suède 768
D4 Extra zone euro à 15 (composition fixe) 688

BS_COUNT_SECTOR Counterpart sector

Code
BSI1 %>%
  left_join(BSI1_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) %>%
  print_table_conditional()
BS_COUNT_SECTOR Bs_count_sector Nobs
2300 Administrations publiques hors administrations centrales et secteur privé hors IFMs 171896
0000 Secteur de contrepartie non précisée (0000) 142483
2240 Sociétés non financières (S11) 55970
2100 Administrations publiques 39994
1000 Institutions financières monétaires 37006
2250 Ménages et ISBLSM (S14 et S15) 34655
2200 secteur privé financier et non financier (hors IFMs) 31129
2251 Ménages 24547
2254FR Particuliers (S14) 24475
2000 Non IFM 24168
2310FR Agents non financiers (2220+2230+2100+2252) 23085
2220 Sociétés d`assurances, fonds de pensions 15468
2210 Autres institutions financières (2210) 14649
2253 Entrepreneurs individuels 9848
2110 Etat 9742
2252 Institutions sans but lucratif au service des ménages (S15) 8302
2120 Autres administrations publiques 5595
2211 Autres Intermédiaires Financières - dont organismes de titrisation 5139
2122 Administrations publiques locales 3484
00BK Banques non résidentes 3416
00NB Secteur non bancaire, non résident 3416
2123 Sécurité Sociale 3100
22F0 NA 2769
2230 Ménages et sociétés non financières (S11+S14+S15) 2373
2311FR Autres agents (2100+2220+2252) 2305
2121 Administrations d`Etat fédérés 1344
2320FR Tous agents hors particuliers (2310FR-2254FR) 1191
2260 OPC non monétaires 951
MIC Micro-entreprises 557
00NR Secteur non bancaire, non résident, hors administrations publiques 192

CURRENCY_TRANS Currency of transaction

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  left_join(CURRENCY_TRANS, by = "CURRENCY_TRANS") %>%
  group_by(CURRENCY_TRANS, Currency_trans) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
CURRENCY_TRANS Currency_trans Nobs
Z01 Toutes monnaies confondues 686852
EUR Euro 2861
XAU Or Monetaire 2016
CHF Franc Suisse 1920
JPY Yen 1920
USD Dollar des Etats-Unis 1920
Z03 Autres devises de l`UE (hors euro) 1920
Z04 Autres devises (hors UE) 1920
Z05 Devises hors UE et hors USD, CHF et JPY 1920

Tables

Comptes de patrimoine

Code
ig_b("insee", "ip1967", "table2")

Comptes financiers

Code
ig_b("insee", "ip1967", "table2")

Encours financiers BDF

Fin 2023

Code
ig_b("bdf", "ER-2023_web", "T1")

Fin 2022

Code
ig_b("bdf", "er-2022_rapport_web", "T1")

Livrets réglementés

Panorama

  • L’épargne réglementée en 2022. pdf
Code
ig_b("bdf", "er-2022_rapport_web", "G1")

LEP: Livret Epargne Populaire

Code
BSI1 %>%
  filter(variable == "BSI1.M.FR.N.A.L23FRLP.A.1.U6.2251.Z01.E") %>%
  arrange(desc(date)) %>%
  left_join(BSI1_var, by = "variable") %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret d'Epargne Populaire") +
  geom_line(aes(x = date, y = value / 1000)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-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(0, 100, 5),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, label = round(value/1000, digits = 1)))

Livrets A et Bleus, PEL

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRLA.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-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(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Livret A et PEL, LEP, Déôts vue

Tous

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L21.A.1.U6.2250.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-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(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Livret A et PEL

Tous

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-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(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2012-

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(date >= as.Date("2011-12-31")) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-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(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Dépôts à vue, Livret ordinaire, PEL, Livret A, LDDS

Tous

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLO.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRCT.A.1.U6.2250.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  arrange(date) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.8),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2012-

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLO.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRCT.A.1.U6.2250.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(date >= as.Date("2011-12-31")) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.8),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Livret ordinaire, PEL, Livret A, LDDS

2012

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L20.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L21.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L23.A.1.U6.2250.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  arrange(date) %>%
  filter(date >=as.Date("2012-01-01")) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-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(0, 10000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Livret ordinaire, PEL, Livret A, LDDS

Tous

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLO.A.1.U6.2250.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  arrange(date) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-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(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2000-

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLO.A.1.U6.2250.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(date >= as.Date("1999-12-31")) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  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(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2012-

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLO.A.1.U6.2250.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(date >= as.Date("2011-12-31")) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-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(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

PEL, Livret A, LDDS

Tous

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  arrange(date) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-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(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2000-

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(date >= as.Date("1999-12-31")) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  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(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2012-

Code
BSI1 %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E")) %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(date >= as.Date("2011-12-31")) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-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(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

PEL, tous

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(BS_ITEM %in% c("L22FRPL")) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.6),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Dépôts à vue (L21)

2300

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(BS_ITEM %in% c("L21"),
         variable == "BSI1.M.FR.N.A.L21.A.1.U6.2300.Z01.E") %>%
  ggplot + theme_minimal() + xlab("") + ylab("Dépôts à vue") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.6),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(100, 3000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1))

2250 - Ménages

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(BS_ITEM %in% c("L21"),
         variable == "BSI1.M.FR.N.A.L21.A.1.U6.2250.Z01.E") %>%
  ggplot + theme_minimal() + xlab("") + ylab("Dépôts à vue") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.6),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(100, 3000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Dépôts (L20)

Tous

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L20.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L20.A.1.U6.2254FR.Z01.E",
                         "BSI1.M.FR.N.A.L21.A.1.U6.2300.Z01.E")) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Dépôts à vue") +
  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.5, 0.6),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(100, 3000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2012-

Code
BSI1 %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(variable %in% c("BSI1.M.FR.N.A.L20.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L20.A.1.U6.2254FR.Z01.E",
                         "BSI1.M.FR.N.A.L21.A.1.U6.2300.Z01.E"),
         date >= as.Date("2011-12-31")) %>%
  ggplot + theme_minimal() + xlab("") + ylab("Dépôts, Dépôts à vue") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(100, 3000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Encours crédit entreprises

2240: crédits entrerpises

Linear

Code
data_ombeline <- BSI1 %>%
  group_by(variable) %>%
  summarise(max_date = max(date),
            min_date = min(date)) %>%
  left_join(variable, by = "variable") %>%
  filter(BS_COUNT_SECTOR == "2240") %>%
  arrange(desc(max_date))

save(data_ombeline, file = "~/data_ombeline.RData")

Encours crédit à l’habitat

Linear

Code
BSI1 %>%
  filter(grepl("BSI1.M.FR.N.R.A220Z.A.1.U6.2250.Z01.E", variable) |
           grepl("BSI1.M.FR.N.R.A220Z.A.1.U6.2254FR.Z01.E", variable) |
           grepl("BSI1.M.FR.N.2.A22.A.1.U6.2251.Z01.E", variable)) %>%
  left_join(BSI1_var, by = "variable") %>%
  ggplot + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-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)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Log

Code
BSI1 %>%
  filter(grepl("BSI1.M.FR.N.R.A220Z.A.1.U6.2250.Z01.E", variable) |
           grepl("BSI1.M.FR.N.R.A220Z.A.1.U6.2254FR.Z01.E", variable) |
           grepl("BSI1.M.FR.N.2.A22.A.1.U6.2251.Z01.E", variable)) %>%
  left_join(BSI1_var, by = "variable") %>%
  ggplot + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(-10000, 10000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Encours crédit à la consommation

Linear

Code
BSI1 %>%
  filter(grepl("BSI1.M.FR.N.R.A210Z.A.1.U6.2254FR.Z01.E", variable) |
           grepl("BSI1.M.FR.N.R.A210Z.A.1.U6.2250.Z01.E", variable)) %>%
  left_join(BSI1_var, by = "variable") %>%
  ggplot + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  
  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") +
  scale_y_continuous(breaks = seq(-10000, 10000, 10),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Log

Code
BSI1 %>%
  filter(grepl("BSI1.M.FR.N.R.A210Z.A.1.U6.2254FR.Z01.E", variable) |
           grepl("BSI1.M.FR.N.R.A210Z.A.1.U6.2250.Z01.E", variable)) %>%
  left_join(BSI1_var, by = "variable") %>%
  ggplot + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  
  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") +
  scale_y_log10(breaks = seq(-10000, 10000, 10),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))