| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| bdf | BPM6 | Balance des paiements - 6ème manuel | 2026-02-23 | 2026-01-11 |
| eurostat | bop_iip6_q | International investment position - quarterly and annual data (BPM6) | 2026-02-24 | 2026-01-28 |
Balance des paiements - 6ème manuel
Data - BDF
Info
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-02-26 |
Last
| date | Nobs |
|---|---|
| 2025-11-30 | 218 |
Data Structure
Code
BPM6_metadata %>%
select(key, name) %>%
unique %>%
print_table_conditional()| key | name |
|---|---|
| FREQ | Frequency |
| ADJUSTMENT | Adjustment |
| REF_AREA | Reference area - ISO2 |
| COUNTERPART_AREA | Counterpart area |
| REF_SECTOR | Reference sector |
| COUNTERPART_SECTOR | Counterpart sector |
| FLOW_STOCK_ENTRY | Flows and stocks indicator |
| ACCOUNTING_ENTRY | Accounting entries |
| INT_ACC_ITEM | International accounts item |
| FUNCTIONAL_CAT | Functional category |
| INSTR_ASSET | Instrument and assets classification |
| MATURITY | Maturity |
| UNIT_MEASURE | Unit of measure |
| CURRENCY_DENOM | Currency denominator |
| VALUATION | Valuation |
| COMP_METHOD | Compiliation methodology |
| TYPE_ENTITY | Structural and locational characteristics of the statistical unit |
Balance des Paiements de la France
Novembre 2024
Octobre 2024
Solde des transactions courantes
Code
ig_b("bdf", "FR_Stat_Info_Balance_des_paiements_de_la_France_202410", "balance-courante")
Solde des opérations financières
Code
ig_b("bdf", "FR_Stat_Info_Balance_des_paiements_de_la_France_202410", "solde-des-operations-financieres")
Janvier 2024
Compte Courant
Table
Code
ig_b("bdf", "BDP_FRA_2284_fr__BDP_Stat_Info_janvier_2024_FR", "table1")
Figure
Code
ig_b("bdf", "BDP_FRA_2284_fr__BDP_Stat_Info_janvier_2024_FR", "figure1")
Compte Financier
Table
Code
ig_b("bdf", "BDP_FRA_2284_fr__BDP_Stat_Info_janvier_2024_FR", "table2")
Figure
Code
ig_b("bdf", "BDP_FRA_2284_fr__BDP_Stat_Info_janvier_2024_FR", "figure2")
Novembre 2021
Code
ig_b("bdf", "bdp_fra_2241_fr_bdp_stat_info_septembre_2021_fr", "comptes")
Mai 2020
Code
ig_b("bdf", "BPM6-2021-07")
Novembre 2020
Code
ig_b("bdf", "BPM6-2020-11-compte")
FREQ Frequency
Code
BPM6 %>%
left_join(BPM6_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 | 63103 |
| M | Mensuel | 33790 |
| A | Annuel | 22341 |
ADJUSTMENT Adjustment
Code
BPM6 %>%
left_join(BPM6_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 | 112879 |
| S | CVS | 6355 |
REF_AREA Reference area - ISO2
Code
BPM6 %>%
left_join(BPM6_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 | 119234 |
COUNTERPART_AREA Counterpart area
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
group_by(COUNTERPART_AREA, Counterpart_area) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditionalREF_SECTOR Reference sector
Code
BPM6 %>%
left_join(BPM6_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 |
|---|---|---|
| S1 | Ensemble de l`économie | 88118 |
| S13 | Administrations publiques | 6150 |
| S12T | IFM autres que la Banque Centrale | 5965 |
| S121 | Banque Centrale | 5013 |
| S12M | Sociétés financières autres que les IFM | 3417 |
| S1P | Autres secteurs que les IFM et les administrations publiques | 3138 |
| S1V | Sociétés non-financières, ménages et NPISH | 3102 |
| S1W | Secteurs hors administrations publiques | 2672 |
| S122 | Etablissements de crédits | 663 |
| S1Z | Agents non financiers | 663 |
| S12K | Institutions financières monétaires | 216 |
| S1311 | de l`Etat | 117 |
COUNTERPART_SECTOR Counterpart sector
Code
BPM6 %>%
left_join(BPM6_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 | 118096 |
| S1N | Non sectorisé | 401 |
| _Z | Non applicable | 221 |
| S12T | IFM autres que la Banque Centrale | 204 |
| S12K | Institutions financières monétaires | 108 |
| S1Q | Autres secteurs que les IFM | 108 |
| S1311 | de l`Etat | 96 |
FLOW_STOCK_ENTRY Flows and stocks indicator
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
left_join(FLOW_STOCK_ENTRY, by = "FLOW_STOCK_ENTRY") %>%
group_by(FLOW_STOCK_ENTRY, Flow_stock_entry) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional| FLOW_STOCK_ENTRY | Flow_stock_entry | Nobs |
|---|---|---|
| T | Flux | 90589 |
| LE | Stocks | 28335 |
| T3M | moyenne mobile sur 3 mois | 310 |
ACCOUNTING_ENTRY Accounting entries
Code
BPM6 %>%
left_join(BPM6_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 | 25148 |
| C | Crédit (recettes) | 21117 |
| B | Balance (Crédit moins débit) | 19258 |
| D | Débit (dépenses) | 19246 |
| L | Engagements | 17847 |
| N | Net (avoirs moins engagements) | 16555 |
| NE | Engagements Nets (engagements moins avoirs) | 63 |
INT_ACC_ITEM International accounts item
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
group_by(INT_ACC_ITEM, Int_acc_item) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditionalFUNCTIONAL_CAT Functional category
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
left_join(FUNCTIONAL_CAT, by = "FUNCTIONAL_CAT") %>%
group_by(FUNCTIONAL_CAT, Functional_cat) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional| FUNCTIONAL_CAT | Functional_cat | Nobs |
|---|---|---|
| _Z | Non applicable | 46968 |
| O | Autres investissements | 23474 |
| P | Investissements de portefeuille | 22428 |
| D | Investissements directs | 17222 |
| _T | Toutes catégories fonctionnelles confondues | 4586 |
| R | Avoirs de réserves | 2309 |
| F | Dérivés financiers (autres que les réserves) et options sur titres des salariés | 1446 |
| TXD | Toutes catégories fonctionnelles hors investissements directs | 648 |
| D1 | Investisseur direct par rapport aux entreprises investies | 51 |
| D2 | Entreprises investies par rapport à l`investisseur direct | 51 |
| D3 | Investissement direct entre les sociétés soeurs | 51 |
INSTR_ASSET Instrument and assets classification
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
left_join(INSTR_ASSET, by = "INSTR_ASSET") %>%
group_by(INSTR_ASSET, Instr_asset) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional| INSTR_ASSET | Instr_asset | Nobs |
|---|---|---|
| _Z | Non applicable | 47004 |
| F | Total | 24762 |
| F3 | Instruments de dette | 10405 |
| F4 | Crédits | 5872 |
| F2 | Monnaie et dépôts | 5214 |
| F5 | Actions et parts de fonds de placement | 4913 |
| FL | Instruments de dette (IDE) | 4000 |
| F51 | d`actions et titres d`OPC | 3813 |
| F52 | d`actions et OPC | 2445 |
| F81 | Crédits commerciaux et avances | 2338 |
| F7 | Dérivés financiers (autres que les réserves) et options sur titres des salariés | 1446 |
| F12 | Droits de Tirage spéciaux (DTS) | 1077 |
| FLA | Instruments de dette autre que assurance, pension et plans d`épargnes standardisés | 918 |
| FGED | Dette extérieure brute | 915 |
| F89 | Autres comptes debiteur /créditeur à l`exception des crédits commerciaux et avances | 840 |
| F5A | Actions et parts de fonds de placement autres que réinvestissements des bénéfices | 702 |
| F5B | Actions et parts de fonds de placement, réinvestissement des bénéfices | 690 |
| F519 | des autres participations | 411 |
| F6 | Assurance, retraites et régimes de garanties standard (F6) | 366 |
| F11 | Or monétaire | 323 |
| FK | Position de réserve au FMI | 281 |
| FR2 | Autres avoirs de réserves (devises, dépôts, titres, produits financiers dérivés et autres créances) | 281 |
| FNED | Dette extérieure nette | 74 |
| F511 | d`actions cotées | 72 |
| F512 | d`actions non cotées | 72 |
MATURITY Maturity
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
left_join(MATURITY, by = "MATURITY") %>%
group_by(MATURITY, Maturity) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional| MATURITY | Maturity | Nobs |
|---|---|---|
| _Z | Non applicable | 86079 |
| T | Toutes maturités d`origine | 17932 |
| S | Maturité d`origine à court terme (inférieure à 1 an) | 8129 |
| L | Maturité d`origine à long terme (supérieure à un an ou pas de maturité) | 7094 |
UNIT_MEASURE Unit of measure
Code
BPM6 %>%
left_join(BPM6_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 |
|---|---|---|
| EUR | Euro | 119201 |
| PCPIB | pourcentage du PIB | 33 |
CURRENCY_DENOM Currency denominator
Code
BPM6 %>%
left_join(BPM6_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 | 114387 |
| EUR | Euro | 1379 |
| XO | Toutes devises sauf Euro | 1142 |
| X1 | Toutes monnaies sauf monnaie nationale | 613 |
| XDR | Droit de Tirage Special (D.T.S.) (=3.61 Xfo) | 562 |
| XAU | Or Monetaire | 323 |
| GBP | Livre Sterling | 216 |
| JPY | Yen | 216 |
| USD | Dollar des Etats-Unis | 216 |
| CNY | Yuan Ren Min Bi | 180 |
VALUATION Valuation
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
left_join(VALUATION, by = "VALUATION") %>%
group_by(VALUATION, Valuation) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional| VALUATION | Valuation | Nobs |
|---|---|---|
| _X | Tous types de valorisation | 80637 |
| M | Valeur de marché | 20190 |
| N | Valeur nominale (N) | 10743 |
| V | Valeur comptable | 6218 |
| T | Net marked to market value | 1446 |
COMP_METHOD Compiliation methodology
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
left_join(COMP_METHOD, by = "COMP_METHOD") %>%
group_by(COMP_METHOD, Comp_method) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
print_table_conditional| COMP_METHOD | Comp_method | Nobs |
|---|---|---|
| N | Méthodologie d`agrégation conforme aux règles nationales | 116362 |
| P | Méthodologie de compilation appliquée au principe directionnel étendu | 2872 |
Compte financier vs compte courant, Différence
Compte financier et compte courant
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.M.N.FR.W1.S1.S1.T.N.FA._T.F._Z.EUR._T.V.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.CA._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
group_by(Accounting_entry) %>%
arrange(date) %>%
mutate(value = zoo::rollsum(x = value, 12, align = "right", fill = NA)) %>%
na.omit %>%
mutate(Int_acc_item = ifelse(Int_acc_item == "Transactions courantes", "Compte de transactions courantes", Int_acc_item)) %>%
ggplot + geom_line(aes(x = date, y = value/1000, color = Int_acc_item)) +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
scale_y_continuous(labels = dollar_format(pre = "", su = " Md€"),
breaks = seq(-300000, 300000, 10000)/1000) +
theme_minimal() + xlab("") + ylab("Cumul sur 12 mois") +
theme(legend.position = c(0.2, 0.3),
legend.title = element_blank(),
legend.direction = "vertical") +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = value/1000, label = paste0(round(value/1000, 1)), color = Int_acc_item)) +
geom_hline(yintercept = 0, linetype = "dashed")
Différence
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.M.N.FR.W1.S1.S1.T.N.FA._T.F._Z.EUR._T.V.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.CA._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
group_by(Accounting_entry) %>%
arrange(date) %>%
mutate(value = zoo::rollsum(x = value, 12, align = "right", fill = NA)) %>%
ungroup %>%
select(date, value, Int_acc_item) %>%
na.omit %>%
spread(Int_acc_item, value) %>%
mutate(`Différence` = `Compte financier` - `Transactions courantes`) %>%
gather(Int_acc_item, value, -date) %>%
ggplot + geom_line(aes(x = date, y = value/1000, color = Int_acc_item)) +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
scale_y_continuous(labels = dollar_format(pre = ""),
breaks = seq(-300000, 300000, 10000)/1000) +
theme_minimal() + xlab("") + ylab("") +
theme(legend.position = c(0.2, 0.3),
legend.title = element_blank(),
legend.direction = "vertical") +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = value/1000, label = round(value/1000, 1), color = Int_acc_item))
Investissement direct étranger
Flux
All
Monthly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.M.N.FR.W1.S1.S1.T.A.FA.D.F._Z.EUR._T.V.N.ALL" |
variable == "BPM6.M.N.FR.W1.S1.S1.T.L.FA.D.F._Z.EUR._T.V.N.ALL" |
variable == "BPM6.M.N.FR.W1.S1.S1.T.N.FA.D.F._Z.EUR._T.V.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
group_by(Accounting_entry) %>%
arrange(date) %>%
mutate(value = zoo::rollsum(x = value, 36, align = "right", fill = NA)/3) %>%
na.omit %>%
ggplot + geom_line(aes(x = date, y = value, color = Accounting_entry)) +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
scale_y_continuous(labels = dollar_format(pre = ""),
breaks = seq(-10000, 300000, 5000)) +
theme_minimal() + xlab("") + ylab("") +
theme(legend.position = c(0.2, 0.8),
legend.title = element_blank(),
legend.direction = "vertical")
Quarterly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.Q.N.FR.W1.S1.S1.T.A.FA.D.F._Z.EUR._T.V.N.ALL" |
variable == "BPM6.Q.N.FR.W1.S1.S1.T.L.FA.D.F._Z.EUR._T.V.N.ALL" |
variable == "BPM6.Q.N.FR.W1.S1.S1.T.N.FA.D.F._Z.EUR._T.V.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
group_by(Accounting_entry) %>%
arrange(date) %>%
mutate(value = zoo::rollsum(x = value, 12, align = "right", fill = NA)/3) %>%
na.omit %>%
ggplot + geom_line(aes(x = date, y = value, color = Accounting_entry)) +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
scale_y_continuous(labels = dollar_format(pre = ""),
breaks = seq(-10000, 300000, 5000)) +
theme_minimal() + xlab("") + ylab("") +
theme(legend.position = c(0.2, 0.8),
legend.title = element_blank(),
legend.direction = "vertical")
Annual
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.A.FA.D.F._Z.EUR._T.V.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.L.FA.D.F._Z.EUR._T.V.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.N.FA.D.F._Z.EUR._T.V.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
group_by(Accounting_entry) %>%
arrange(date) %>%
mutate(value = zoo::rollsum(x = value, 4, align = "right", fill = NA)/4) %>%
na.omit %>%
ggplot + geom_line(aes(x = date, y = value, color = Accounting_entry)) +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
scale_y_continuous(labels = dollar_format(pre = ""),
breaks = seq(-10000, 300000, 5000)) +
theme_minimal() + xlab("") + ylab("") +
theme(legend.position = c(0.2, 0.8),
legend.title = element_blank(),
legend.direction = "vertical")
2017
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.M.N.FR.W1.S1.S1.T.A.FA.D.F._Z.EUR._T.V.N.ALL" |
variable == "BPM6.M.N.FR.W1.S1.S1.T.L.FA.D.F._Z.EUR._T.V.N.ALL" |
variable == "BPM6.M.N.FR.W1.S1.S1.T.N.FA.D.F._Z.EUR._T.V.N.ALL",
date >= as.Date("2017-01-01")) %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
arrange(desc(date)) %>%
ggplot + geom_line(aes(x = date, y = value, color = Accounting_entry)) +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme_minimal() + xlab("") + ylab("") +
theme(legend.position = c(0.2, 0.2),
legend.title = element_blank(),
legend.direction = "vertical")
Compte de transactions courantes
Biens, Services, Biens & Services
Annual
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.B.G._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.GS._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.S._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.CA._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(gdp, by = "date") %>%
ggplot + geom_line(aes(x = date, y = value /gdp / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "2 years",
labels = date_format("%Y")) +
theme(legend.position = c(0.2, 0.2),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Biens, Services, Biens et Services (Net)") +
scale_y_continuous(breaks = 0.01*seq(-200, 200, 1),
labels = percent_format(accuracy = 1))
Quarterly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable %in%c("BPM6.Q.N.FR.W1.S1.S1.T.B.GS._Z._Z._Z.EUR._T._X.N.ALL",
"BPM6.Q.N.FR.W1.S1.S1.T.B.G._Z._Z._Z.EUR._T._X.N.ALL",
"BPM6.Q.N.FR.W1.S1.S1.T.B.S._Z._Z._Z.EUR._T._X.N.ALL",
"BPM6.Q.N.FR.W1.S1.S1.T.B.CA._Z._Z._Z.EUR._T._X.N.ALL")) %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(gdp_quarterly, by = "date") %>%
ggplot + geom_line(aes(x = date, y = value/gdp, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "2 years",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.2),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Balance") +
scale_y_continuous(breaks = 0.01*seq(-200, 200, 1),
labels = percent_format(accuracy = 1))
Monthly
Par mois
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.M.S.FR.W1.S1.S1.T.B.GS._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.G._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.S._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.CA._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Par mois") +
scale_y_continuous(breaks = seq(-200, 200, 2),
labels = dollar_format(suffix = " Md€", accuracy = 1, prefix = ""))
Cumul sur 12 mois
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.M.S.FR.W1.S1.S1.T.B.GS._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.G._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.S._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.CA._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
group_by(Int_acc_item) %>%
arrange(desc(date)) %>%
mutate(value = zoo::rollsum(value, 12, align = "left", fill = NA)) %>%
na.omit %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.2),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Cumul sur 12 mois") +
scale_y_continuous(breaks = seq(-200, 200, 10),
labels = dollar_format(suffix = " Md€", accuracy = 1, prefix = "")) +
geom_hline(yintercept = 0, linetype = "dashed") +
geom_label_repel(data = . %>% filter(date == max(date)),
aes(x = date, y = value/1000, color = Int_acc_item, label = round(value/1000, digits = 1)))
Balance des services
BPM6.M.S.FR.W1.S1.S1.T.B.S._Z._Z._Z.EUR._T._X.N.ALL (Services) BPM6.M.S.FR.W1.S1.S1.T.B.SXD._Z._Z._Z.EUR._T._X.N.ALL (Services hors voyages) BPM6.M.S.FR.W1.S1.S1.T.B.SC._Z._Z._Z.EUR._T._X.N.ALL (Services - Transport) BPM6.M.N.FR.W1.S1.S1.T.D.SD._Z._Z._Z.EUR._T._X.N.ALL (Services, Voyages)
Cumul sur 12 mois
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
# Services
filter(variable == "BPM6.M.S.FR.W1.S1.S1.T.B.S._Z._Z._Z.EUR._T._X.N.ALL" |
# Services hors voyages
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.SXD._Z._Z._Z.EUR._T._X.N.ALL" |
# Services - Transport
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.SC._Z._Z._Z.EUR._T._X.N.ALL" |
# Services, Voyages
variable == "BPM6.M.N.FR.W1.S1.S1.T.D.SD._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
group_by(Int_acc_item) %>%
arrange(desc(date)) %>%
mutate(value = zoo::rollsum(value, 12, align = "left", fill = NA)) %>%
na.omit %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.8),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Cumul sur 12 mois") +
scale_y_continuous(breaks = seq(-200, 200, 10),
labels = dollar_format(suffix = " Md€", accuracy = 1, prefix = "")) +
geom_hline(yintercept = 0, linetype = "dashed") +
geom_label_repel(data = . %>% filter(date == max(date)),
aes(x = date, y = value/1000, color = Int_acc_item, label = round(value/1000, digits = 1)))
Cumul sur 12 mois
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
# Services
filter(variable == "BPM6.M.S.FR.W1.S1.S1.T.B.S._Z._Z._Z.EUR._T._X.N.ALL" |
# Services hors voyages
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.SXD._Z._Z._Z.EUR._T._X.N.ALL" |
# Services, Voyages
variable == "BPM6.M.N.FR.W1.S1.S1.T.B.SD._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
group_by(Int_acc_item) %>%
arrange(desc(date)) %>%
mutate(value = zoo::rollsum(value, 12, align = "left", fill = NA)) %>%
na.omit %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.8),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Cumul sur 12 mois") +
scale_y_continuous(breaks = seq(-200, 200, 10),
labels = dollar_format(suffix = " Md€", accuracy = 1, prefix = "")) +
geom_hline(yintercept = 0, linetype = "dashed") +
geom_label_repel(data = . %>% filter(date == max(date)),
aes(x = date, y = value/1000, color = Int_acc_item, label = round(value/1000, digits = 1)))
Balance des biens (Douanes vs. BPM6)
Cumul sur 12 mois
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.M.S.FR.W1.S1.S1.T.B.G1X._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.G._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.B.GX._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
group_by(Int_acc_item) %>%
arrange(desc(date)) %>%
mutate(value = zoo::rollsum(value, 12, align = "left", fill = NA)) %>%
na.omit %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.2),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Cumul sur 12 mois") +
scale_y_continuous(breaks = seq(-200, 200, 10),
labels = dollar_format(suffix = " Md€", accuracy = 1, prefix = "")) +
geom_hline(yintercept = 0, linetype = "dashed") +
geom_label_repel(data = . %>% filter(date == max(date)),
aes(x = date, y = value/1000, color = Int_acc_item, label = round(value/1000, digits = 1)))
Solde - Services, Transport, Voyage
Annual
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable %in% c("BPM6.A.N.FR.W1.S1.S1.T.B.S._Z._Z._Z.EUR._T._X.N.ALL",
"BPM6.A.N.FR.W1.S1.S1.T.B.SD._Z._Z._Z.EUR._T._X.N.ALL",
"BPM6.A.N.FR.W1.S1.S1.T.B.SC._Z._Z._Z.EUR._T._X.N.ALL",
"BPM6.A.N.FR.W1.S1.S1.T.B.SXCD._Z._Z._Z.EUR._T._X.N.ALL")) %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(gdp, by = "date") %>%
ggplot + geom_line(aes(x = date, y = value/gdp / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.85),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("Balance des Services (% du PIB)") +
scale_y_continuous(breaks = 0.01*seq(-200, 200, .2),
labels = percent_format(accuracy = .1),
limits = 0.01*c(-0.6, 2.2)) +
geom_hline(yintercept = 0, linetype = "dashed")
Quarterly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable %in% c("BPM6.Q.N.FR.W1.S1.S1.T.B.S._Z._Z._Z.EUR._T._X.N.ALL",
"BPM6.Q.N.FR.W1.S1.S1.T.B.SD._Z._Z._Z.EUR._T._X.N.ALL",
"BPM6.Q.N.FR.W1.S1.S1.T.B.SC._Z._Z._Z.EUR._T._X.N.ALL",
"BPM6.Q.N.FR.W1.S1.S1.T.B.SXCD._Z._Z._Z.EUR._T._X.N.ALL")) %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(gdp_quarterly, by = "date") %>%
ggplot + geom_line(aes(x = date, y = value/gdp / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("Services (Balance)") +
scale_y_continuous(breaks = 0.01*seq(-200, 200, .2),
labels = percent_format(accuracy = .1)) +
geom_hline(yintercept = 0, linetype = "dashed")
Biens
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.C.G._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.D.G._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.G._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
left_join(gdp, by = "date") %>%
ggplot + geom_line(aes(x = date, y = value / gdp / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("Biens") +
scale_y_continuous(breaks = 0.01*seq(-200, 200, 2),
labels = percent_format(accuracy = 1))
Services
Annual
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.C.S._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.D.S._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.S._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("Services de Voyage") +
scale_y_continuous(breaks = seq(-200, 2000, 20),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Quarterly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.Q.N.FR.W1.S1.S1.T.C.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.Q.N.FR.W1.S1.S1.T.D.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.Q.N.FR.W1.S1.S1.T.B.SD._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(-200, 200, 2),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
Monthly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.M.S.FR.W1.S1.S1.T.B.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.C.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.D.SD._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(-200, 200, 2),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
Services de Transport
Annual
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.C.SC._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.D.SC._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.SC._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("Services de Voyage") +
scale_y_continuous(breaks = seq(-200, 200, 5),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Quarterly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.Q.N.FR.W1.S1.S1.T.C.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.Q.N.FR.W1.S1.S1.T.D.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.Q.N.FR.W1.S1.S1.T.B.SD._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(-200, 200, 2),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
Monthly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.M.S.FR.W1.S1.S1.T.B.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.C.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.D.SD._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(-200, 200, 2),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
Services de Voyage
Annual
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.C.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.D.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.SD._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("Services de Voyage") +
scale_y_continuous(breaks = seq(-200, 200, 5),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Quarterly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.Q.N.FR.W1.S1.S1.T.C.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.Q.N.FR.W1.S1.S1.T.D.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.Q.N.FR.W1.S1.S1.T.B.SD._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(-200, 200, 2),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
Monthly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.M.S.FR.W1.S1.S1.T.B.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.C.SD._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.M.S.FR.W1.S1.S1.T.D.SD._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(-200, 200, 1),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
Investissements de portefeuille
Quarterly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.Q.N.FR.W1.S1.S1.T.A.FA.P.F._Z.EUR._T.M.N.ALL" |
variable == "BPM6.Q.N.FR.W1.S1.S1.T.N.FA.P.F._Z.EUR._T.M.N.ALL") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3,0.1),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(-200, 200, 20),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
Revenus Primaires
Tous
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.C.IN1._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.D.IN1._Z._Z._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.IN1._Z._Z._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "2 years",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("Revenus Primaires") +
scale_y_continuous(breaks = seq(-200, 1000, 20),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Portefeuille
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.C.D4P.P.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.D4P.P.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.D.D4P.P.F._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("Revenus de portefeuille") +
scale_y_continuous(breaks = seq(-200, 1000, 20),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Revenus des autres investissements
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.C.D4P.O.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.D.D4P.O.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.D4P.O.F._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("Revenus de portefeuille") +
scale_y_continuous(breaks = seq(-200, 1000, 10),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Revenus d’investissement
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.B.D4P._T.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.C.D4P._T.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.D.D4P._T.F._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("Revenus d'investissement") +
scale_y_continuous(breaks = seq(-200, 1000, 20),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Revenus des investissements directs
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.B.D4P.D.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.C.D4P.D.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.D.D4P.D.F._Z.EUR._T._X.N.ALL") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.2,0.9),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
xlab("") + ylab("Revenus des investissements directs") +
scale_y_continuous(breaks = seq(-200, 1000, 10),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Balance
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable == "BPM6.A.N.FR.W1.S1.S1.T.B.D4P.D.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.D4P._T.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.D4P.O.F._Z.EUR._T._X.N.ALL" |
variable == "BPM6.A.N.FR.W1.S1.S1.T.B.D4P.P.F._Z.EUR._T._X.N.ALL") %>%
left_join(FUNCTIONAL_CAT, by = "FUNCTIONAL_CAT") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Functional_cat)) +
theme_minimal() + xlab("") + ylab("Revenus primaires") +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_y_continuous(breaks = seq(-200, 1000, 10),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Balance
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(grepl("BPM6.A.N.FR.W1.S1.S1.T.B.D4P.", variable)) %>%
left_join(FUNCTIONAL_CAT, by = "FUNCTIONAL_CAT") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Functional_cat)) +
theme_minimal() + xlab("") + ylab("Revenus primaires") +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_y_continuous(breaks = seq(-200, 1000, 10),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Revenus Secondaires
Tous
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(grepl("BPM6.A.N.FR.W1.S1.S1.T.B.IN2.", variable) |
grepl("BPM6.A.N.FR.W1.S1.S1.T.C.IN2.", variable) |
grepl("BPM6.A.N.FR.W1.S1.S1.T.D.IN2.", variable)) %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
theme_minimal() + xlab("") + ylab("Revenus secondaires") +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_y_continuous(breaks = seq(-200, 1000, 10),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Balance
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(grepl("BPM6.A.N.FR.W1.S1.S1.T.B.IN2.", variable)) %>%
left_join(FUNCTIONAL_CAT, by = "FUNCTIONAL_CAT") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Functional_cat)) +
theme_minimal() + xlab("") + ylab("Revenus secondaires") +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_y_continuous(breaks = seq(-200, 1000, 2),
labels = dollar_format(suffix = " Mds €", accuracy = 1, prefix = ""))
Transactions Courantes
All
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(FREQ == "M",
INT_ACC_ITEM %in% c("G", "S", "G1X"),
ADJUSTMENT == "S",
REF_SECTOR == "S1",
COUNTERPART_SECTOR == "S1",
FLOW_STOCK_ENTRY == "T",
ACCOUNTING_ENTRY == "B") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3,0.1),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(-100, 10, 1),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
2018-
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(date >= as.Date("2018-01-01"),
FREQ == "M",
ADJUSTMENT == "S",
COUNTERPART_AREA == "W1",
REF_SECTOR == "S1",
COUNTERPART_SECTOR == "S1",
FLOW_STOCK_ENTRY == "T",
ACCOUNTING_ENTRY == "B",
INT_ACC_ITEM %in% c("G", "S")) %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "3 months",
labels = date_format("%b-%y")) +
theme(legend.position = c(0.3,0.1),
legend.title = element_blank(),
legend.direction = "vertical",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
scale_y_continuous(breaks = seq(-100, 10, 1),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
Table - Monthly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(date == as.Date("2018-01-01"),
FREQ == "M",
ADJUSTMENT == "S",
REF_SECTOR == "S1",
COUNTERPART_SECTOR == "S1",
FLOW_STOCK_ENTRY == "T",
ACCOUNTING_ENTRY == "B") %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(FUNCTIONAL_CAT, by = "FUNCTIONAL_CAT") %>%
select(Int_acc_item, Functional_cat, value) %>%
print_table_conditional| Int_acc_item | Functional_cat | value |
|---|---|---|
| NA | NA | NA |
| :------------: | :--------------: | :-----: |
France vis à vis de l’Allemagne
All
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(FREQ == "A",
COUNTERPART_AREA == "DE",
ACCOUNTING_ENTRY == "B",
INT_ACC_ITEM %in% c("G", "S")) %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3,0.1),
legend.title = element_blank(),
legend.direction = "vertical") +
scale_y_continuous(breaks = seq(-40, 10, 1),
labels = dollar_format(suffix = " Bn €", accuracy = 1, prefix = ""))
Biens
Code
load_data("bdf/COUNTERPART_AREA.RData")
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(FREQ == "A",
COUNTERPART_AREA %in% c("DE", "CN"),
ACCOUNTING_ENTRY == "B",
INT_ACC_ITEM %in% c("G")) %>%
left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
left_join(colors, by = c("Counterpart_area" = "country")) %>%
mutate(value = value / 1000) %>%
rename(Ref_area = Counterpart_area) %>%
ggplot + geom_line(aes(x = date, y = value, color = color)) +
scale_color_identity() + add_2flags +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3,0.1),
legend.title = element_blank(),
legend.direction = "vertical") +
scale_y_continuous(breaks = seq(-100, 10, 5),
labels = dollar_format(suffix = "Mds€", accuracy = 1, prefix = ""))
Services
Code
load_data("bdf/COUNTERPART_AREA.RData")
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(FREQ == "A",
COUNTERPART_AREA %in% c("DE", "CN"),
ACCOUNTING_ENTRY == "B",
INT_ACC_ITEM %in% c("S")) %>%
left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
left_join(colors, by = c("Counterpart_area" = "country")) %>%
mutate(value = value / 1000) %>%
rename(Ref_area = Counterpart_area) %>%
ggplot + geom_line(aes(x = date, y = value, color = color)) +
scale_color_identity() + add_2flags +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3,0.1),
legend.title = element_blank(),
legend.direction = "vertical") +
scale_y_continuous(breaks = seq(-40, 10, 1),
labels = dollar_format(suffix = "Mds€", accuracy = 1, prefix = ""))
Biens et Services
Code
load_data("bdf/COUNTERPART_AREA.RData")
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(FREQ == "A",
COUNTERPART_AREA %in% c("DE", "CN"),
ACCOUNTING_ENTRY == "B",
INT_ACC_ITEM %in% c("S", "G")) %>%
select_if(~ n_distinct(.) > 1) %>%
group_by(date, COUNTERPART_AREA) %>%
summarise(value = sum(value)) %>%
left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
left_join(colors, by = c("Counterpart_area" = "country")) %>%
mutate(value = value / 1000) %>%
rename(Ref_area = Counterpart_area) %>%
ggplot + geom_line(aes(x = date, y = value, color = color)) +
scale_color_identity() + add_2flags +
theme_minimal() + xlab("") + ylab("Déficit Bilatéral avec la France (Source: Banque de France)") +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3,0.1),
legend.title = element_blank(),
legend.direction = "vertical") +
scale_y_continuous(breaks = seq(-40, 10, 2),
labels = dollar_format(suffix = "Mds€", accuracy = 1, prefix = ""))
France vis à vis de la Chine
All
Quarterly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(FREQ == "A",
COUNTERPART_AREA == "CN",
ACCOUNTING_ENTRY == "B",
INT_ACC_ITEM %in% c("G", "S")) %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3,0.1),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(-100, 10, 5),
labels = dollar_format(suffix = " Mds€", accuracy = 1, prefix = ""))
Quarterly
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(FREQ == "A",
INT_ACC_ITEM %in% c("G", "S", "G1X"),
COUNTERPART_AREA == "CN",
REF_SECTOR == "S1",
COUNTERPART_SECTOR == "S1",
FLOW_STOCK_ENTRY == "T",
ACCOUNTING_ENTRY == "B",
INT_ACC_ITEM %in% c("G", "S")) %>%
left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
theme_minimal() +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.3, 0.1),
legend.title = element_blank(),
legend.direction = "vertical") +
xlab("") + ylab("") +
scale_y_continuous(breaks = seq(-50, 10, 5),
labels = dollar_format(suffix = " Mds€", accuracy = 1, prefix = ""))
Table
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(date == as.Date("2020-03-31"),
FREQ == "Q",
INT_ACC_ITEM %in% c("G"),
REF_SECTOR == "S1",
COUNTERPART_SECTOR == "S1",
FLOW_STOCK_ENTRY == "T",
ACCOUNTING_ENTRY == "B") %>%
select(COUNTERPART_AREA, Variable, value) %>%
print_table_conditional| COUNTERPART_AREA | Variable | value |
|---|---|---|
| B6 | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis de l'Union européenne (27 membres) - Trimestriel - Brut | -7510 |
| CH | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis Suisse - Brut | 798 |
| CN | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis Chine - Brut | -8069 |
| I8 | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis Zone Euro - Brut | -8908 |
| I9 | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis Zone Euro - Brut | -7142 |
| J8 | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis hors Zone Euro - Brut | -7378 |
| J9 | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis hors Zone Euro - Brut | -6778 |
| JP | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis Japon - Brut | -938 |
| Q6 | Transactions courantes - Biens - Ensemble de l'économie - Solde -France vis-à-vis de l'Union européenne à 28, hors zone euro à 18, à l?exclusion du Royaume-Uni, du Danemark et de la Suède - Brut | -416 |
| US | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis États Unis - Brut | 651 |
| W1 | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis Reste du monde - Brut | -13919 |
Goods
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(date >= as.Date("2016-12-31"),
FREQ == "Q",
INT_ACC_ITEM %in% c("G"),
REF_SECTOR == "S1",
COUNTERPART_AREA %in% c("W1", "I8", "J8"),
COUNTERPART_SECTOR == "S1",
FLOW_STOCK_ENTRY == "T",
ACCOUNTING_ENTRY == "B") %>%
left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Counterpart_area)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.6, 0.1),
legend.title = element_blank(),
legend.direction = "vertical") +
scale_y_continuous(breaks = seq(-30, 30, 2),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
2010
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(date >= as.Date("2010-12-31"),
FREQ == "Q",
INT_ACC_ITEM %in% c("G"),
REF_SECTOR == "S1",
COUNTERPART_AREA %in% c("W1", "I8", "J8"),
COUNTERPART_SECTOR == "S1",
FLOW_STOCK_ENTRY == "T",
ACCOUNTING_ENTRY == "B") %>%
left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
ggplot + geom_line(aes(x = date, y = value / 1000, color = Counterpart_area)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
theme(legend.position = c(0.6, 0.1),
legend.title = element_blank(),
legend.direction = "vertical") +
scale_y_continuous(breaks = seq(-30, 30, 2),
labels = dollar_format(suffix = " Tn €", accuracy = 1, prefix = ""))
Dette Exterieure Nette
Code
BPM6 %>%
left_join(BPM6_var, by = "variable") %>%
filter(variable %in% c("BPM6.A.N.FR.W1.S1.S1.LE.N.FA._T.FNED._Z.PCPIB._T._X.N.ALL",
"BPM6.A.N.FR.W1.S1.S1.LE.N.FA._T.F._Z.PCPIB._T._X.N.ALL")) %>%
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(-200, 140, 10),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.3, 0.9),
legend.title = element_blank(),
legend.direction = "vertical")