FM |>
filter(PROVIDER_FM_ID %in% c("DFR", "MLFR", "MRR_RT"),
DATA_TYPE_FM == "LEV",
FREQ == "D") |>
day_to_date() |>
filter(date >= as.Date("2022-01-01")) |>
add_row(date = as.Date("2025-06-11"), PROVIDER_FM_ID = "DFR", OBS_VALUE = 2) |>
add_row(date = as.Date("2025-06-11"), PROVIDER_FM_ID = "MRR_RT", OBS_VALUE = 2.15) |>
add_row(date = as.Date("2025-06-11"), PROVIDER_FM_ID = "MLFR", OBS_VALUE = 2.4) |>
add_row(date = as.Date("2025-06-10"), PROVIDER_FM_ID = "DFR", OBS_VALUE = 2.25) |>
add_row(date = as.Date("2025-06-10"), PROVIDER_FM_ID = "MRR_RT", OBS_VALUE = 2.4) |>
add_row(date = as.Date("2025-06-10"), PROVIDER_FM_ID = "MLFR", OBS_VALUE = 2.65) |>
arrange(desc(date)) |>
#add_row(date = as.Date("2024-09-17"), PROVIDER_FM_ID = "DFR", OBS_VALUE = 3.5) %>%
#add_row(date = as.Date("2024-09-17"), PROVIDER_FM_ID = "MRR_RT", OBS_VALUE = 3.65) %>%
#add_row(date = as.Date("2024-09-17"), PROVIDER_FM_ID = "MLFR", OBS_VALUE = 3.9) %>%
mutate(Provider_fm_id = factor(PROVIDER_FM_ID,
levels = c("MLFR", "MRR_RT", "DFR"),
labels = c("ECB Marginal lending facility",
"ECB Main refinancing operations - Minimum bid rate/fixed rate",
"ECB Deposit facility"))) |>
ggplot() +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = Provider_fm_id)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = c(dates_ecb),
labels = date_format("%d %B %Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 0.5),
labels = percent_format(accuracy = .1)) +
theme(legend.position = c(0.65, 0.2),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
geom_label_repel(data = . %>% filter(date == max(date)),
aes(x = date, y = OBS_VALUE / 100, label = percent(OBS_VALUE / 100, acc = 0.01), color = Provider_fm_id))