| source | dataset | .html | .RData |
|---|---|---|---|
| 2024-06-30 | 2024-06-30 | ||
| 2024-06-19 | 2024-05-10 | ||
| 2024-06-19 | 2024-05-10 | ||
| 2024-06-30 | 2024-06-30 | ||
| 2024-06-23 | 2024-06-30 | ||
| 2024-06-20 | 2024-06-30 | ||
| 2024-06-24 | 2024-06-30 | ||
| 2024-06-24 | 2024-07-01 | ||
| 2024-06-30 | 2024-06-30 | ||
| 2024-06-24 | 2024-06-24 | ||
| 2024-06-30 | 2020-01-18 | ||
| 2024-07-01 | 2023-10-19 |
Analytical house prices indicators
Data - OECD
Info
Data on housing
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2024-07-01 |
Last
| obsTime | Nobs |
|---|---|
| 2023-Q3 | 41 |
IND
Code
HOUSE_PRICES %>%
left_join(HOUSE_PRICES_var$IND, by = "IND") %>%
group_by(IND, Ind) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
{if (is_html_output()) print_table(.) else .}| IND | Ind | Nobs |
|---|---|---|
| RPI | Rent prices, s.a. | 9572 |
| HPI | Nominal house price indices, s.a. | 8665 |
| RHP | Real house price indices, s.a. | 8665 |
| HPI_RPI | Price to rent ratio | 7827 |
| HPI_YDH | Price to income ratio | 7260 |
| HPI_RPI_AVG | Standardised price-rent ratio | 6237 |
| HPI_YDH_AVG | Standardised price-income ratio | 5998 |
COU
Code
HOUSE_PRICES %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
group_by(COU, Cou) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Cou)),
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 .}UNIT
Code
HOUSE_PRICES %>%
left_join(HOUSE_PRICES_var$UNIT, by = "UNIT") %>%
group_by(UNIT, Unit) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}TIME_FORMAT
Code
HOUSE_PRICES %>%
left_join(HOUSE_PRICES_var$TIME_FORMAT, by = "TIME_FORMAT") %>%
group_by(TIME_FORMAT, Time_format) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
{if (is_html_output()) print_table(.) else .}| TIME_FORMAT | Time_format | Nobs |
|---|---|---|
| P1Y | Annual | 49647 |
| P3M | Quarterly | 4577 |
Rent Prices - RPI
Number of Observations
Code
HOUSE_PRICES %>%
filter(IND == "RPI",
TIME_FORMAT == "P1Y",
UNIT == "IDX",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
group_by(COU, Cou) %>%
summarise(Nobs = n()) %>%
arrange(-Nobs) %>%
mutate(Flag = gsub(" ", "-", str_to_lower(Cou)),
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 .}United States, Japan, Canada
Code
HOUSE_PRICES %>%
filter(IND == "RPI",
COU %in% c("USA", "JPN", "CAN"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Rent Prices") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
France, Spain, Italy
Code
HOUSE_PRICES %>%
filter(IND == "RPI",
COU %in% c("FRA", "ITA", "ESP"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Rent Prices") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
Nominal house price indices, s.a. - HPI
United States, Japan, Canada
Code
HOUSE_PRICES %>%
filter(IND == "HPI",
COU %in% c("USA", "JPN", "CAN"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Nominal house price indices") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
France, Spain, Italy
Code
HOUSE_PRICES %>%
filter(IND == "HPI",
COU %in% c("FRA", "ITA", "ESP"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Nominal house price indices") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
Real house price indices, s.a. - RHP
United States, Japan, Canada
Code
HOUSE_PRICES %>%
filter(IND == "RHP",
COU %in% c("USA", "JPN", "CAN"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Real house price indices") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
France, Spain, Italy
Code
HOUSE_PRICES %>%
filter(IND == "RHP",
COU %in% c("FRA", "ITA", "ESP"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Real house price indices") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
Price to rent ratio - HPI_RPI
United States, Japan, Canada
Code
HOUSE_PRICES %>%
filter(IND == "HPI_RPI",
COU %in% c("USA", "JPN", "CAN"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Price to rent ratio") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
France, Spain, Italy
Code
HOUSE_PRICES %>%
filter(IND == "HPI_RPI",
COU %in% c("FRA", "ITA", "ESP"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Price to rent ratio") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
France, Spain, Italy, United States, Sweden,
All
Code
HOUSE_PRICES %>%
filter(IND == "HPI_RPI",
COU %in% c("DEU", "FRA", "SWE", "JPN", "ESP", "ITA", "USA", "CHE"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Price to rent ratio") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_8flags +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank())
1998
Code
HOUSE_PRICES %>%
filter(IND == "HPI_RPI",
COU %in% c("DEU", "FRA", "SWE", "JPN", "ESP", "ITA", "USA", "CHE"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
filter(date >= as.Date("1998-01-01")) %>%
group_by(Location) %>%
mutate(obsValue = 100*obsValue/obsValue[date == as.Date("1998-01-01")]) %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Price to rent ratio (1998 = 100)") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2022, 2) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_8flags +
theme(legend.position = c(0.8, 0.2),
legend.title = element_blank())
Price to income ratio - HPI_YDH
United States, Japan, Canada
Code
HOUSE_PRICES %>%
filter(IND == "HPI_YDH",
COU %in% c("USA", "JPN", "CAN"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Price to income ratio") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
France, Spain, Italy
Code
HOUSE_PRICES %>%
filter(IND == "HPI_YDH",
COU %in% c("FRA", "ITA", "ESP"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Price to income ratio") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
Standardised price-rent ratio - HPI_RPI_AVG
United States, Japan, Canada
Code
HOUSE_PRICES %>%
filter(IND == "HPI_RPI_AVG",
COU %in% c("USA", "JPN", "CAN"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Standardised price-rent ratio") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
France, Spain, Italy
Code
HOUSE_PRICES %>%
filter(IND == "HPI_RPI_AVG",
COU %in% c("FRA", "ITA", "ESP"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Standardised price-rent ratio") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
Standardised price-income ratio - HPI_YDH_AVG
United States, Japan, Canada
Code
HOUSE_PRICES %>%
filter(IND == "HPI_YDH_AVG",
COU %in% c("USA", "JPN", "CAN"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Standardised price-income ratio") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags
France, Spain, Italy
Code
HOUSE_PRICES %>%
filter(IND == "HPI_YDH_AVG",
COU %in% c("FRA", "ITA", "ESP"),
TIME_FORMAT == "P1Y",
substr(obsTime, 6, 6) != "Q") %>%
left_join(HOUSE_PRICES_var$COU, by = "COU") %>%
rename(Location = Cou) %>%
left_join(colors, by = c("Location" = "country")) %>%
year_to_date() %>%
ggplot(.) + theme_minimal() + xlab("") + ylab("Standardised price-income ratio") +
geom_line(aes(x = date, y = obsValue, color = color)) +
scale_x_date(breaks = seq(1900, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 600, 10),
labels = dollar_format(a = 1, prefix = "")) +
scale_color_identity() + add_3flags