International investment position - quarterly and annual data (BPM6)

Data - Eurostat

Info

source dataset .html .RData
eurostat bop_iip6_q 2024-11-01 2024-10-08

Data on europe

source dataset .html .RData
eurostat bop_gdp6_q 2024-11-05 2024-10-09
eurostat nama_10_a10 2024-11-01 2024-10-08
eurostat nama_10_a10_e 2024-11-01 2024-11-05
eurostat nama_10_gdp 2024-11-01 2024-10-08
eurostat nama_10_lp_ulc 2024-11-01 2024-10-08
eurostat namq_10_a10 2024-11-01 2024-11-05
eurostat namq_10_a10_e 2024-11-01 2024-10-08
eurostat namq_10_gdp 2024-11-01 2024-10-08
eurostat namq_10_lp_ulc 2024-11-04 2024-11-04
eurostat namq_10_pc 2024-11-01 2024-10-08
eurostat nasa_10_nf_tr 2024-11-01 2024-10-08
eurostat nasq_10_nf_tr 2024-11-01 2024-10-09
eurostat tipsii40 2024-11-01 2024-11-01

Data on macro

source dataset .html .RData
eurostat nama_10_a10 2024-11-01 2024-10-08
eurostat nama_10_a10_e 2024-11-01 2024-11-05
eurostat nama_10_gdp 2024-11-01 2024-10-08
eurostat nama_10_lp_ulc 2024-11-01 2024-10-08
eurostat namq_10_a10 2024-11-01 2024-11-05
eurostat namq_10_a10_e 2024-11-01 2024-10-08
eurostat namq_10_gdp 2024-11-01 2024-10-08
eurostat namq_10_lp_ulc 2024-11-04 2024-11-04
eurostat namq_10_pc 2024-11-01 2024-10-08
eurostat nasa_10_nf_tr 2024-11-01 2024-10-08
eurostat nasq_10_nf_tr 2024-11-01 2024-10-09
fred gdp 2024-11-01 2024-11-01
oecd QNA 2024-06-06 2024-06-30
oecd SNA_TABLE1 2024-09-15 2024-06-30
oecd SNA_TABLE14A 2024-09-15 2024-06-30
oecd SNA_TABLE2 2024-07-01 2024-04-11
oecd SNA_TABLE6A 2024-07-01 2024-06-30
wdi NE.RSB.GNFS.ZS 2024-09-18 2024-09-18
wdi NY.GDP.MKTP.CD 2024-09-18 2024-09-26
wdi NY.GDP.MKTP.PP.CD 2024-09-18 2024-09-18
wdi NY.GDP.PCAP.CD 2024-10-15 2024-10-15
wdi NY.GDP.PCAP.KD 2024-09-18 2024-09-18
wdi NY.GDP.PCAP.PP.CD 2024-10-15 2024-10-15
wdi NY.GDP.PCAP.PP.KD 2024-09-18 2024-09-18

Last

Code
bop_iip6_q %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(3) %>%
  print_table_conditional()
time Nobs
2024Q2 423090
2024Q1 471741
2023Q4 479160

Info

Code
include_graphics("https://ec.europa.eu/eurostat/statistics-explained/images/b/be/Net_international_investment_position%2C_surplus_and_deficit%2C_Top_10_economies%2C_2022_%28€_billion%29.png")

currency

Code
bop_iip6_q %>%
  left_join(currency, by = "currency") %>%
  group_by(currency, Currency) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
currency Currency Nobs
MIO_EUR Million euro 27301917
MIO_NAC Million units of national currency 27211477

bop_item

Code
bop_iip6_q %>%
  left_join(bop_item, by = "bop_item") %>%
  group_by(bop_item, Bop_item) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

sector10

Code
bop_iip6_q %>%
  left_join(sector10, by = "sector10") %>%
  group_by(sector10, Sector10) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
sector10 Sector10 Nobs
S1 Total economy 14817121
S13 General Government 4349616
S121 Central Bank 4298223
S123 Money market funds 4196286
S122 Deposit-taking corporations except the central bank 4009318
S12T Monetary Financial Institutions (MFI) other than central bank 3778406
S1P Other sectors than MFIs and general government 3754605
S12M Financial corporations other than MFIs 3740559
S1V Non-financial corporations, households and non-profit institutions serving households 3697209
S12O Other financial institutions 1518694
S11 Non-financial corporations 1516724
S12Q Insurance corporations and pension funds 1499842
S1M Households and non-profit institutions serving households 1487682
S124 Non-MMF investment funds 1392148
S1Z Sectors other than deposit-taking corporations and general government 163282
S12R Other financial corporations 130357
S1X Monetary authorities 115802
S12K Monetary financial institutions (MFI) 43650
S1A Affiliates 1290
S1N Not sectorised 1290
S1W Other sectors than General Government 1290

