Comptes Financiers Trimestriels

Data - BDF

Info

source dataset .html .RData

bdf

CFT

2024-06-19 2024-06-23

Données sur la macroéconomie en France

source dataset .html .RData

bdf

CFT

2024-06-19 2024-06-23

insee

CNA-2014-CONSO-MEN

2024-06-20 2024-06-18

insee

CNA-2014-CONSO-SI

2024-06-20 2024-06-18

insee

CNA-2014-CSI

2024-06-20 2024-06-18

insee

CNA-2014-FBCF-BRANCHE

2024-06-20 2024-06-18

insee

CNA-2014-FBCF-SI

2024-06-07 2024-06-18

insee

CNA-2014-PIB

2024-06-20 2024-06-18

insee

CNA-2014-RDB

2024-06-20 2024-06-18

insee

CNT-2014-CB

2024-06-20 2024-06-18

insee

CNT-2014-CSI

2024-06-20 2024-06-18

insee

CNT-2014-OPERATIONS

2024-06-20 2024-06-18

insee

CNT-2014-PIB-EQB-RF

2024-06-20 2024-06-18

insee

CONSO-MENAGES-2014

2024-06-20 2024-06-18

insee

conso-mensuelle

2024-06-07 2023-07-04

insee

ICA-2015-IND-CONS

2024-06-20 2024-06-18

insee

t_1101

2024-06-20 2022-01-02

insee

t_1102

2024-06-20 2020-10-30

insee

t_1105

2024-06-20 2020-10-30

Data on saving

source dataset .html .RData

bdf

CFT

2024-06-19 2024-06-23

bea

T50100

2024-02-11 2024-03-13

fred

saving

2024-06-20 2024-06-07

oecd

NAAG

2024-04-16 2024-03-13

wdi

NY.GDS.TOTL.ZS

2022-09-27 2024-04-14

wdi

NY.GNS.ICTR.ZS

2022-09-27 2024-04-14

LAST_COMPILE

LAST_COMPILE
2024-06-23

Last

date Nobs
2024-01-01 6

Liste des publications

  • Comptes financiers des agents non financiers. STAT INFO – 4e trimestre 2023. pdf

  • Épargne des ménages. STAT INFO – février 2024. pdf

Info

  • Épargne et Patrimoine financiers des ménages, Comptes financiers des agents non financiers, 15 avril 2024, 2023T4. pdf / html

  • Épargne et Patrimoine financiers des ménages, 2023T3. pdf

  • Épargne et Patrimoine financiers des ménages, 2023T2. pdf

  • Présentation trimestrielle de l’épargne des ménages, 2023T1. html / pdf

  • Méthodologie. pdf

  • Liste séries. html

  • Épargne et Patrimoine financiers des ménages, 2022T2. pdf

  • Epargne des ménages, 2021T1. pdf

  • Taux d’endettement des agents non financiers – Comparaisons internationales, 2020T4. html / pdf

  • Epargne des ménages, 2020T3. pdf

STO

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(STO, by = "STO") %>%
  group_by(STO, Sto) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
STO Sto Nobs
F flux 13291
LE Encours 9837
B8G Taux d'épargne des ménages 944
B9Z Taux d'épargne financière des ménages 803
K Réévaluations et autres changements de volume 254
K5 Impact de valorisation 167
P51G Formation brute de capital fixe 141

FREQ Frequency

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(FREQ, by = "FREQ") %>%
  group_by(FREQ, Freq) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
FREQ Freq Nobs
Q Trimestriel 23942
A Annuel 1495

ADJUSTMENT Adjustment

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(ADJUSTMENT, by = "ADJUSTMENT") %>%
  group_by(ADJUSTMENT, Adjustment) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
ADJUSTMENT Adjustment Nobs
N Brut 13119
S CVS 11782
Y CVS/CJO 282
_Z Non applicable 254

REF_AREA Reference area - ISO2

