Policy Rates, Monthly

Data - BIS

Info

source dataset Title .html .rData
bis CBPOL_M Policy Rates, Monthly 2025-10-10 2024-04-19

Data on interest rates

source dataset Title .html .rData
bis CBPOL_M Policy Rates, Monthly 2025-10-10 2024-04-19
bdf FM Marché financier, taux 2025-08-28 2025-08-28
bdf MIR Taux d'intérêt - Zone euro 2025-08-28 2025-08-04
bdf MIR1 Taux d'intérêt - France 2025-08-28 2025-08-04
bis CBPOL_D Policy Rates, Daily 2025-10-10 2025-08-20
ecb FM Financial market data 2025-10-09 2025-08-29
ecb MIR MFI Interest Rate Statistics 2025-10-09 2025-08-29
eurostat ei_mfir_m Interest rates - monthly data 2025-10-10 2025-10-10
eurostat irt_lt_mcby_d EMU convergence criterion series - daily data 2025-10-10 2025-07-24
eurostat irt_st_m Money market interest rates - monthly data 2025-10-10 2025-10-09
fred r Interest Rates 2025-10-09 2025-10-09
oecd MEI Main Economic Indicators 2024-04-16 2025-07-24
oecd MEI_FIN Monthly Monetary and Financial Statistics (MEI) 2024-09-15 2025-07-24
wdi FR.INR.DPST Deposit interest rate (%) 2022-09-27 2025-09-27
wdi FR.INR.LEND Lending interest rate (%) 2025-10-10 2025-09-27
wdi FR.INR.RINR Real interest rate (%) 2025-05-24 2025-09-27

Data on monetary policy

source dataset Title .html .rData
bdf FM Marché financier, taux 2025-08-28 2025-08-28
bdf MIR Taux d'intérêt - Zone euro 2025-08-28 2025-08-04
bdf MIR1 Taux d'intérêt - France 2025-08-28 2025-08-04
bis CBPOL Policy Rates, Daily 2025-10-10 2025-10-09
ecb BSI Balance Sheet Items 2025-10-09 2025-08-29
ecb BSI_PUB Balance Sheet Items - Published series 2025-10-09 2025-08-29
ecb FM Financial market data 2025-10-09 2025-08-29
ecb ILM Internal Liquidity Management 2025-10-09 2025-08-29
ecb ILM_PUB Internal Liquidity Management - Published series 2025-08-29 2024-09-10
ecb MIR MFI Interest Rate Statistics 2025-10-09 2025-08-29
ecb RAI Risk Assessment Indicators 2025-10-09 2025-08-29
ecb SUP Supervisory Banking Statistics 2025-10-09 2025-08-29
ecb YC Financial market data - yield curve 2025-10-09 2025-08-29
ecb YC_PUB Financial market data - yield curve - Published series 2025-10-09 2025-08-29
ecb liq_daily Daily Liquidity 2025-10-09 2025-06-06
eurostat ei_mfir_m Interest rates - monthly data 2025-10-10 2025-10-10
eurostat irt_st_m Money market interest rates - monthly data 2025-10-10 2025-10-09
fred r Interest Rates 2025-10-09 2025-10-09
oecd MEI Main Economic Indicators 2024-04-16 2025-07-24
oecd MEI_FIN Monthly Monetary and Financial Statistics (MEI) 2024-09-15 2025-07-24

LAST_COMPILE

LAST_COMPILE
2025-10-11

Last

date Nobs
2024-03-01 34

REF_AREA

Code
CBPOL_M %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  group_by(REF_AREA, Ref_area) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Ref_area)),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

FREQ

Code
CBPOL_M %>%
  left_join(FREQ, by = "FREQ") %>%
  group_by(FREQ, Freq) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) print_table(.) else .}
FREQ Freq Nobs
M Monthly 22535

Individual Countries

Hungary

