Exchange Rate

Data - BDF

Info

source dataset .html .RData
bdf EXR 2025-01-05 2025-01-05

Data on xrates

source dataset .html .RData
bdf EXR 2025-01-05 2025-01-05
bis EER 2025-01-17 2025-01-17
bis EER_D 2024-11-18 2024-05-10
bis XRU 2025-01-17 2025-01-17
bis XRU_D 2025-01-17 2025-01-17
ecb EXR 2025-01-17 2025-01-17
eurostat ert_bil_eur_d 2025-01-17 2025-01-17
eurostat ert_h_eur_d 2025-01-17 2025-01-17
fred xrates 2025-01-26 2025-01-26
gfd xrates 2024-06-20 2021-01-08
oecd REFSERIES_MSIT 2024-09-15 2025-01-17
oecd SNA_TABLE4 2024-09-15 2025-01-17
wdi PA.NUS.FCRF 2025-01-17 2025-01-17

LAST_COMPILE

LAST_COMPILE
2025-01-26

Last

date Nobs
2025-01-03 30

FREQ

Code
EXR %>%
  left_join(EXR_var, by = "variable") %>%
  left_join(FREQ, by = "FREQ") %>%
  group_by(FREQ, Freq) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
FREQ Freq Nobs
D Quotidien 323679
M Mensuel 19420

EXR_TYPE

Code
EXR %>%
  left_join(EXR_var, by = "variable") %>%
  left_join(EXR_TYPE, by = "EXR_TYPE") %>%
  group_by(EXR_TYPE, Exr_type) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
EXR_TYPE Exr_type Nobs
SP00 Cours spot 343099

EXR_SUFFIX

Code
EXR %>%
  left_join(EXR_var, by = "variable") %>%
  left_join(EXR_SUFFIX, by = "EXR_SUFFIX") %>%
  group_by(EXR_SUFFIX, Exr_suffix) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
EXR_SUFFIX Exr_suffix Nobs
A Moyenne sur la période 333251
E Fin de période 9848

CURRENCY

Code
EXR %>%
  left_join(EXR_var, by = "variable") %>%
  left_join(CURRENCY, by = "CURRENCY") %>%
  group_by(CURRENCY, Currency) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional

Swiss Franc, Dollar, Pound

All

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF", "GBP"),
         CURRENCY_DENOM == "EUR") %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0.1, 3, 0.1),
                     labels = dollar_format(accuracy = .1, prefix = "", suffix = "/€")) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2008-

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF", "GBP"),
         CURRENCY_DENOM == "EUR") %>%
  filter(date >= as.Date("2008-01-01")) %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0.1, 3, 0.1),
                     labels = dollar_format(accuracy = .1, prefix = "", suffix = "/€")) +
  
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2021-

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF", "GBP"),
         CURRENCY_DENOM == "EUR") %>%
  filter(date >= as.Date("2021-01-01")) %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "3 months",
               labels = date_format("%b %Y")) +
  scale_y_continuous(breaks = seq(0.1, 3, 0.05),
                     labels = dollar_format(accuracy = .1, prefix = "", suffix = "/€")) +
  
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2 years before

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF", "GBP"),
         CURRENCY_DENOM == "EUR") %>%
  filter(date >= Sys.Date() - years(2)) %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "2 months",
               labels = date_format("%b %Y")) +
  scale_y_continuous(breaks = seq(0.1, 3, 0.05),
                     labels = dollar_format(accuracy = .01, prefix = "", suffix = "/€")) +
  
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

2022-

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF", "GBP"),
         CURRENCY_DENOM == "EUR") %>%
  filter(date >= as.Date("2022-01-01")) %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y")) +
  scale_y_continuous(breaks = seq(0.1, 3, 0.05),
                     labels = dollar_format(accuracy = .1, prefix = "", suffix = "/€")) +
  
  theme(legend.position = c(0.8, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

1 year-before

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF", "GBP"),
         CURRENCY_DENOM == "EUR") %>%
  filter(date >= Sys.Date() - years(1)) %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "1 month",
               labels = date_format("%b %Y")) +
  scale_y_log10(breaks = seq(0.1, 3, 0.04),
                     labels = dollar_format(accuracy = .01, prefix = "", suffix = "/€")) +
  
  theme(legend.position = c(0.15, 0.9),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))

6 months

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF", "GBP"),
         CURRENCY_DENOM == "EUR") %>%
  filter(date >= Sys.Date() - months(6)) %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "7 days",
               labels = date_format("%d %b %Y")) +
  scale_y_log10(breaks = seq(0.1, 3, 0.04),
                     labels = dollar_format(accuracy = .01, prefix = "", suffix = "/€")) +
  
  theme(legend.position = c(0.15, 0.3),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text_repel(aes(x = date, y = value, label = value),
                  fontface ="plain", color = "black", size = 3)

3 months

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF", "GBP"),
         CURRENCY_DENOM == "EUR") %>%
  filter(date >= Sys.Date() - months(3)) %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "1 day",
               labels = date_format("%d %b %Y")) +
  scale_y_log10(breaks = seq(0.1, 3, 0.04),
                     labels = dollar_format(accuracy = .01, prefix = "", suffix = "/€")) +
  
  theme(legend.position = c(0.15, 0.3),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text_repel(aes(x = date, y = value, label = value),
                  fontface ="plain", color = "black", size = 3)

1 month

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF", "GBP"),
         CURRENCY_DENOM == "EUR") %>%
  filter(date >= Sys.Date() - months(1)) %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = "1 day",
               labels = date_format("%d %b %Y")) +
  scale_y_log10(breaks = seq(0.1, 3, 0.04),
                     labels = dollar_format(accuracy = .01, prefix = "", suffix = "/€")) +
  
  theme(legend.position = c(0.15, 0.75),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_text_repel(aes(x = date, y = value, label = value), fontface ="plain", color = "black", size = 3)

Swiss Franc, Dollar

All

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF"),
         CURRENCY_DENOM == "EUR") %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0.1, 3, 0.1),
                     labels = dollar_format(accuracy = .1, prefix = "", suffix = "/€")) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())

2008-

Code
EXR %>%
  left_join(variable, by = "variable") %>%
  filter(FREQ == "D",
         CURRENCY %in% c("USD", "CHF"),
         CURRENCY_DENOM == "EUR") %>%
  filter(date >= as.Date("2008-01-01")) %>%
  arrange(desc(date)) %>%
  ggplot(.) + geom_line(aes(x = date, y = value, color = Variable)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0.1, 3, 0.1),
                     labels = dollar_format(accuracy = .1, prefix = "", suffix = "/€")) +
  theme(legend.position = c(0.8, 0.80),
        legend.title = element_blank())