Code
CFT %>%
  left_join(CFT_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 18214
DE Germany 918
ES Spain 918
IT Italy 918
US United States 918
GB United Kingdom 818
UK NA 797
I9 NA 672
I8 Euro area 19 (fixed composition) 668
JP Japan 596

COUNTERPART_AREA Counterpart area

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
  group_by(COUNTERPART_AREA, Counterpart_area) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
COUNTERPART_AREA Counterpart_area Nobs
W0 World (all areas, including reference area, including IO) 24420
W2 Domestic (home or reference area) 1017

REF_SECTOR Reference sector

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_SECTOR, by = "REF_SECTOR") %>%
  group_by(REF_SECTOR, Ref_sector) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
REF_SECTOR Ref_sector Nobs
S1M Ménages et Institution sans but lucratif au service des ménages (ISBLSM) 14957
S11 Sociétés non financières 5672
S13 Administrations publiques 3719
S1V Sociétés non-financières, ménages et NPISH 1089

COUNTERPART_SECTOR Counterpart sector

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(COUNTERPART_SECTOR, by = "COUNTERPART_SECTOR") %>%
  group_by(COUNTERPART_SECTOR, Counterpart_sector) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
COUNTERPART_SECTOR Counterpart_sector Nobs
S1 Ensemble de l`économie 24420
S124 des OPC non monétaires 1017

ACCOUNTING_ENTRY Accounting entries

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
  group_by(ACCOUNTING_ENTRY, Accounting_entry) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
ACCOUNTING_ENTRY Accounting_entry Nobs
A Créances 13089
L Engagements 9713
B Balance (Crédit moins débit) 1747
N Net (avoirs moins engagements) 498
NE Engagements Nets (engagements moins avoirs) 249
D Débit (dépenses) 141

INSTR_ASSET Instrument and assets classification

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
  group_by(INSTR_ASSET, Instr_asset) %>%
  summarise(Nobs = n()) %>%
  #arrange(-Nobs) %>%
  print_table_conditional

MATURITY Maturity

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(MATURITY, by = "MATURITY") %>%
  group_by(MATURITY, Maturity) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
MATURITY Maturity Nobs
T Toutes maturités d`origine 13512
_Z Non applicable 11925

UNIT_MEASURE Unit of measure

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(UNIT_MEASURE, by = "UNIT_MEASURE") %>%
  group_by(UNIT_MEASURE, Unit_measure) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
UNIT_MEASURE Unit_measure Nobs
XDC Monnaie nationale 16855
XDC_R_B1GQ_CY Monnaie nationale (incl. une conversion à la monnaie courante en utilisant une parité fixe); ratio à la somme du glissement annuel du produit intérieur brut 3956
XDC_R_B6G_S1M en % du RDB 2595
XDC_R_B1G_CY NA 952
XDC_R_DEBT NA 692
PC Pourcent 387

CURRENCY_DENOM Currency denominator

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(CURRENCY_DENOM, by = "CURRENCY_DENOM") %>%
  group_by(CURRENCY_DENOM, Currency_denom) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