1990-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("HU"),
         date >= as.Date("2000-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2010-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("HU"),
         date >= as.Date("2010-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Poland

1990-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("PL"),
         date >= as.Date("2000-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2010-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("PL"),
         date >= as.Date("2010-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Brazil

1990-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("BR"),
         date >= as.Date("2000-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2010-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("BR"),
         date >= as.Date("2010-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Iceland

All

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("IS")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2014-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("IS"),
         date >= as.Date("2014-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

New Zealand

All

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("NZ")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

1980-2000

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("NZ"),
         date >= as.Date("1980-01-01"),
         date <= as.Date("2000-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2014-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("NZ"),
         date >= as.Date("2014-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Israel

All

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("IL")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

All - Stanley Fischer

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("IL")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank()) + 
    geom_rect(data = data_frame(start = as.Date("2005-05-01"), 
                                end = as.Date("2013-06-30")), 
              aes(xmin = start, xmax = end, ymin = -Inf, ymax = +Inf), 
              fill = viridis(4)[4], alpha = 0.2)

2004-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("IL"),
         date >= as.Date("2004-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2020, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2004- Stanley Fischer

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("IL"),
         date >= as.Date("2004-01-01")) %>%
  ggplot(.) + geom_line(aes(x = date, y = OBS_VALUE/100)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1940, 2020, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  scale_color_manual(values = viridis(4)[1:3]) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank()) + 
    geom_rect(data = data_frame(start = as.Date("2005-05-01"), 
                                end = as.Date("2013-06-30")), 
              aes(xmin = start, xmax = end, ymin = -Inf, ymax = +Inf), 
              fill = viridis(4)[4], alpha = 0.2)

3 Countries

United States, Japan, Euro Area (1980-)

1980-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("US", "JP", "XM"),
         date >= as.Date("1980-01-01")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  mutate(Ref_area = ifelse(REF_AREA == "XM", "Europe", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-5, 30, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

1985-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("US", "JP", "XM"),
         date >= as.Date("1985-01-01")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  mutate(Ref_area = ifelse(REF_AREA == "XM", "Europe", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-5, 30, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Switzerland, Denmark, United Kingdom

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("CH", "DK", "GB")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-5, 30, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

India

All

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("IN")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-5, 30, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Sweden, India, United States

All

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("SE", "IN", "US")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-5, 30, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

1993-

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("SE", "IN", "US"),
         date >= as.Date("1993-01-01")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-5, 30, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Japan, Canada, Australia

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("JP", "CA", "AU")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-5, 100, 5),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

South Africa, New Zealand, Norway

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("ZA", "NZ", "NO")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-5, 100, 5),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Brazil, Philippines, Hungary

All

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("BR", "PH", "HU")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-5, 100, 5),
                labels = percent_format(accuracy = 1),
                limits = c(-0.05, 0.40)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2000

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("BR", "PH", "HU"),
         date >= as.Date("1998-01-01")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-5, 100, 5),
                labels = percent_format(accuracy = 1),
                limits = c(-0.05, 0.40)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Russia, Poland, Argentina

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("RU", "PL", "AR")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 50),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Israel, Colombia, Croatia

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("IL", "CO", "HR")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 50),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Malaysia, Czech Republic, China

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("MY", "CZ", "CN")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 1),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Serbia, Chile, Iceland

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("RS", "CL", "IS")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 5),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

Hong Kong, Mexico, Euro Area

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("HK", "MX", "XM")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  mutate(Ref_area = ifelse(REF_AREA == "XM", "Europe", Ref_area)) %>%
  mutate(Ref_area = ifelse(REF_AREA == "HK", "Hong Kong", Ref_area)) %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 5),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

South Korea, North Macedonia, Saudi Arabia

Code
CBPOL_M %>%
  filter(REF_AREA %in% c("KR", "MK", "SA")) %>%
  left_join(REF_AREA, by = "REF_AREA") %>%
  left_join(colors, by = c("Ref_area" = "country")) %>%
  ggplot(.) + theme_minimal() + xlab("") + ylab("Policy Rates (%)") +
  geom_line(aes(x = date, y = OBS_VALUE/100, color = color)) + 
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq(1940, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 10000, 5),
                labels = percent_format(accuracy = 1)) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())