Agrégats monétaires - France

Data - BDF

Info

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

Données sur l’immobilier

source dataset Title .html .rData
bdf BSI1 Agrégats monétaires - France 2026-03-13 2026-03-13
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-03-13 2024-07-01
bdf FM Marché financier, taux 2026-03-13 2026-03-13
bdf MIR Taux d'intérêt - Zone euro 2026-03-13 2025-08-04
bdf MIR1 Taux d'intérêt - France 2026-03-13 2025-08-04
bdf RPP Prix de l'immobilier 2026-03-13 2026-03-13
bdf immobilier Immobilier en France 2026-03-13 2026-03-13
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-03-14 2026-03-13
insee ENQ-CONJ-ART-BAT Conjoncture dans l'artisanat du bâtiment 2026-03-14 2026-03-13
insee ENQ-CONJ-IND-BAT Conjoncture dans l'industrie du bâtiment - ENQ-CONJ-IND-BAT 2026-03-14 2026-03-13
insee ENQ-CONJ-PROMO-IMMO Conjoncture dans la promotion immobilière 2026-03-14 2026-03-13
insee ENQ-CONJ-TP Conjoncture dans les travaux publics 2026-03-14 2026-03-13
insee ILC-ILAT-ICC Indices pour la révision d’un bail commercial ou professionnel 2026-03-14 2026-03-13
insee INDICES_LOYERS Indices des loyers d'habitation (ILH) 2026-03-14 2026-03-13
insee IPLA-IPLNA-2015 Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens 2026-03-14 2026-03-13
insee IRL Indice pour la révision d’un loyer d’habitation 2026-01-08 2026-03-13
insee PARC-LOGEMENTS Estimations annuelles du parc de logements (EAPL) 2026-03-14 2023-12-03
insee SERIES_LOYERS Variation des loyers 2026-03-14 2026-03-13
insee t_dpe_val Dépenses de consommation des ménages pré-engagées 2026-03-14 2026-02-27
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-03-13 2026-03-13
bis LONG_PP Residential property prices - detailed series 2026-01-11 2024-05-10
bis SELECTED_PP Property prices, selected series 2026-03-13 2026-03-13
ecb RPP Residential Property Price Index Statistics 2026-03-14 2026-03-13
eurostat ei_hppi_q House price index (2015 = 100) - quarterly data 2026-03-13 2026-03-13
eurostat hbs_str_t223 Mean consumption expenditure by income quintile 2025-10-11 2026-03-13
eurostat prc_hicp_midx HICP (2015 = 100) - monthly data (index) 2026-03-14 2026-03-13
eurostat prc_hpi_q House price index (2015 = 100) - quarterly data 2026-03-14 2026-03-13
fred housing House Prices 2026-03-13 2026-03-13
insee IPLA-IPLNA-2015 Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens 2026-03-14 2026-03-13
oecd SNA_TABLE5 Final consumption expenditure of households 2026-03-13 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-03-15

Last

date Nobs
2026-01-31 1018

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 608588
Q Trimestriel 95995

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 540252
U2 Zone Euro (composition évolutive) 164331

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 582184
Y CVS/CJO 121307
S CVS 1092

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) 216572
V IFM, administrations centrales et banques postales 186263
R Etablissements de crédit 98979
N Banque Centrale Nationale 53843
C Eurosystème 45764
U Institutions monétaires et financières (IFM) 43479
7 Agrégation IF métropole 16585
G Administrations centrales et la poste 13460
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 63
CB Canal bancaire 63
CC Spécialisés crédit consommation 63

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 575522
L Jusqu`à 2 ans 38203
X Non applicable 23058
H Plus de 2 ans 19026
D Jusqu`à 3 mois 14529
F Jusqu`à 1 an 10833
M Maturité jusqu`à 2 ans et remboursables avec préavis de moins de 3 mois 7126
K Plus de 1 an 3761
J Supérieur à 5 ans 3667
I Plus de 1 et jusqu`à 5 ans 3474
E Supérieur à 3 mois 3365
G Supérieur à 1 an et inférieur à 2 ans 2019

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 292930
4 Flux 218831
I Indices notionnels des stocks 178518
S Flux cumulés sur 1 an 10423
Q Contribution au taux de croissance annuel de M3 1857
U Provisions 1227
8 Valorisation 641
D Variation d`encours 156

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 396977
U2 Zone Euro (composition évolutive) 142481
Z5 Monde non ventilé (geographiquement) 87916
U5 Autres pays de la Zone Euro (Tous pays excepté zone de référence) 40712
U4 Hors Zone Euro 23281
Z9 Reste du Monde 1720
AT Autriche 772
BE Belgique 772
DE Allemagne 772
DK Danemark 772
ES Espagne 772
FI Finlande 772
GB Royaume-Uni 772
GR Grèce 772
IE Irlande 772
IT Italie 772
LU Luxembourg 772
NL Pays-Bas 772
PT Portugal 772
SE Suède 772
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 172168
0000 Secteur de contrepartie non précisée (0000) 142698
2240 Sociétés non financières (S11) 56080
2100 Administrations publiques 40067
1000 Institutions financières monétaires 37094
2250 Ménages et ISBLSM (S14 et S15) 34754
2200 secteur privé financier et non financier (hors IFMs) 31183
2251 Ménages 24568
2254FR Particuliers (S14) 24548
2000 Non IFM 24236
2310FR Agents non financiers (2220+2230+2100+2252) 23110
2220 Sociétés d`assurances, fonds de pensions 15509
2210 Autres institutions financières (2210) 14686
2253 Entrepreneurs individuels 9868
2110 Etat 9760
2252 Institutions sans but lucratif au service des ménages (S15) 8320
2120 Autres administrations publiques 5605
2211 Autres Intermédiaires Financières - dont organismes de titrisation 5139
2122 Administrations publiques locales 3499
00BK Banques non résidentes 3432
00NB Secteur non bancaire, non résident 3432
2123 Sécurité Sociale 3113
22F0 NA 2776
2230 Ménages et sociétés non financières (S11+S14+S15) 2379
2311FR Autres agents (2100+2220+2252) 2305
2121 Administrations d`Etat fédérés 1351
2320FR Tous agents hors particuliers (2310FR-2254FR) 1191
2260 OPC non monétaires 951
MIC Micro-entreprises 568
00NR Secteur non bancaire, non résident, hors administrations publiques 193

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 688100
EUR Euro 2884
XAU Or Monetaire 2019
CHF Franc Suisse 1930
JPY Yen 1930
USD Dollar des Etats-Unis 1930
Z03 Autres devises de l`UE (hors euro) 1930
Z04 Autres devises (hors UE) 1930
Z05 Devises hors UE et hors USD, CHF et JPY 1930

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