Balance Sheet Items - Published series

Data - ECB

Info

source dataset .html .RData
ecb BSI_PUB 2024-10-08 2024-11-19

Data on monetary policy

source dataset .html .RData
bdf FM 2024-11-18 2024-11-18
bdf MIR 2024-07-26 2024-07-01
bdf MIR1 2024-10-16 2024-10-16
bis CBPOL 2024-08-09 2024-09-15
ecb BSI 2024-10-08 2024-09-16
ecb BSI_PUB 2024-10-08 2024-11-19
ecb FM 2024-11-18 2024-11-18
ecb ILM 2024-10-08 2024-11-11
ecb ILM_PUB 2024-10-08 2024-09-10
ecb liq_daily 2024-10-08 2024-09-11
ecb MIR 2024-06-19 2024-11-18
ecb RAI 2024-10-08 2024-10-30
ecb SUP 2024-10-08 2024-10-08
ecb YC 2024-10-08 2024-09-16
ecb YC_PUB 2024-10-08 2024-10-08
eurostat ei_mfir_m 2024-11-18 2024-11-18
eurostat irt_st_m 2024-11-18 2024-11-18
fred r 2024-11-18 2024-11-18
oecd MEI 2024-04-16 2024-06-30
oecd MEI_FIN 2024-09-15 2024-11-18

LAST_COMPILE

LAST_COMPILE
2024-11-19

Last

Code
BSI_PUB %>%
  group_by(TIME_PERIOD, FREQ) %>%
  summarise(Nobs = n()) %>%
  ungroup %>%
  select(FREQ, TIME_PERIOD, Nobs) %>%
  group_by(FREQ) %>%
  arrange(desc(TIME_PERIOD)) %>%
  filter(row_number() < 5) %>%
  arrange(FREQ) %>%
  print_table_conditional()
FREQ TIME_PERIOD Nobs
M 2024-09 163
M 2024-08 163
M 2024-07 163
M 2024-06 163

ADJUSTMENT

Code
BSI_PUB %>%
  left_join(ADJUSTMENT,  by = "ADJUSTMENT") %>%
  group_by(ADJUSTMENT, Adjustment) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

BS_COUNT_SECTOR

Code
BSI_PUB %>%
  mutate(BS_COUNT_SECTOR = paste0(BS_COUNT_SECTOR)) %>%
  left_join(BS_COUNT_SECTOR,  by = "BS_COUNT_SECTOR") %>%
  group_by(BS_COUNT_SECTOR, Bs_count_sector) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

BS_ITEM

Code
BSI_PUB %>%
  left_join(BS_ITEM,  by = "BS_ITEM") %>%
  group_by(BS_ITEM, Bs_item) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

BS_SUFFIX

Code
BSI_PUB %>%
  left_join(BS_SUFFIX,  by = "BS_SUFFIX") %>%
  group_by(BS_SUFFIX, Bs_suffix) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

BS_REP_SECTOR

Code
BSI_PUB %>%
  left_join(BS_REP_SECTOR,  by = "BS_REP_SECTOR") %>%
  group_by(BS_REP_SECTOR, Bs_rep_sector) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

COLLECTION

Code
BSI_PUB %>%
  left_join(COLLECTION,  by = "COLLECTION") %>%
  group_by(COLLECTION, Collection) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

COUNT_AREA

Code
BSI_PUB %>%
  left_join(COUNT_AREA,  by = "COUNT_AREA") %>%
  group_by(COUNT_AREA, Count_area) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

DATA_TYPE

Code
BSI_PUB %>%
  left_join(DATA_TYPE,  by = "DATA_TYPE") %>%
  group_by(DATA_TYPE, Data_type) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

MATURITY_ORIG

Code
BSI_PUB %>%
  left_join(MATURITY_ORIG,  by = "MATURITY_ORIG") %>%
  group_by(MATURITY_ORIG, Maturity_orig) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

UNIT

Code
BSI_PUB %>%
  left_join(UNIT,  by = "UNIT") %>%
  group_by(UNIT, Unit) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

KEY

Code
BSI_PUB %>%
  group_by(KEY, TITLE) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Monetary aggregates

M1, M2, M3

Niveau

Code
BSI_PUB %>%
  filter(BS_ITEM %in% c("M10", "M20", "M30"),
         BS_SUFFIX == "E",
         FREQ == "M",
         ADJUSTMENT == "Y",
         COLLECTION == "E",
         DATA_TYPE == "1") %>%
  left_join(BS_ITEM,  by = "BS_ITEM") %>%
  month_to_date %>%
  arrange(desc(date)) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE/1000, color = Bs_item)) +
  xlab("") + ylab("") + theme_minimal() +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 20000, 1000)) +
  geom_hline(yintercept = 0, linetype = "dashed")

Croissance

Code
BSI_PUB %>%
  filter(BS_ITEM %in% c("M10", "M20", "M30"),
         BS_SUFFIX == "A",
         FREQ == "M") %>%
  left_join(BS_ITEM,  by = "BS_ITEM") %>%
  month_to_date %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE/100, color = Bs_item)) +
  xlab("") + ylab("") + theme_minimal() +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(-100, 90, 2),
                     labels = scales::percent_format(accuracy = 1)) +
  geom_hline(yintercept = 0, linetype = "dashed")