Agrégats monétaires - France

Data - BDF

Info

source dataset .html .RData
bdf BSI1 2025-08-24 2025-08-24

Données sur l’immobilier

source dataset .html .RData
acpr as151 2025-08-24 2024-04-05
bdf BSI1 2025-08-24 2025-08-24
bdf CPP 2025-08-24 2024-07-01
bdf FM 2025-08-25 2025-08-28
bdf immobilier 2025-08-24 2025-08-28
bdf MIR 2025-08-25 2025-08-04
bdf MIR1 2025-08-25 2025-08-04
bdf RPP 2025-08-24 2025-08-24
cgedd nombre-vente-maison-appartement-ancien 2024-09-26 2024-09-26
insee CONSTRUCTION-LOGEMENTS 2025-08-26 2025-08-24
insee ENQ-CONJ-ART-BAT 2025-08-26 2025-08-24
insee ENQ-CONJ-IND-BAT 2025-08-26 2025-08-24
insee ENQ-CONJ-PROMO-IMMO 2025-08-26 2025-08-24
insee ENQ-CONJ-TP 2025-08-26 2025-08-24
insee ILC-ILAT-ICC 2025-08-26 2025-08-24
insee INDICES_LOYERS 2025-08-26 2025-08-24
insee IPLA-IPLNA-2015 2025-08-26 2025-08-24
insee IRL 2025-08-26 2025-08-24
insee PARC-LOGEMENTS 2025-08-26 2023-12-03
insee SERIES_LOYERS 2025-08-26 2025-08-24
insee t_dpe_val 2025-08-26 2025-05-28
notaires arrdt 2025-03-27 2025-03-27
notaires dep 2025-03-27 2025-03-27

Data on housing

source dataset .html .RData
bdf RPP 2025-08-24 2025-08-24
bis LONG_PP 2025-08-25 2024-05-10
bis SELECTED_PP 2025-08-25 2024-10-31
ecb RPP 2025-08-26 2025-08-24
eurostat ei_hppi_q 2025-08-27 2025-08-24
eurostat hbs_str_t223 2025-08-27 2025-08-24
eurostat prc_hicp_midx 2025-08-27 2025-08-24
eurostat prc_hpi_q 2025-08-27 2025-08-24
fred housing 2025-08-25 2025-08-28
insee IPLA-IPLNA-2015 2025-08-26 2025-08-24
oecd housing 2025-08-25 2020-01-18
oecd SNA_TABLE5 2025-08-25 2023-10-19

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
2025-08-27

Last

date Nobs
2025-06-30 1064

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 601388
Q Trimestriel 94994

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

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 575588
Y CVS/CJO 119732
S CVS 1062

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) 213644
V IFM, administrations centrales et banques postales 184128
R Etablissements de crédit 97471
N Banque Centrale Nationale 53297
C Eurosystème 45288
U Institutions monétaires et financières (IFM) 43094
7 Agrégation IF métropole 16585
G Administrations centrales et la poste 13320
2 Banques 8318
1 Banques FBF 5275
4 CDC 5206
5 Banques mutualistes 5171
F OPCVM monétaires 2896
3 FCC 1166
8 IFM divers non ventilé 735
6 Agrégation IFM 608
AU Autres 60
CB Canal bancaire 60
CC Spécialisés crédit consommation 60

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 568767
L Jusqu`à 2 ans 37773
X Non applicable 22771
H Plus de 2 ans 18837
D Jusqu`à 3 mois 14368
F Jusqu`à 1 an 10723
M Maturité jusqu`à 2 ans et remboursables avec préavis de moins de 3 mois 7042
K Plus de 1 an 3743
J Supérieur à 5 ans 3610
I Plus de 1 et jusqu`à 5 ans 3420
E Supérieur à 3 mois 3330
G Supérieur à 1 an et inférieur à 2 ans 1998

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 289471
4 Flux 216320
I Indices notionnels des stocks 176458
S Flux cumulés sur 1 an 10321
Q Contribution au taux de croissance annuel de M3 1822
U Provisions 1220
8 Valorisation 623
D Variation d`encours 147

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 392281
U2 Zone Euro (composition évolutive) 140962
Z5 Monde non ventilé (geographiquement) 86929
U5 Autres pays de la Zone Euro (Tous pays excepté zone de référence) 40170
U4 Hors Zone Euro 22996
Z9 Reste du Monde 1716
AT Autriche 760
BE Belgique 760
DE Allemagne 760
DK Danemark 760
ES Espagne 760
FI Finlande 760
GB Royaume-Uni 760
GR Grèce 760
IE Irlande 760
IT Italie 760
LU Luxembourg 760
NL Pays-Bas 760
PT Portugal 760
SE Suède 760
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 170264
0000 Secteur de contrepartie non précisée (0000) 141121
2240 Sociétés non financières (S11) 55370
2100 Administrations publiques 39580
1000 Institutions financières monétaires 36674
2250 Ménages et ISBLSM (S14 et S15) 34221
2200 secteur privé financier et non financier (hors IFMs) 30825
2251 Ménages 24421
2254FR Particuliers (S14) 24142
2000 Non IFM 23984
2310FR Agents non financiers (2220+2230+2100+2252) 22917
2220 Sociétés d`assurances, fonds de pensions 15286
2210 Autres institutions financières (2210) 14491
2253 Entrepreneurs individuels 9724
2110 Etat 9644
2252 Institutions sans but lucratif au service des ménages (S15) 8194
2120 Autres administrations publiques 5535
2211 Autres Intermédiaires Financières - dont organismes de titrisation 5139
2122 Administrations publiques locales 3448
00BK Banques non résidentes 3384
00NB Secteur non bancaire, non résident 3384
2123 Sécurité Sociale 3068
22F0 NA 2727
2230 Ménages et sociétés non financières (S11+S14+S15) 2337
2311FR Autres agents (2100+2220+2252) 2305
2121 Administrations d`Etat fédérés 1330
2320FR Tous agents hors particuliers (2310FR-2254FR) 1191
2260 OPC non monétaires 951
MIC Micro-entreprises 535
00NR Secteur non bancaire, non résident, hors administrations publiques 190

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

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