Financial market data
Data - ECB
Info
Data on monetary policy
source | dataset | .html | .RData |
---|---|---|---|
2024-07-26 | 2024-10-16 | ||
2024-07-26 | 2024-07-01 | ||
2024-10-16 | 2024-10-16 | ||
2024-08-09 | 2024-09-15 | ||
2024-10-08 | 2024-09-16 | ||
2024-10-08 | 2024-10-23 | ||
2024-10-30 | 2024-10-30 | ||
2024-10-08 | 2024-10-08 | ||
2024-10-08 | 2024-09-10 | ||
2024-10-08 | 2024-09-11 | ||
2024-06-19 | 2024-10-08 | ||
2024-10-08 | 2024-10-08 | ||
2024-10-08 | 2024-10-08 | ||
2024-10-08 | 2024-09-16 | ||
2024-10-08 | 2024-10-08 | ||
2024-10-23 | 2024-10-08 | ||
2024-10-24 | 2024-10-08 | ||
2024-10-24 | 2024-10-24 | ||
2024-04-16 | 2024-06-30 | ||
2024-09-15 | 2024-05-21 |
Data on interest rates
source | dataset | .html | .RData |
---|---|---|---|
2024-07-26 | 2024-10-16 | ||
2024-07-26 | 2024-07-01 | ||
2024-10-16 | 2024-10-16 | ||
2024-09-13 | 2024-05-10 | ||
2024-08-09 | 2024-04-19 | ||
2024-10-30 | 2024-10-30 | ||
2024-06-19 | 2024-10-08 | ||
2024-10-23 | 2024-10-08 | ||
2024-10-24 | 2024-08-28 | ||
2024-10-24 | 2024-10-08 | ||
2024-10-24 | 2024-10-24 | ||
2024-04-16 | 2024-06-30 | ||
2024-09-15 | 2024-05-21 | ||
2024-08-28 | 2024-09-18 |
LAST_COMPILE
LAST_COMPILE |
---|
2024-10-30 |
Last
TIME_PERIOD | FREQ | Nobs |
---|---|---|
2024-Q3 | Q | 24 |
2024-10-30 | D | 6 |
2024-10-23 | B | 6 |
2024-09 | M | 39 |
2023 | A | 26 |
Last Day
TITLE | TIME_PERIOD | OBS_VALUE |
---|---|---|
Deposit facility - date of changes (raw data) - Change in percentage points compared to previous rate | 2024-10-30 | -0.25 |
Deposit facility - date of changes (raw data) - Level | 2024-10-30 | 3.25 |
Marginal lending facility - date of changes (raw data) - Change in percentage points compared to previous rate | 2024-10-30 | -0.25 |
Marginal lending facility - date of changes (raw data) - Level | 2024-10-30 | 3.65 |
Main refinancing operations - fixed rate tenders (fixed rate) (date of changes) - Level | 2024-10-30 | 3.40 |
Main refinancing operations - Minimum bid rate/fixed rate (date of changes) - Level | 2024-10-30 | 3.40 |
PROVIDER_FM_ID
Code
%>%
FM left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
group_by(PROVIDER_FM_ID, PROVIDER_FM_ID_desc) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
FREQ
Code
%>%
FM left_join(FREQ, by = "FREQ") %>%
group_by(FREQ, Freq) %>%
summarise(Nobs = n()) %>%
if (is_html_output()) print_table(.) else .} {
FREQ | Freq | Nobs |
---|---|---|
A | Annual | 840 |
B | Daily - businessweek | 356 |
D | Daily | 56606 |
M | Monthly | 20470 |
Q | Quarterly | 3462 |
REF_AREA
Code
%>%
FM left_join(REF_AREA, by = "REF_AREA") %>%
group_by(REF_AREA, Ref_area) %>%
summarise(Nobs = n()) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", 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 .} {
CURRENCY
Code
%>%
FM left_join(CURRENCY, by = "CURRENCY") %>%
group_by(CURRENCY, Currency) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
CURRENCY | Currency | Nobs |
---|---|---|
EUR | Euro | 71102 |
USD | US dollar | 5478 |
JPY | Japanese yen | 3519 |
GBP | UK pound sterling | 800 |
DKK | Danish krone | 433 |
SEK | Swedish krona | 402 |
PROVIDER_FM
Code
%>%
FM left_join(PROVIDER_FM, by = "PROVIDER_FM") %>%
group_by(PROVIDER_FM, Provider_fm) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
PROVIDER_FM | Provider_fm | Nobs |
---|---|---|
4F | ECB | 67058 |
DS | DataStream | 9432 |
RT | Reuters | 5244 |
INSTRUMENT_FM
Code
%>%
FM left_join(INSTRUMENT_FM, by = "INSTRUMENT_FM") %>%
group_by(INSTRUMENT_FM, Instrument_fm) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
INSTRUMENT_FM | Instrument_fm | Nobs |
---|---|---|
KR | Key interest rate | 57132 |
EI | Equity/index | 8597 |
BB | Benchmark bond | 7778 |
MM | Money Market | 6035 |
BZ | Zero-coupon yield bond | 820 |
SP | Spread | 787 |
CY | Commodity | 585 |
DATA_TYPE_FM
Code
%>%
FM left_join(DATA_TYPE_FM, by = "DATA_TYPE_FM") %>%
group_by(DATA_TYPE_FM, Data_type_fm) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
if (is_html_output()) print_table(.) else .} {
DATA_TYPE_FM | Data_type_fm | Nobs |
---|---|---|
LEV | Level | 37926 |
CHG | Change in percentage points compared to previous rate | 19036 |
HSTA | Historical close, average of observations through period | 14552 |
YLDA | Yield, average of observations through period | 4493 |
YLD | Yield | 3285 |
ASKA | Ask price or primary activity, average of observations through period | 835 |
YLDE | Yield, end of period | 820 |
SPRE | Spread, end of period | 787 |
COLLECTION
Code
%>%
FM left_join(COLLECTION, by = "COLLECTION") %>%
group_by(COLLECTION, Collection) %>%
summarise(Nobs = n()) %>%
if (is_html_output()) print_table(.) else .} {
COLLECTION | Collection | Nobs |
---|---|---|
A | Average of observations through period | 19901 |
E | End of period | 61833 |
UNIT
Code
%>%
FM left_join(UNIT, by = "UNIT") %>%
group_by(UNIT, Unit) %>%
summarise(Nobs = n()) %>%
if (is_html_output()) print_table(.) else .} {
UNIT | Unit | Nobs |
---|---|---|
EUR | Euro | 157 |
PC | Percent | 19036 |
PCPA | Percent per annum | 53944 |
POINTS | Points | 8597 |
TITLE
Code
%>%
FM group_by(TITLE) %>%
summarise(Nobs = n()) %>%
if (is_html_output()) datatable(., filter = 'top', rownames = F) else .} {
Real Rates
USA, Euro Area
1999
Code
<- FM %>%
plot filter(PROVIDER_FM_ID %in% c("R_US10YT_RR", "R_U2_10Y")) %>%
%>%
month_to_date left_join(REF_AREA, by = "REF_AREA") %>%
mutate(Ref_area = ifelse(REF_AREA == "U2", "Zone euro", "États-Unis")) %>%
filter(date >= as.Date("1999-01-01")) %>%
mutate(OBS_VALUE = OBS_VALUE/100) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Taux d'intérêt réels à 10 ans") +
geom_line(aes(x = date, y = OBS_VALUE, color = Ref_area)) +
scale_color_manual(values = c("#B22234", "#003399")) +
geom_rect(data = nber_recessions %>%
filter(Peak > as.Date("1999-01-01")),
aes(xmin = Peak, xmax = Trough, ymin =-Inf, ymax = +Inf),
fill = '#B22234', alpha = 0.1) +
geom_rect(data = cepr_recessions %>%
filter(Peak > as.Date("1999-01-01")),
aes(xmin = Peak, xmax = Trough, ymin = -Inf, ymax = +Inf),
fill = '#003399', alpha = 0.1) +
scale_x_date(breaks = c(seq(1999, 2100, 5), seq(1997, 2100, 5)) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
theme(legend.position = c(0.26, 0.2),
legend.title = element_blank()) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
labs(caption = "Source: BCE, Données sur les marchés financiers")
save(plot, file = "FM_files/figure-html/real-rates-USA-EUR-1999-1.RData")
plot
USA, Japan, Euro Area
All
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("R_US10YT_RR", "R_JP10YT_RR", "R_U2_10Y")) %>%
%>%
month_to_date left_join(REF_AREA, by = "REF_AREA") %>%
mutate(Ref_area = ifelse(REF_AREA == "U2", "Europe", Ref_area)) %>%
left_join(colors, by = c("Ref_area" = "country")) %>%
mutate(color = ifelse(REF_AREA == "U2", color2, color)) %>%
mutate(OBS_VALUE = OBS_VALUE/100) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Real rates, 10-year") +
geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
add_flags(3) + scale_color_identity() +
scale_x_date(breaks = seq(1900, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1))
2010-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("R_US10YT_RR", "R_JP10YT_RR", "R_U2_10Y")) %>%
%>%
month_to_date left_join(REF_AREA, by = "REF_AREA") %>%
mutate(Ref_area = ifelse(REF_AREA == "U2", "Europe", Ref_area)) %>%
filter(date >= as.Date("2010-01-01")) %>%
left_join(colors, by = c("Ref_area" = "country")) %>%
mutate(color = ifelse(REF_AREA == "U2", color2, color)) %>%
mutate(OBS_VALUE = OBS_VALUE/100) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Real rates, 10-year") +
geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
add_flags(3) + scale_color_identity() +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1))
2015-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("R_US10YT_RR", "R_JP10YT_RR", "R_U2_10Y")) %>%
%>%
month_to_date left_join(REF_AREA, by = "REF_AREA") %>%
mutate(Ref_area = ifelse(REF_AREA == "U2", "Europe", Ref_area)) %>%
filter(date >= as.Date("2015-01-01")) %>%
left_join(colors, by = c("Ref_area" = "country")) %>%
mutate(color = ifelse(REF_AREA == "U2", color2, color)) %>%
mutate(OBS_VALUE = OBS_VALUE/100) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Real rates, 10-year") +
geom_line(aes(x = date, y = OBS_VALUE, color = color)) +
add_flags(3) + scale_color_identity() +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1))
ECB Key Interest rates
EONIA
All
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("DFR", "MLFR", "MRR_RT", "EONIA"),
== "M") %>%
FREQ %>%
month_to_date left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = PROVIDER_FM_ID_desc)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.45, 0.92),
legend.title = element_blank())
Deposit Facility, Marginal Lending Facility
All
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("DFR", "MLFR", "MRR_RT", "MRR_FR", "MRR_MBR", "MRR"),
== "LEV",
DATA_TYPE_FM == "D") %>%
FREQ %>%
day_to_date left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = PROVIDER_FM_ID_desc)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.45, 0.92),
legend.title = element_blank())
Deposit Facility, Marginal Lending Facility
All
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("DFR", "MLFR", "MRR_RT"),
== "LEV",
DATA_TYPE_FM == "D") %>%
FREQ %>%
day_to_date mutate(Provider_fm_id = factor(PROVIDER_FM_ID,
levels = c("MLFR", "MRR_RT", "DFR"),
labels = c("ECB Marginal lending facility",
"ECB Main refinancing operations",
"ECB Deposit facility"))) %>%
left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = Provider_fm_id)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2025, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.65, 0.92),
legend.title = element_blank()) +
geom_hline(yintercept = 3.75/100, linetype = "dashed")
2010
Code
<- FM %>%
dates_ecb filter(PROVIDER_FM_ID == "DFR") %>%
%>%
day_to_date mutate(OBS_VALUE = OBS_VALUE-lag(OBS_VALUE)) %>%
filter(OBS_VALUE != 0) %>%
pull(date)
%>%
FM filter(PROVIDER_FM_ID %in% c("DFR", "MLFR", "MRR_RT"),
== "LEV",
DATA_TYPE_FM == "D") %>%
FREQ %>%
day_to_date left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
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"))) %>%
filter(date >= as.Date("2010-01-01"))%>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = Provider_fm_id)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = dates_ecb,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 0.5),
labels = percent_format(accuracy = .1)) +
theme(legend.position = c(0.45, 0.92),
legend.title = element_blank())
2016-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("DFR", "MLFR", "MRR_RT"),
== "LEV",
DATA_TYPE_FM == "D") %>%
FREQ %>%
day_to_date left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
filter(date >= as.Date("2016-01-01"))%>%
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 = seq(1960, 2025, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.45, 0.92),
legend.title = element_blank())
2022-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("DFR", "MLFR", "MRR_RT"),
== "LEV",
DATA_TYPE_FM == "D") %>%
FREQ %>%
day_to_date #add_row(date = as.Date("2024-09-12"), PROVIDER_FM_ID = "DFR", OBS_VALUE = 3.5) %>%
#add_row(date = as.Date("2024-09-12"), PROVIDER_FM_ID = "MRR_RT", OBS_VALUE = 3.65) %>%
#add_row(date = as.Date("2024-09-12"), PROVIDER_FM_ID = "MLFR", OBS_VALUE = 3.9) %>%
#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) %>%
left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
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"))) %>%
filter(date >= as.Date("2022-01-01")) %>%
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))
2022 - Dates of change
Schedules for the meetings of the Governing Council. html
Key ECB interest rates: Dates of change. html
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("DFR", "MLFR", "MRR_RT"),
== "LEV",
DATA_TYPE_FM == "D") %>%
FREQ %>%
day_to_date left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
mutate(Provider_fm_id = factor(PROVIDER_FM_ID,
levels = c("MLFR", "MRR_RT", "DFR"),
labels = c("ECB Marginal lending facility",
"ECB Main refinancing operations",
"ECB Deposit facility"))) %>%
filter(date >= as.Date("2022-07-01")) %>%
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, Sys.Date()),
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.7, 0.2),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Around September 2022
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("DFR", "MLFR", "MRR_RT"),
== "LEV",
DATA_TYPE_FM == "D") %>%
FREQ %>%
day_to_date left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
filter(date >= as.Date("2022-09-05"),
<= as.Date("2022-09-20")) %>%
date ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = PROVIDER_FM_ID_desc)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(from = as.Date("2022-01-01"), as.Date("2026-01-01"), by = "1 day"),
labels = date_format("%d %b %Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 0.25),
labels = percent_format(accuracy = .01)) +
theme(legend.position = c(0.4, 0.92),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Japan
1970-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("JP10YT_RR", "R_JP10YT_RR")) %>%
%>%
month_to_date left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = PROVIDER_FM_ID_desc)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-50, 50, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank())
2000-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("JP10YT_RR", "R_JP10YT_RR")) %>%
%>%
month_to_date filter(date >= as.Date("2000-01-01")) %>%
left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = PROVIDER_FM_ID_desc)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-50, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank())
United States
1970-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("US10YT_RR", "R_US10YT_RR")) %>%
%>%
month_to_date left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = PROVIDER_FM_ID_desc)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(1900, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-50, 50, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank())
2000-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("US10YT_RR", "R_US10YT_RR")) %>%
%>%
month_to_date filter(date >= as.Date("2000-01-01")) %>%
left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = PROVIDER_FM_ID_desc)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-50, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank())
Euro area
1970-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("U2_10Y", "R_U2_10Y")) %>%
%>%
month_to_date left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = PROVIDER_FM_ID_desc)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(1900, 2100, 10) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-50, 50, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.75, 0.9),
legend.title = element_blank())
2000-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("U2_10Y", "R_U2_10Y")) %>%
%>%
month_to_date filter(date >= as.Date("2000-01-01")) %>%
left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = PROVIDER_FM_ID_desc)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-50, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.35, 0.2),
legend.title = element_blank())
2015-
Code
%>%
FM filter(PROVIDER_FM_ID %in% c("U2_10Y", "R_U2_10Y")) %>%
%>%
month_to_date filter(date >= as.Date("2015-01-01")) %>%
left_join(PROVIDER_FM_ID, by = "PROVIDER_FM_ID") %>%
ggplot(.) +
geom_line(aes(x = date, y = OBS_VALUE / 100, color = PROVIDER_FM_ID_desc)) +
theme_minimal() + xlab("") + ylab("Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-50, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.35, 0.2),
legend.title = element_blank())