Agrégats monétaires - France

Data - BDF

Info

source dataset .html .RData
bdf BSI1 2025-03-09 2025-04-01

Données sur l’immobilier

source dataset .html .RData
acpr as151 2024-06-19 2024-04-05
bdf BSI1 2025-03-09 2025-04-01
bdf CPP 2025-03-09 2024-07-01
bdf FM 2025-03-27 2025-03-27
bdf immobilier 2025-03-27 2025-03-27
bdf MIR 2025-03-09 2025-01-22
bdf MIR1 2025-03-09 2025-01-22
bdf RPP 2025-03-10 2025-03-10
cgedd nombre-vente-maison-appartement-ancien 2024-09-26 2024-09-26
insee CONSTRUCTION-LOGEMENTS 2025-01-31 2025-02-01
insee ENQ-CONJ-ART-BAT 2025-01-31 2025-02-01
insee ENQ-CONJ-IND-BAT 2025-02-14 2025-02-14
insee ENQ-CONJ-PROMO-IMMO 2025-01-31 2025-02-01
insee ENQ-CONJ-TP 2025-01-31 2025-02-01
insee ILC-ILAT-ICC 2025-01-31 2025-02-01
insee INDICES_LOYERS 2025-01-31 2025-02-01
insee IPLA-IPLNA-2015 2025-01-31 2025-02-01
insee IRL 2025-01-31 2025-01-31
insee PARC-LOGEMENTS 2025-01-31 2023-12-03
insee SERIES_LOYERS 2025-01-31 2025-02-01
insee t_dpe_val 2025-01-31 2025-02-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-03-10 2025-03-10
bis LONG_PP 2024-12-29 2024-05-10
bis SELECTED_PP 2024-12-29 2024-10-31
ecb RPP 2024-12-29 2024-12-29
eurostat ei_hppi_q 2025-02-01 2025-03-09
eurostat hbs_str_t223 2025-01-26 2025-03-09
eurostat prc_hicp_midx 2025-03-31 2025-03-31
eurostat prc_hpi_q 2025-02-01 2024-10-09
fred housing 2025-04-01 2025-04-01
insee IPLA-IPLNA-2015 2025-01-31 2025-02-01
oecd housing 2024-09-15 2020-01-18
oecd SNA_TABLE5 2024-09-11 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-04-01

Last

date Nobs
2025-02-28 241

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 596434
Q Trimestriel 94599

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

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 571252
Y CVS/CJO 118729
S CVS 1052

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

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 564337
L Jusqu`à 2 ans 37479
X Non applicable 22603
H Plus de 2 ans 18684
D Jusqu`à 3 mois 14263
F Jusqu`à 1 an 10665
M Maturité jusqu`à 2 ans et remboursables avec préavis de moins de 3 mois 6992
K Plus de 1 an 3729
J Supérieur à 5 ans 3591
I Plus de 1 et jusqu`à 5 ans 3402
E Supérieur à 3 mois 3305
G Supérieur à 1 an et inférieur à 2 ans 1983

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 287351
4 Flux 214628
I Indices notionnels des stocks 175043
S Flux cumulés sur 1 an 10247
Q Contribution au taux de croissance annuel de M3 1797
U Provisions 1215
8 Valorisation 608
D Variation d`encours 144

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 389160
U2 Zone Euro (composition évolutive) 139888
Z5 Monde non ventilé (geographiquement) 86252
U5 Autres pays de la Zone Euro (Tous pays excepté zone de référence) 39916
U4 Hors Zone Euro 22833
Z9 Reste du Monde 1712
AT Autriche 756
BE Belgique 756
DE Allemagne 756
DK Danemark 756
ES Espagne 756
FI Finlande 756
GB Royaume-Uni 756
GR Grèce 756
IE Irlande 756
IT Italie 756
LU Luxembourg 756
NL Pays-Bas 756
PT Portugal 756
SE Suède 756
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 169043
0000 Secteur de contrepartie non précisée (0000) 140023
2240 Sociétés non financières (S11) 54894
2100 Administrations publiques 39266
1000 Institutions financières monétaires 36430
2250 Ménages et ISBLSM (S14 et S15) 33891
2200 secteur privé financier et non financier (hors IFMs) 30584
2251 Ménages 24316
2254FR Particuliers (S14) 23877
2000 Non IFM 23868
2310FR Agents non financiers (2220+2230+2100+2252) 22774
2220 Sociétés d`assurances, fonds de pensions 15145
2210 Autres institutions financières (2210) 14370
2253 Entrepreneurs individuels 9620
2110 Etat 9564
2252 Institutions sans but lucratif au service des ménages (S15) 8104
2120 Autres administrations publiques 5485
2211 Autres Intermédiaires Financières - dont organismes de titrisation 5085
2122 Administrations publiques locales 3427
00BK Banques non résidentes 3368
00NB Secteur non bancaire, non résident 3368
2123 Sécurité Sociale 3049
22F0 NA 2692
2230 Ménages et sociétés non financières (S11+S14+S15) 2307
2311FR Autres agents (2100+2220+2252) 2305
2121 Administrations d`Etat fédérés 1323
2320FR Tous agents hors particuliers (2310FR-2254FR) 1191
2260 OPC non monétaires 951
MIC Micro-entreprises 524
00NR Secteur non bancaire, non résident, hors administrations publiques 189

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

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 %>%
  left_join(BSI1_var, by = "variable") %>%
  filter(BS_ITEM == "L23FRLP",
         DATA_TYPE == "1",
         BS_REP_SECTOR == "U") %>%
  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)))