Real Effective Exchange Rates, Daily - EER_D
Data - BIS
Last observation: 1 sept. 2026 (N = 90)
First observation: 3 oct. 1983 (N = 26)
Last data update: 03 sept. 2026, 23:00
Last compile: 03 sept. 2026, 23:08
Structure
iso3c, iso2c, Reference area
Code
EER_D |>
arrange(iso3c, date) |>
group_by(iso3c, iso2c, `Reference area`) |>
summarise(Nobs = n(),
start = first(date),
end = last(date)) |>
arrange(-Nobs) |>
mutate(Flag = gsub(" ", "-", str_to_lower(`Reference 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 .}Real Exchange rates (Germany, France, United States)
Code
EER_D |>
filter(iso3c %in% c("DEU", "FRA", "ITA", "ESP"),
EER_BASKET == "N",
EER_TYPE == "N") |>
add_flag_color("Reference area") |>
ggplot() +
geom_line(aes(x = date, y = value, color = color)) +
theme_minimal() + xlab("") + ylab("Exchange Rate ($1 = ? National Currency)") +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
scale_color_identity() + add_flags +
theme(legend.position = c(0.7, 0.90),
legend.title = element_blank(),
legend.direction = "horizontal")
Exchange Rates
United States
Code
EER_D |>
filter(iso3c %in% c("USA")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("Exchange Rate ($? = National Currency)") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.7, 0.90),
legend.title = element_blank())
Japan
Code
EER_D |>
filter(iso3c %in% c("JPN")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.7, 0.25),
legend.title = element_blank())
Europe
Code
EER_D |>
filter(iso2c %in% c("XM")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.15),
legend.title = element_blank())
China
Code
EER_D |>
filter(iso3c %in% c("CHN")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank())
Denmark
Code
EER_D |>
filter(iso3c %in% c("DNK")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank())
Switzerland
Code
EER_D |>
filter(iso3c %in% c("CHE")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank())
Germany
Code
EER_D |>
filter(iso3c %in% c("DEU")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank())
France
Code
EER_D |>
filter(iso3c %in% c("FRA")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() +
geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank())
Italy
Code
EER_D |>
filter(iso3c %in% c("ITA")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() +
geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.8),
legend.title = element_blank())
United Kingdom
Code
EER_D |>
filter(iso3c %in% c("GBR")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() +
geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.8),
legend.title = element_blank())
Canada
Code
EER_D |>
filter(iso3c %in% c("CAN")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() +
geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.2),
legend.title = element_blank())
Sweden
Code
EER_D |>
filter(iso3c %in% c("SWE")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() +
geom_line(aes(x = date, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.2),
legend.title = element_blank())
1997 Asian Financial Crisis
Philippines, Singapore, Indonesia
Code
EER_D |>
filter(iso3c %in% c("IDN", "SGP", "PHL"),
date >= as.Date("1992-01-01"),
date <= as.Date("2002-12-31")) |>
group_by(iso3c) |>
mutate(value = 100*value / value[date == as.Date("1997-01-03")]) |>
add_flag_color("Reference area") |>
ggplot() + geom_line() + theme_minimal() +
aes(x = date, y = value, color = color) +
xlab("") + ylab("") +
scale_color_identity() + add_flags +
scale_x_date(breaks = seq(1800, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(50, 1000, 50),
labels = dollar_format(a = 1, p = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Thailand, Malaysia, South Korea
Code
EER_D |>
filter(iso3c %in% c("THA", "MYS", "KOR"),
date >= as.Date("1992-01-01"),
date <= as.Date("2002-12-31")) |>
group_by(iso3c) |>
mutate(value = 100*value / value[date == as.Date("1997-01-03")]) |>
add_flag_color("Reference area") |>
ggplot() + geom_line() + theme_minimal() +
aes(x = date, y = value, color = color) +
xlab("") + ylab("") +
scale_color_identity() + add_flags +
scale_x_date(breaks = seq(1800, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(10, 300, 10),
labels = dollar_format(a = 1, p = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Thailand Baht
Code
EER_D |>
filter(iso3c %in% c("THA"),
date >= as.Date("1992-01-01"),
date <= as.Date("2002-12-31")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1800, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank())
Malaysia Ringgit
Code
EER_D |>
filter(iso3c %in% c("MYS"),
date >= as.Date("1992-01-01"),
date <= as.Date("2002-12-31")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1800, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank())
South Korea Won
Code
EER_D |>
filter(iso3c %in% c("KOR"),
date >= as.Date("1992-01-01"),
date <= as.Date("2002-12-31")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1800, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank())
Philippine peso
Code
EER_D |>
filter(iso3c %in% c("PHL"),
date >= as.Date("1992-01-01"),
date <= as.Date("2002-12-31")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1800, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank())
Singapore Dollar
Code
EER_D |>
filter(iso3c %in% c("SGP"),
date >= as.Date("1992-01-01"),
date <= as.Date("2002-12-31")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1800, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 2),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.8),
legend.title = element_blank())
Indonesia peso
Code
EER_D |>
filter(iso3c %in% c("IDN"),
date >= as.Date("1992-01-01"),
date <= as.Date("2002-12-31")) |>
mutate(variable = paste0(Type, ", ", Basket)) |>
ggplot() + geom_line(aes(x = date, y = value, color = variable)) +
xlab("") + ylab("") + theme_minimal() +
scale_color_manual(values = viridis(5)[1:4]) +
scale_x_date(breaks = seq(1800, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.8, 0.8),
legend.title = element_blank())





