source | dataset | .html | .RData |
---|---|---|---|
bdf | BPM6 | 2025-03-09 | 2025-04-08 |
eurostat | bop_iip6_q | 2025-02-01 | 2024-10-08 |
Balance des paiements - 6ème manuel
Data - BDF
Info
LAST_COMPILE
LAST_COMPILE |
---|
2025-04-08 |
Last
date | Nobs |
---|---|
2025-02-28 | 221 |
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 | 60850 |
M | Mensuel | 32266 |
A | Annuel | 20799 |
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 | 107929 |
S | CVS | 5986 |
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 | 113915 |
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_conditional
REF_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 | 84695 |
S13 | Administrations publiques | 5768 |
S12T | IFM autres que la Banque Centrale | 5603 |
S121 | Banque Centrale | 4714 |
S12M | Sociétés financières autres que les IFM | 3216 |
S1P | Autres secteurs que les IFM et les administrations publiques | 2934 |
S1V | Sociétés non-financières, ménages et NPISH | 2916 |
S1W | Secteurs hors administrations publiques | 2512 |
S122 | Etablissements de crédits | 624 |
S1Z | Agents non financiers | 624 |
S12K | Institutions financières monétaires | 198 |
S1311 | de l`Etat | 111 |
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 | 112838 |
S1N | Non sectorisé | 384 |
_Z | Non applicable | 210 |
S12T | IFM autres que la Banque Centrale | 192 |
S12K | Institutions financières monétaires | 99 |
S1Q | Autres secteurs que les IFM | 99 |
S1311 | de l`Etat | 93 |
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 | 86927 |
LE | Stocks | 26696 |
T3M | moyenne mobile sur 3 mois | 292 |
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 | 23956 |
C | Crédit (recettes) | 20399 |
B | Balance (Crédit moins débit) | 18485 |
D | Débit (dépenses) | 18464 |
L | Engagements | 16853 |
N | Net (avoirs moins engagements) | 15699 |
NE | Engagements Nets (engagements moins avoirs) | 59 |
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_conditional
FUNCTIONAL_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 | 45353 |
O | Autres investissements | 22243 |
P | Investissements de portefeuille | 21320 |
D | Investissements directs | 16410 |
_T | Toutes catégories fonctionnelles confondues | 4323 |
R | Avoirs de réserves | 2172 |
F | Dérivés financiers (autres que les réserves) et options sur titres des salariés | 1356 |
TXD | Toutes catégories fonctionnelles hors investissements directs | 594 |
D1 | Investisseur direct par rapport aux entreprises investies | 48 |
D2 | Entreprises investies par rapport à l`investisseur direct | 48 |
D3 | Investissement direct entre les sociétés soeurs | 48 |
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 | 45386 |
F | Total | 23558 |
F3 | Instruments de dette | 9902 |
F4 | Crédits | 5551 |
F2 | Monnaie et dépôts | 4938 |
F5 | Actions et parts de fonds de placement | 4684 |
FL | Instruments de dette (IDE) | 3806 |
F51 | d`actions et titres d`OPC | 3625 |
F52 | d`actions et OPC | 2305 |
F81 | Crédits commerciaux et avances | 2224 |
F7 | Dérivés financiers (autres que les réserves) et options sur titres des salariés | 1356 |
F12 | Droits de Tirage spéciaux (DTS) | 1017 |
FLA | Instruments de dette autre que assurance, pension et plans d`épargnes standardisés | 864 |
FGED | Dette extérieure brute | 840 |
F89 | Autres comptes debiteur /créditeur à l`exception des crédits commerciaux et avances | 790 |
F5A | Actions et parts de fonds de placement autres que réinvestissements des bénéfices | 659 |
F5B | Actions et parts de fonds de placement, réinvestissement des bénéfices | 648 |
F519 | des autres participations | 383 |
F6 | Assurance, retraites et régimes de garanties standard (F6) | 343 |
F11 | Or monétaire | 306 |
FK | Position de réserve au FMI | 264 |
FR2 | Autres avoirs de réserves (devises, dépôts, titres, produits financiers dérivés et autres créances) | 264 |
FNED | Dette extérieure nette | 70 |
F511 | d`actions cotées | 66 |
F512 | d`actions non cotées | 66 |
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 | 82510 |
T | Toutes maturités d`origine | 16980 |
S | Maturité d`origine à court terme (inférieure à 1 an) | 7702 |
L | Maturité d`origine à long terme (supérieure à un an ou pas de maturité) | 6723 |
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 | 113882 |
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 | 109368 |
EUR | Euro | 1297 |
XO | Toutes devises sauf Euro | 1081 |
X1 | Toutes monnaies sauf monnaie nationale | 576 |
XDR | Droit de Tirage Special (D.T.S.) (=3.61 Xfo) | 528 |
XAU | Or Monetaire | 306 |
GBP | Livre Sterling | 198 |
JPY | Yen | 198 |
USD | Dollar des Etats-Unis | 198 |
CNY | Yuan Ren Min Bi | 165 |
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 | 77248 |
M | Valeur de marché | 19184 |
N | Valeur nominale (N) | 10176 |
V | Valeur comptable | 5951 |
T | Net marked to market value | 1356 |
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 | 111261 |
P | Méthodologie de compilation appliquée au principe directionnel étendu | 2654 |
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" |
== "BPM6.M.S.FR.W1.S1.S1.T.B.CA._Z._Z._Z.EUR._T._X.N.ALL") %>%
variable 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)) %>%
+ geom_line(aes(x = date, y = value/1000, color = Int_acc_item)) +
ggplot 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" |
== "BPM6.M.S.FR.W1.S1.S1.T.B.CA._Z._Z._Z.EUR._T._X.N.ALL") %>%
variable 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) %>%
+ geom_line(aes(x = date, y = value/1000, color = Int_acc_item)) +
ggplot 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" |
== "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") %>%
variable 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 + geom_line(aes(x = date, y = value, color = Accounting_entry)) +
ggplot 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" |
== "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") %>%
variable 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 + geom_line(aes(x = date, y = value, color = Accounting_entry)) +
ggplot 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" |
== "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") %>%
variable 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 + geom_line(aes(x = date, y = value, color = Accounting_entry)) +
ggplot 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" |
== "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",
variable >= as.Date("2017-01-01")) %>%
date left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
arrange(desc(date)) %>%
+ geom_line(aes(x = date, y = value, color = Accounting_entry)) +
ggplot 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" |
== "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") %>%
variable left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
left_join(gdp, by = "date") %>%
+ geom_line(aes(x = date, y = value /gdp / 1000, color = Int_acc_item)) +
ggplot
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") %>%
+ geom_line(aes(x = date, y = value/gdp, color = Int_acc_item)) +
ggplot
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" |
== "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") %>%
variable left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
ggplot
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" |
== "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") %>%
variable 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 + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
ggplot
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
== "BPM6.M.S.FR.W1.S1.S1.T.B.SXD._Z._Z._Z.EUR._T._X.N.ALL" |
variable # Services - Transport
== "BPM6.M.S.FR.W1.S1.S1.T.B.SC._Z._Z._Z.EUR._T._X.N.ALL" |
variable # Services, Voyages
== "BPM6.M.N.FR.W1.S1.S1.T.D.SD._Z._Z._Z.EUR._T._X.N.ALL") %>%
variable 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 + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
ggplot
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" |
== "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") %>%
variable 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 + geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
ggplot
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") %>%
+ geom_line(aes(x = date, y = value/gdp / 1000, color = Int_acc_item)) +
ggplot
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") %>%
+ geom_line(aes(x = date, y = value/gdp / 1000, color = Int_acc_item)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
left_join(gdp, by = "date") %>%
+ geom_line(aes(x = date, y = value / gdp / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "BPM6.Q.N.FR.W1.S1.S1.T.N.FA.P.F._Z.EUR._T.M.N.ALL") %>%
variable left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Variable)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(ACCOUNTING_ENTRY, by = "ACCOUNTING_ENTRY") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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" |
== "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") %>%
variable left_join(FUNCTIONAL_CAT, by = "FUNCTIONAL_CAT") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Functional_cat)) +
ggplot
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") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Functional_cat)) +
ggplot
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") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Accounting_entry)) +
ggplot
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") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Functional_cat)) +
ggplot
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",
%in% c("G", "S", "G1X"),
INT_ACC_ITEM == "S",
ADJUSTMENT == "S1",
REF_SECTOR == "S1",
COUNTERPART_SECTOR == "T",
FLOW_STOCK_ENTRY == "B") %>%
ACCOUNTING_ENTRY left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
ggplot
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"),
== "M",
FREQ == "S",
ADJUSTMENT == "W1",
COUNTERPART_AREA == "S1",
REF_SECTOR == "S1",
COUNTERPART_SECTOR == "T",
FLOW_STOCK_ENTRY == "B",
ACCOUNTING_ENTRY %in% c("G", "S")) %>%
INT_ACC_ITEM left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
ggplot
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"),
== "M",
FREQ == "S",
ADJUSTMENT == "S1",
REF_SECTOR == "S1",
COUNTERPART_SECTOR == "T",
FLOW_STOCK_ENTRY == "B") %>%
ACCOUNTING_ENTRY 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",
== "DE",
COUNTERPART_AREA == "B",
ACCOUNTING_ENTRY %in% c("G", "S")) %>%
INT_ACC_ITEM left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
ggplot
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",
%in% c("DE", "CN"),
COUNTERPART_AREA == "B",
ACCOUNTING_ENTRY %in% c("G")) %>%
INT_ACC_ITEM left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
left_join(colors, by = c("Counterpart_area" = "country")) %>%
mutate(value = value / 1000) %>%
rename(Ref_area = Counterpart_area) %>%
+ geom_line(aes(x = date, y = value, color = color)) +
ggplot 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",
%in% c("DE", "CN"),
COUNTERPART_AREA == "B",
ACCOUNTING_ENTRY %in% c("S")) %>%
INT_ACC_ITEM left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
left_join(colors, by = c("Counterpart_area" = "country")) %>%
mutate(value = value / 1000) %>%
rename(Ref_area = Counterpart_area) %>%
+ geom_line(aes(x = date, y = value, color = color)) +
ggplot 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",
%in% c("DE", "CN"),
COUNTERPART_AREA == "B",
ACCOUNTING_ENTRY %in% c("S", "G")) %>%
INT_ACC_ITEM 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) %>%
+ geom_line(aes(x = date, y = value, color = color)) +
ggplot 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",
== "CN",
COUNTERPART_AREA == "B",
ACCOUNTING_ENTRY %in% c("G", "S")) %>%
INT_ACC_ITEM left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
ggplot
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",
%in% c("G", "S", "G1X"),
INT_ACC_ITEM == "CN",
COUNTERPART_AREA == "S1",
REF_SECTOR == "S1",
COUNTERPART_SECTOR == "T",
FLOW_STOCK_ENTRY == "B",
ACCOUNTING_ENTRY %in% c("G", "S")) %>%
INT_ACC_ITEM left_join(INT_ACC_ITEM, by = "INT_ACC_ITEM") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Int_acc_item)) +
ggplot
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"),
== "Q",
FREQ %in% c("G"),
INT_ACC_ITEM == "S1",
REF_SECTOR == "S1",
COUNTERPART_SECTOR == "T",
FLOW_STOCK_ENTRY == "B") %>%
ACCOUNTING_ENTRY select(COUNTERPART_AREA, Variable, value) %>%
print_table_conditional
COUNTERPART_AREA | Variable | value |
---|---|---|
B5 | Transactions courantes - Biens - Ensemble de l'économie - Solde - France vis-à-vis Union Européenne - Brut | -7126 |
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"),
== "Q",
FREQ %in% c("G"),
INT_ACC_ITEM == "S1",
REF_SECTOR %in% c("W1", "I8", "J8"),
COUNTERPART_AREA == "S1",
COUNTERPART_SECTOR == "T",
FLOW_STOCK_ENTRY == "B") %>%
ACCOUNTING_ENTRY left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Counterpart_area)) +
ggplot
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"),
== "Q",
FREQ %in% c("G"),
INT_ACC_ITEM == "S1",
REF_SECTOR %in% c("W1", "I8", "J8"),
COUNTERPART_AREA == "S1",
COUNTERPART_SECTOR == "T",
FLOW_STOCK_ENTRY == "B") %>%
ACCOUNTING_ENTRY left_join(COUNTERPART_AREA, by = "COUNTERPART_AREA") %>%
+ geom_line(aes(x = date, y = value / 1000, color = Counterpart_area)) +
ggplot
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")) %>%
+ geom_line(aes(x = date, y = value/100, color = Variable)) +
ggplot 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")