Foreign Exchange Rates - H.10

Data - FRB

Info

LAST_DOWNLOAD

LAST_DOWNLOAD
2024-07-03

LAST_COMPILE

LAST_COMPILE
2024-07-04

Last

TIME_PERIOD Nobs
2024-06-30 26

Nobs - Javascript

Code
H10 %>%
  group_by(SERIES_NAME, CURRENCY, FX, UNIT) %>%
  summarise(Nobs = n()) %>%
  left_join(H10_var$CURRENCY %>% rename(CURRENCY = id), by = "CURRENCY") %>%
  select(-description.default) %>%
  arrange(-Nobs) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Concepts

Code
H10_struct_concepts %>%
  {if (is_html_output()) print_table(.) else .}
id default
OBS_STATUS Observation status
UNIT_MULT Unit multiplier
TIME_PERIOD Time
UNIT Units
FX Country or Index type
OBS_VALUE Observation value
FREQ Frequency
SERIES_NAME Series Name
CURRENCY Currency

UNIT_MULT

Code
H10_var$UNIT_MULT %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

OBS_STATUS

Code
H10 %>%
  group_by(OBS_STATUS) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
OBS_STATUS Nobs
A 318575
ND 12891

CURRENCY

Code
H10 %>%
  group_by(CURRENCY) %>%
  summarise(Nobs = n()) %>%
  left_join(H10_var$CURRENCY %>% rename(CURRENCY = id), by = "CURRENCY") %>%
  select(-description.default) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Euro

Daily

All

Code
H10 %>%
  filter(SERIES_NAME == "RXI$US_N.B.EU", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.1),
                labels = dollar_format(accuracy = 0.1, suffix = " $/€", prefix = ""))

2010-

Code
H10 %>%
  filter(SERIES_NAME == "RXI$US_N.B.EU", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  filter(TIME_PERIOD >= as.Date("2010-01-01")) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2028, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.02),
                labels = dollar_format(accuracy = 0.01, suffix = "/€"))

2015-

Code
H10 %>%
  filter(SERIES_NAME == "RXI$US_N.B.EU", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  filter(TIME_PERIOD >= as.Date("2015-01-01")) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2028, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.02),
                labels = dollar_format(accuracy = 0.01, suffix = "/€"))

Monthly

Code
H10 %>%
  filter(SERIES_NAME == "RXI$US_N.M.EU", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.1),
                labels = dollar_format(accuracy = 0.1, suffix = " $/€", prefix = ""))

Yearly

Code
H10 %>%
  filter(SERIES_NAME == "RXI$US_N.A.EU", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.1),
                labels = dollar_format(accuracy = 0.1, suffix = " $/€", prefix = ""))

Pound

Daily

Code
H10 %>%
  filter(SERIES_NAME == "RXI$US_N.B.UK", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.1),
                labels = dollar_format(accuracy = 0.1, suffix = " $/£", prefix = ""))

Monthly

Code
H10 %>%
  filter(SERIES_NAME == "RXI$US_N.M.UK", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.1),
                labels = dollar_format(accuracy = 0.1, suffix = " $/£", prefix = ""))

Annual

Code
H10 %>%
  filter(SERIES_NAME == "RXI$US_N.A.UK", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.1),
                labels = dollar_format(accuracy = 0.1, suffix = " $/£", prefix = ""))

Yen

Daily

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.B.JA", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(40, 500, 20),
                labels = dollar_format(accuracy = 1, suffix = " ¥/$", prefix = ""))

Monthly

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.M.JA", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(40, 500, 20),
                labels = dollar_format(accuracy = 1, suffix = " ¥/$", prefix = ""))

Annual

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.A.JA", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(40, 500, 20),
                labels = dollar_format(accuracy = 1, suffix = " ¥/$", prefix = ""))

Swiss Franc

Daily

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.B.SZ", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.5),
                labels = dollar_format(accuracy = 0.1, suffix = " CHF/$", prefix = ""))

Monthly

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.M.SZ", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.5),
                labels = dollar_format(accuracy = 0.1, suffix = " CHF/$", prefix = ""))

Annual

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.A.SZ", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.5, 6, 0.5),
                labels = dollar_format(accuracy = 0.1, suffix = " CHF/$", prefix = ""))

Danish Krone

Daily

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.B.DN", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(3, 13, 1),
                labels = dollar_format(accuracy = 1, suffix = " kr/$", prefix = ""))

Monthly

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.M.DN", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(3, 13, 1),
                labels = dollar_format(accuracy = 1, suffix = " kr/$", prefix = ""))

Annual

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.A.DN", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(3, 13, 1),
                labels = dollar_format(accuracy = 1, suffix = " kr/$", prefix = ""))

Canadian Dollar

Daily

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.B.CA", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.8, 2, 0.1),
                labels = dollar_format(accuracy = 0.1, suffix = " C$/$", prefix = ""))

Monthly

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.M.CA", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.8, 2, 0.1),
                labels = dollar_format(accuracy = 0.1, suffix = " C$/$", prefix = ""))

Annual

Code
H10 %>%
  filter(SERIES_NAME == "RXI_N.A.CA", 
         OBS_STATUS == "A") %>%
  arrange(TIME_PERIOD) %>%
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE)) +
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2020, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%y")) +
  scale_y_log10(breaks = seq(0.8, 2, 0.1),
                labels = dollar_format(accuracy = 0.1, suffix = " C$/$", prefix = ""))