sectpart

Code
bop_iip6_q %>%
  left_join(sectpart, by = "sectpart") %>%
  group_by(sectpart, Sectpart) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
sectpart Sectpart Nobs
S1 Total economy 51710642
S12M Financial corporations other than MFIs 355231
S123 Money market funds 347779
S121 Central Bank 344922
S122 Deposit-taking corporations except the central bank 334659
S13 General Government 316990
S1V Non-financial corporations, households and non-profit institutions serving households 308780
S12T Monetary Financial Institutions (MFI) other than central bank 221185
S12O Other financial institutions 104274
S11 Non-financial corporations 104228
S12Q Insurance corporations and pension funds 101962
S1M Households and non-profit institutions serving households 101114
S124 Non-MMF investment funds 71756
S1N Not sectorised 64749
S12K Monetary financial institutions (MFI) 25121
S1X Monetary authorities 2

stk_flow

Code
bop_iip6_q %>%
  left_join(stk_flow, by = "stk_flow") %>%
  group_by(stk_flow, Stk_flow) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
stk_flow Stk_flow Nobs
A_LE Assets - positions at the end of period 21085675
L_LE Liabilities - positions at the end of period 14017142
N_LE Net positions at the end of period 13824363
A_K7A Assets - revaluations due to exchange rate changes 911404
A_K7B Assets - revaluations due to other price changes 857076
A_KA Assets - other changes in the volume of Assets/Liabilities 798336
L_K7A Liabilities - revaluations due to exchange rate changes 533607
L_KA Liabilities - other changes in the volume of Assets/Liabilities 504284
L_K7B Liabilities - revaluations due to other price changes 481470
N_KA Net other changes in the volume of Assets/Liabilities 465504
N_K7A Net revaluations due to exchange rate changes 453050
N_K7B Net revaluations due to other price changes 446478
NE_LE Net liabilities (liabilities minus assets) 134249
NI_LE Net FDI inward - positions at the end of period 378
NO_LE Net FDI outward - positions at the end of period 378

partner

Code
bop_iip6_q %>%
  left_join(partner, by = "partner") %>%
  group_by(partner, Partner) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  mutate(Partner = ifelse(partner == "DE", "Germany", Partner)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Partner)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

geo

Code
bop_iip6_q %>%
  left_join(geo, by = "geo") %>%
  group_by(geo, Geo) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

Net International Investment Position

Table

Code
bop_iip6_q %>%
  filter(bop_item == "FA__NENDI",
         currency == "MIO_EUR",
         nchar(time) == 6) %>%
  left_join(geo, by = "geo") %>%
  group_by(geo, Geo) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

France, Germany, Spain, Netherlands, Italy

Code
bop_iip6_q %>%
  filter(bop_item == "FA__NENDI",
         currency == "MIO_EUR",
         geo %in% c("FR", "DE", "EA19", "ES", "NL", "IT"),
         nchar(time) == 6) %>%
  quarter_to_date %>%
  mutate(values = values/1000) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
  scale_color_identity() + add_5flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Net international investment position") +
  scale_y_continuous(breaks = seq(-3000, 3000, 250),
                     labels = dollar_format(suffix = " Bn€", prefix = "", accuracy = 1))

France, Germany, Europe

Code
bop_iip6_q %>%
  filter(bop_item == "FA__NENDI",
         currency == "MIO_EUR",
         geo %in% c("FR", "DE", "EA20"),
         nchar(time) == 6) %>%
  quarter_to_date %>%
  mutate(values = values/1000) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
  scale_color_identity() + add_2flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Net international investment position") +
  scale_y_continuous(breaks = seq(-3000, 3000, 250),
                     labels = dollar_format(suffix = " Bn€", prefix = "", accuracy = 1))

Spain, Netherlands, Italy

Code
bop_iip6_q %>%
  filter(bop_item == "FA__NENDI",
         currency == "MIO_EUR",
         geo %in% c("ES", "NL", "IT"),
         nchar(time) == 6) %>%
  quarter_to_date %>%
  mutate(values = values/1000) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
  scale_color_identity() + add_3flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Net international investment position") +
  scale_y_continuous(breaks = seq(-3000, 3000, 250),
                     labels = dollar_format(suffix = " Bn€", prefix = "", accuracy = 1))