CURRENCY_DENOM Currency_denom Nobs
_T Toutes monnaies d`opération 25437

VALUATION Valuation

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(VALUATION, by = "VALUATION") %>%
  group_by(VALUATION, Valuation) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
VALUATION Valuation Nobs
S Valorisation standard basée sur ESA2010/SNA2008 24048
F Valeur nominale (F) 789
N Valeur nominale (N) 600

date

Code
CFT %>%
  group_by(date) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(date)) %>%
  print_table_conditional

Exemples

Table

Code
ig_b("bdf", "CFT-2023T3")

Produits de taux

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(STO == "LE",
         INSTR_ASSET %in% c("PDTX")) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(-200, 10000, 100),
                     labels = dollar_format(acc = 1, prefix = "", su = "Mds€")) +
  theme(legend.position = c(0.35, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

Produits de fonds propres

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(STO == "LE",
         INSTR_ASSET %in% c("PDFP")) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(-200, 10000, 100),
                     labels = dollar_format(acc = 1, prefix = "", su = "Mds€")) +
  theme(legend.position = c(0.35, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

Detail

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(STO == "LE",
         INSTR_ASSET %in% c("F62A", "F62B", "F29R", "F2A", "F29Z")) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(-200, 10000, 100),
                     labels = dollar_format(acc = 1, prefix = "", su = "Mds€")) +
  theme(legend.position = c(0.45, 0.17),
        legend.title = element_blank(),
        legend.direction = "vertical")

Stock

Numéraires et dépôts à vue

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(REF_AREA %in% c("FR", "IT", "DE"),
         INSTR_ASSET == "F2A",
         STO == "LE") %>%
  mutate(Ref_area = ifelse(REF_AREA == "I8", "Europe", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("") + theme_minimal() + scale_color_identity() + add_3flags +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 4000, 100),
                labels = dollar_format(accuracy = 1, pre = "", su = " Mds€"))

Stocks

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
  filter(REF_AREA %in% c("FR"),
         INSTR_ASSET %in% c("F2A", "F29Z", "F62B", "F29R"),
         STO == "LE") %>%
  select(date, value, Instr_asset) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = Instr_asset)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 4000, 100),
                labels = dollar_format(accuracy = 1, pre = "", su = " Mds€")) +
  theme(legend.position = c(0.4, 0.4),
        legend.title = element_blank(),
        legend.direction = "vertical")

Numéraires et dépôts à vue

Stocks

All

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
  filter(REF_AREA %in% c("FR"),
         INSTR_ASSET %in% c("F2A", "F29Z", "F62B"),
         STO == "LE") %>%
  select(date, value, Instr_asset) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = Instr_asset)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 4000, 100),
                labels = dollar_format(accuracy = 1, pre = "", su = " Mds€")) +
  theme(legend.position = c(0.4, 0.4),
        legend.title = element_blank(),
        legend.direction = "vertical")

2019-

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
  filter(REF_AREA %in% c("FR"),
         INSTR_ASSET %in% c("F2A", "F29Z", "F62B"),
         STO == "LE") %>%
  select(date, value, Instr_asset) %>%
  na.omit %>%
  filter(date >= as.Date("2022-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Instr_asset)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "3 months",
               labels = date_format("%b %Y")) +
  scale_y_log10(breaks = seq(100, 4000, 100),
                labels = dollar_format(accuracy = 1, pre = "", su = " Mds€")) +
  theme(legend.position = c(0.4, 0.4),
        legend.title = element_blank(),
        legend.direction = "vertical")

Flux - 4 trimestres

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
  filter(REF_AREA %in% c("FR"),
         INSTR_ASSET %in% c("F2A", "F29Z", "F62B", "F29R"),
         STO == "F",
         TRANSFORMATION == "C4") %>%
  #filter(date >= as.Date("2016-01-01")) %>%
  select(date, value, Instr_asset) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = Instr_asset)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-2000, 4000, 10),
                labels = dollar_format(accuracy = 1, pre = "", su = " Mds€")) +
  theme(legend.position = c(0.4, 0.8),
        legend.title = element_blank(),
        legend.direction = "vertical")

Flux

All

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
  filter(REF_AREA %in% c("FR"),
         INSTR_ASSET %in% c("F2A", "F29Z", "F62B", "F29R"),
         STO == "F",
         TRANSFORMATION == "N",
         FREQ == "Q") %>%
  filter(date >= as.Date("2010-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Instr_asset)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-1000, 4000, 10),
                labels = dollar_format(accuracy = 1, pre = "", su = " Mds€")) +
  theme(legend.position = c(0.4, 0.8),
        legend.title = element_blank(),
        legend.direction = "vertical")

2016

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
  filter(REF_AREA %in% c("FR"),
         INSTR_ASSET %in% c("F2A", "F29Z", "F62B", "F29R"),
         STO == "F",
         TRANSFORMATION == "N",
         FREQ == "Q") %>%
  filter(date >= as.Date("2016-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Instr_asset)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-1000, 4000, 10),
                labels = dollar_format(accuracy = 1, pre = "", su = " Mds€")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  geom_hline(yintercept = 0, linetype = "dashed")

Actions côtées / non côtées, AV en unités de compte

Stocks

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
  filter(REF_AREA %in% c("FR"),
         INSTR_ASSET %in% c( "F511", "F51M", "F62A"),
         STO == "LE") %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = Instr_asset)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 4000, 100),
                labels = dollar_format(accuracy = 1, pre = "", su = " Mds€")) +
  theme(legend.position = c(0.4, 0.6),
        legend.title = element_blank(),
        legend.direction = "vertical")

Flux

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
  filter(REF_AREA %in% c("FR"),
         INSTR_ASSET %in% c( "F511", "F51M", "F62A"),
         STO == "F",
         TRANSFORMATION == "N",
         FREQ == "Q") %>%
  filter(date >= as.Date("2016-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Instr_asset)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-2000, 4000, 5),
                labels = dollar_format(accuracy = 1, pre = "", su = " Mds€")) +
  theme(legend.position = c(0.4, 0.4),
        legend.title = element_blank(),
        legend.direction = "vertical")

Numéraires et dépôts à vue

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
  filter(REF_AREA %in% c("FR"),
         INSTR_ASSET %in% c("F2A", "F29Z"),
         STO == "LE") %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = Instr_asset)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 4000, 100),
                labels = dollar_format(accuracy = 1, pre = "", su = " Mds€")) +
  theme(legend.position = c(0.75, 0.1),
        legend.title = element_blank(),
        legend.direction = "vertical")

Assurance Vie

Toutes

2007-

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.Q.S.FR.W0.S1M.S1.N.A.F.F62B._Z._Z.XDC._T.S.V.N._T",
                         "CFT.Q.S.FR.W0.S1M.S1.N.A.F.F62A._Z._Z.XDC._T.S.V.N._T",
                         "CFT.Q.S.FR.W0.S1M.S1.N.A.F.F29R.T._Z.XDC._T.S.V.N._T",
                         "CFT.Q.S.FR.W0.S1M.S1.N.A.F.F2A.T._Z.XDC._T.S.V.N._T")) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-200, 1000, 5),
                     limits = c(-25 ,40),
                     labels = dollar_format(acc = 1, prefix = "", su = "Mds€")) +
  theme(legend.position = c(0.45, 0.17),
        legend.title = element_blank(),
        legend.direction = "vertical")

2015-

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.Q.S.FR.W0.S1M.S1.N.A.F.F62B._Z._Z.XDC._T.S.V.N._T",
                         "CFT.Q.S.FR.W0.S1M.S1.N.A.F.F29Z.T._Z.XDC._T.S.V.N._T",
                         "CFT.Q.S.FR.W0.S1M.S1.N.A.F.F29R.T._Z.XDC._T.S.V.N._T",
                         "CFT.Q.S.FR.W0.S1M.S1.N.A.F.F2A.T._Z.XDC._T.S.V.N._T")) %>%
  filter(date >= as.Date("2015-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-200, 1000, 5),
                     limits = c(-5 ,40),
                     labels = dollar_format(acc = 1, prefix = "", su = "Mds€")) +
  theme(legend.position = c(0.45, 0.8),
        legend.title = element_blank(),
        legend.direction = "vertical")

Taux d’épargne des ménages

Le taux d’épargne des ménages est le rapport entre l’épargne brute des ménages (B8G) et le revenu disponible brut ajusté des variations de droits à pension. Le revenu disponible brut (B6G) correspond aux revenus que perçoivent les ménages (revenus d’activité et revenus fonciers) après opérations de redistribution (ajout des prestations sociales en espèces reçues, soustraction des cotisations et impôts).

Quant au taux d’épargne financière, il s’agit de la part du revenu disponible brut investie dans des actifs financiers.

  • le taux d’épargne s’obtient en rapportant l’épargne brute au revenu disponible brut ajusté de la variation des droits des ménages sur les fonds de pension, préalablement corrigés des variations saisonnières

  • le taux d’épargne financière est estimé en soustrayant la formation brute de capital fixe à l’épargne brute, ensuite rapportée au revenu disponible brut ajusté de la variation des droits des ménages sur les fonds de pension, puis en corrigeant des variations saisonnières.

France

Annual

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.A.N.FR.W0.S1M.S1.N.B.B8G._Z._Z._Z.XDC_R_B6G_S1M._T.S.V.N._T",
                         "CFT.A.N.FR.W0.S1M.S1.N.B.B9Z._Z._Z._Z.XDC_R_B6G_S1M._T.S.V.N._T")) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

Quarterly

All

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.Q.N.FR.W0.S1M.S1.N.B.B8G._Z._Z._Z.XDC_R_B6G_S1M._T.S.V.C4._T",
                         "CFT.Q.N.FR.W0.S1M.S1.N.B.B9Z._Z._Z._Z.XDC_R_B6G_S1M._T.S.V.C4._T")) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.42, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

2010-

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.Q.N.FR.W0.S1M.S1.N.B.B8G._Z._Z._Z.XDC_R_B6G_S1M._T.S.V.C4._T",
                         "CFT.Q.N.FR.W0.S1M.S1.N.B.B9Z._Z._Z._Z.XDC_R_B6G_S1M._T.S.V.C4._T")) %>%
  na.omit %>%
  filter(date >= as.Date("2010-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.45, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

France, Spain, Italy

Table

Code
load_data("bdf/REF_AREA.RData")
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(FREQ == "Q",
         UNIT_MEASURE == "XDC_R_B6G_S1M",
         REF_SECTOR == "S1M",
         date == as.Date("2020-01-01")) %>%
  select(Variable, Ref_area, value) %>%
  arrange(Ref_area) %>%
  print_table_conditional
Variable Ref_area value
Dette des ménages - Zone euro, en % du RDB Euro area 19 (fixed composition) 94.161
Dette des ménages - France, en % du RDB France 99.078
Taux d'épargne des ménages, flux cumulé sur 4 trimestres - France, en % du RDB France 15.690
Taux d'épargne financière des ménages, flux cumulé sur 4 trimestres - France, en % du RDB France 6.196
Dette des ménages - Allemagne, en % du RDB Germany 86.421
Taux d'épargne des ménages, flux cumulé sur 4 trimestres - Allemagne, en % du RDB Germany 18.965
Taux d'épargne financière des ménages, flux cumulé sur 4 trimestres - Allemagne, en % du RDB Germany 9.047
Dette des ménages -Italie, en % du RDB Italy 61.985
Taux d'épargne des ménages, flux cumulé sur 4 trimestres - Italie, en % du RDB Italy 11.305
Taux d'épargne financière des ménages, flux cumulé sur 4 trimestres - Italie, en % du RDB Italy 3.914
Dette des ménages - Japon, en % du RDB Japan 104.604
Dette des ménages -Espagne, en % du RDB Spain 89.562
Taux d'épargne des ménages, flux cumulé sur 4 trimestres - Espagne, en % du RDB Spain 10.046
Taux d'épargne financière des ménages, flux cumulé sur 4 trimestres - Espagne, en % du RDB Spain 4.668
Taux d'épargne des ménages, flux cumulé sur 4 trimestres - Royaume-Uni, en % du RDB United Kingdom 5.840
Taux d'épargne financière des ménages, flux cumulé sur 4 trimestres - Royaume-Uni, en % du RDB United Kingdom -0.987
Dette des ménages -Royaume-Uni, en % du RDB United Kingdom 131.346
Dette des ménages - Etats-Unis, en % du RDB United States 131.713
Taux d'épargne des ménages, flux cumulé sur 4 trimestres - Etats-Unis, en % du RDB United States 11.602
Taux d'épargne financière des ménages, flux cumulé sur 4 trimestres - Etats-Unis, en % du RDB United States 6.101
Dette des ménages - Zone euro, en % du RDB NA 94.036
Dette des ménages -Royaume-Uni, en % du RDB NA 128.203
Taux d'épargne des ménages, flux cumulé sur 4 trimestres - Royaume-Uni, en % du RDB NA 5.415
Taux d'épargne financière des ménages, flux cumulé sur 4 trimestres - Royaume-Uni, en % du RDB NA -1.397

Taux d’épargne financière

France, Italy, Germany

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(FREQ == "Q",
         REF_AREA %in% c("FR", "IT", "DE"),
         UNIT_MEASURE == "XDC_R_B6G_S1M",
         STO == "B9Z",
         REF_SECTOR == "S1M") %>%
  mutate(value = value/100) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = Ref_area)) + 
  xlab("") + ylab("") + theme_minimal() +
  scale_color_manual(values = c("#002395", "#000000", "#009246")) +
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  add_3flags +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = "none")

France, Italy, Germany, Spain, United States

All

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(FREQ == "Q",
         UNIT_MEASURE == "XDC_R_B6G_S1M",
         STO == "B9Z",
         REF_SECTOR == "S1M") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(value = value/100) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("") + theme_minimal() + scale_color_identity() + add_6flags +
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1))

2007-

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(FREQ == "Q",
         UNIT_MEASURE == "XDC_R_B6G_S1M",
         STO == "B9Z",
         REF_SECTOR == "S1M") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(value = value/100) %>%
  filter(date >= as.Date("2007-01-01")) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("") + theme_minimal() + scale_color_identity() + add_6flags +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1))

2015-

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(FREQ == "Q",
         UNIT_MEASURE == "XDC_R_B6G_S1M",
         STO == "B9Z",
         REF_SECTOR == "S1M") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(value = value/100) %>%
  filter(date >= as.Date("2015-01-01")) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("Taux d'épargne financière (%)") + theme_minimal() + scale_color_identity() + add_6flags +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1))

Taux d’épargne

France, Italy, Germany

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(FREQ == "Q",
         REF_AREA %in% c("FR", "IT", "DE"),
         UNIT_MEASURE == "XDC_R_B6G_S1M",
         STO == "B8G",
         REF_SECTOR == "S1M") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(value = value/100) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("") + theme_minimal() + scale_color_identity() + add_3flags +
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1))

France, Italy, Germany, Spain, United States

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(FREQ == "Q",
         UNIT_MEASURE == "XDC_R_B6G_S1M",
         STO == "B8G",
         REF_SECTOR == "S1M") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(value = value/100) %>%
  na.omit %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("") + theme_minimal() + scale_color_identity() + add_6flags +
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
                labels = percent_format(accuracy = 1))

Dette

Dette des ménages

All

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(INSTR_ASSET == "DETT",
         UNIT_MEASURE == "XDC_R_B1GQ_CY",
         REF_SECTOR == "S1M") %>%
  mutate(Ref_area = ifelse(REF_AREA == "I8", "Europe", Ref_area)) %>%
  mutate(Ref_area = ifelse(REF_AREA == "UK", "United Kingdom", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(value = value/100) %>%
  arrange(date) %>%
  select(REF_AREA,everything()) %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("") + theme_minimal() + scale_color_identity() + add_7flags +
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 200, 10),
                labels = percent_format(accuracy = 1))

France, Italy, Germany, Spain, Japan, EU

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(REF_AREA %in% c("FR", "IT", "DE", "ES", "JP", "I8"),
         INSTR_ASSET == "DETT",
         UNIT_MEASURE == "XDC_R_B1GQ_CY",
         REF_SECTOR == "S1M") %>%
  mutate(Ref_area = ifelse(REF_AREA == "I8", "Europe", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(value = value/100) %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("") + theme_minimal() + scale_color_identity() + add_6flags +
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
                labels = percent_format(accuracy = 1))

France, Italy, Germany

All

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(REF_AREA %in% c("FR", "IT", "DE"),
         INSTR_ASSET == "DETT",
         UNIT_MEASURE == "XDC_R_B1GQ_CY",
         REF_SECTOR == "S1M") %>%
  mutate(Ref_area = ifelse(REF_AREA == "I8", "Europe", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(value = value/100) %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("") + theme_minimal() + scale_color_identity() + add_3flags +
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
                labels = percent_format(accuracy = 1))

2013-

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(REF_AREA %in% c("FR", "IT", "DE"),
         INSTR_ASSET == "DETT",
         UNIT_MEASURE == "XDC_R_B1GQ_CY",
         REF_SECTOR == "S1M") %>%
  mutate(Ref_area = ifelse(REF_AREA == "I8", "Europe", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(value = value/100) %>%
  filter(date >=as.Date("2013-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("") + theme_minimal() + scale_color_identity() + add_3flags +
  scale_x_date(breaks = "1 year",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
                labels = percent_format(accuracy = 1))

Non-financial corporations

France, Italy, Germany

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  filter(REF_AREA %in% c("FR", "IT", "DE", "I8"),
         INSTR_ASSET == "DETT",
         UNIT_MEASURE == "XDC_R_B1GQ_CY",
         REF_SECTOR == "S11") %>%
  mutate(Ref_area = ifelse(REF_AREA == "I8", "Europe", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  mutate(value = value/100) %>%
  ggplot + geom_line(aes(x = date, y = value, color = color)) + 
  xlab("") + ylab("") + theme_minimal() + scale_color_identity() + add_4flags +
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
                labels = dollar_format(accuracy = .01, pre = "", su = " année"))

Taux d’endettement

France

Années de PIB
Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.Q.S.FR.W0.S1M.S1.N.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.S.FR.W0.S11.S1.C.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.N.FR.W0.S13.S1.C.L.LE.GD.T._Z.XDC_R_B1GQ_CY._T.F.V.N._T")) %>%
  mutate(Variable = gsub(", en % du PIB", "", Variable),
         Variable = gsub(" en % du PIB", "", Variable)) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) + 
  xlab("") + ylab("Dette/PIB (en années de PIB)") + theme_minimal() +
  
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1.3, 0.1),
                     labels = dollar_format(su = " ans", p = "", acc = 0.1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

% du PIB
Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.Q.S.FR.W0.S1M.S1.N.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.S.FR.W0.S11.S1.C.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.N.FR.W0.S13.S1.C.L.LE.GD.T._Z.XDC_R_B1GQ_CY._T.F.V.N._T")) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 140, 5),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

Allemagne

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.Q.N.DE.W0.S1M.S1.N.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.N.DE.W0.S11.S1.C.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.N.DE.W0.S13.S1.C.L.LE.GD.T._Z.XDC_R_B1GQ_CY._T.F.V.N._T")) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 140, 5),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

Italie

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.Q.N.IT.W0.S1M.S1.N.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.N.IT.W0.S11.S1.C.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.N.IT.W0.S13.S1.C.L.LE.GD.T._Z.XDC_R_B1GQ_CY._T.F.V.N._T")) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 400, 10),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

Espagne

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.Q.N.ES.W0.S1M.S1.N.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.N.ES.W0.S11.S1.C.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.N.ES.W0.S13.S1.C.L.LE.GD.T._Z.XDC_R_B1GQ_CY._T.F.V.N._T")) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 400, 10),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.2, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")

Zone Euro

Code
CFT %>%
  left_join(CFT_var, by = "variable") %>%
  filter(variable %in% c("CFT.Q.N.I8.W0.S1M.S1.N.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.N.I8.W0.S11.S1.C.L.LE.DETT.T._Z.XDC_R_B1GQ_CY._T.S.V.N._T",
                         "CFT.Q.N.I8.W0.S13.S1.C.L.LE.GD.T._Z.XDC_R_B1GQ_CY._T.F.V.N._T")) %>%
  ggplot + geom_line(aes(x = date, y = value/100, color = Variable)) + 
  xlab("") + ylab("") + theme_minimal() +
  
  scale_x_date(breaks = "2 years",
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-10, 140, 5),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.3, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical")