General market trend before 2020
House Price Index for the United States (USSTHPI)
- Index 1980:Q1=100,Not Seasonally Adjusted
symbol <-fredr_series_observations(series_id = "USSTHPI",
observation_start = as.Date("2000-01-01"))
indicator <-as.data.frame(symbol)[,c(1,3)]
tail(indicator) %>% kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
column_spec(2, T, color = "red" )
|
date
|
value
|
76
|
2018-10-01
|
428.5
|
77
|
2019-01-01
|
433.3
|
78
|
2019-04-01
|
441.3
|
79
|
2019-07-01
|
446.8
|
80
|
2019-10-01
|
451.0
|
81
|
2020-01-01
|
454.9
|
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% ggplot() +
geom_line(mapping = aes(x=date,y=value),color="red",size=1) +
labs(title = "House Price Index",
subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
x="Time", y="Index 1980=100",
caption = "Data source: FRED Federal Reserve. Illustration by @JoeLongSanDiego")+
theme_economist()

General market trend before 2020
Homeownership Rate for the United States (USHOWN)
symbol <-fredr_series_observations(series_id = "USHOWN",
observation_start = as.Date("2010-01-01"))
indicator <-as.data.frame(symbol)[,c(1,3)]
tail(indicator) %>% kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
column_spec(2, T, color = "red" )
|
date
|
value
|
5
|
2014-01-01
|
64.5
|
6
|
2015-01-01
|
63.7
|
7
|
2016-01-01
|
63.4
|
8
|
2017-01-01
|
63.9
|
9
|
2018-01-01
|
64.4
|
10
|
2019-01-01
|
64.6
|
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% ggplot() +
geom_line(mapping = aes(x=date,y=value),color="red",size=1) +
labs(title = "Homeownership Rate",
subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
x="Time", y="Percent ",
caption = "Data source: FRED Federal Reserve. Illustration by @JoeLongSanDiego")+
theme_economist()

2020 general trends
2020 general trends
Existing Single-Family Home Sales (EXSFHSUSM495N)
symbol <-fredr_series_observations(series_id = "EXSFHSUSM495N",
observation_start = as.Date("2019-01-01"))
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
column_spec(2, T, color = "red" )
date
|
value
|
2019-05-01
|
NA
|
2019-06-01
|
473000
|
2019-07-01
|
482000
|
2019-08-01
|
475000
|
2019-09-01
|
401000
|
2019-10-01
|
412000
|
2019-11-01
|
364000
|
2019-12-01
|
386000
|
2020-01-01
|
285000
|
2020-02-01
|
299000
|
2020-03-01
|
372000
|
2020-04-01
|
338000
|
2020-05-01
|
340000
|
2020-06-01
|
463000
|
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% ggplot() +
geom_line(mapping = aes(x=date,y=value),color="red",size=1) +
labs(title = "Existing Single-Family Home Sales",
subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
x="Monthly", y="Thousands",
caption = "Data source: FRED Federal Reserve. Illustration by @JoeLongSanDiego")+
theme_economist()
## Warning: Removed 1 row(s) containing missing values (geom_path).

Housing Inventory Estimate:
Vacant Housing Units for the United States (EVACANTUSQ176N)
symbol <-fredr_series_observations(series_id = "EVACANTUSQ176N",
observation_start = as.Date("2019-01-01"))
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
column_spec(2, T, color = "red" )
date
|
value
|
2019-01-01
|
16826
|
2019-04-01
|
17044
|
2019-07-01
|
17051
|
2019-10-01
|
16123
|
2020-01-01
|
15975
|
2020-04-01
|
13877
|
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% ggplot() +
geom_line(mapping = aes(x=date,y=value),color="red",size=1) +
labs(title = "Vacant Housing Units (Estimate of Housing Inventory)",
subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
x="Quarterly", y="Thousands",
caption = "Data source: FRED Federal Reserve. Illustration by @JoeLongSanDiego")+
theme_economist()

Housing Inventory: Active Listing Count in the United States (ACTLISCOUUS)
symbol <-fredr_series_observations(series_id = "ACTLISCOUUS",
observation_start = as.Date("2019-01-01"))
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
column_spec(2, T, color = "red" )
date
|
value
|
2019-01-01
|
1206431
|
2019-02-01
|
1200121
|
2019-03-01
|
1211907
|
2019-04-01
|
1231819
|
2019-05-01
|
1279367
|
2019-06-01
|
1325305
|
2019-07-01
|
1349468
|
2019-08-01
|
1355241
|
2019-09-01
|
1357620
|
2019-10-01
|
1319570
|
2019-11-01
|
1251758
|
2019-12-01
|
1134513
|
2020-01-01
|
1042037
|
2020-02-01
|
1016679
|
2020-03-01
|
1024667
|
2020-04-01
|
1043205
|
2020-05-01
|
1024721
|
2020-06-01
|
961837
|
2020-07-01
|
908983
|
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% ggplot() +
geom_line(mapping = aes(x=date,y=value),color="red",size=1) +
labs(title = " Active Listing Count ",
subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
x="Monthly", y="Level",
caption = "Data source: FRED Federal Reserve. Illustration by @JoeLongSanDiego")+
theme_economist()

New Private Housing Units Authorized by Building Permits (PERMITNSA)
symbol <-fredr_series_observations(series_id = "PERMITNSA",
observation_start = as.Date("2019-01-01"))
indicator <-as.data.frame(symbol)[,c(1,3)]
tail(indicator) %>% kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
column_spec(2, T, color = "red" )
|
date
|
value
|
14
|
2020-02-01
|
100.2
|
15
|
2020-03-01
|
115.9
|
16
|
2020-04-01
|
96.0
|
17
|
2020-05-01
|
104.4
|
18
|
2020-06-01
|
124.0
|
19
|
2020-07-01
|
136.4
|
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% ggplot() +
geom_line(mapping = aes(x=date,y=value),color="red",size=1) +
labs(title = "New Housing Construction Permit",
subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
x="Time", y="Thousands",
caption = "Data source: FRED Federal Reserve. Illustration by @JoeLongSanDiego")+
theme_economist()

Housing Starts: Total: New Privately Owned Housing Units Started (HOUSTNSA)
symbol <-fredr_series_observations(series_id = "HOUSTNSA",
observation_start = as.Date("2019-01-01"))
indicator <-as.data.frame(symbol)[,c(1,3)]
tail(indicator) %>% kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
column_spec(2, T, color = "red" )
|
date
|
value
|
14
|
2020-02-01
|
111.6
|
15
|
2020-03-01
|
104.5
|
16
|
2020-04-01
|
84.9
|
17
|
2020-05-01
|
95.1
|
18
|
2020-06-01
|
114.6
|
19
|
2020-07-01
|
139.4
|
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% ggplot() +
geom_line(mapping = aes(x=date,y=value),color="red",size=1) +
labs(title = "Housing Construction Starts",
subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
x="Time", y="Thousands",
caption = "Data source: FRED Federal Reserve. Illustration by @JoeLongSanDiego")+
theme_economist()

New Privately-Owned Housing Units Under Construction: Total (UNDCONTNSA)
symbol <-fredr_series_observations(series_id = "UNDCONTNSA",
observation_start = as.Date("2019-01-01"))
indicator <-as.data.frame(symbol)[,c(1,3)]
tail(indicator) %>% kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
column_spec(2, T, color = "red" )
|
date
|
value
|
14
|
2020-02-01
|
1198
|
15
|
2020-03-01
|
1200
|
16
|
2020-04-01
|
1189
|
17
|
2020-05-01
|
1183
|
18
|
2020-06-01
|
1178
|
19
|
2020-07-01
|
1202
|
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% ggplot() +
geom_line(mapping = aes(x=date,y=value),color="red",size=1) +
labs(title = "Housing Units Under Construction",
subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
x="Time", y="Thousands",
caption = "Data source: FRED Federal Reserve. Illustration by @JoeLongSanDiego")+
theme_economist()

New Privately-Owned Housing Units Completed: Total (COMPUTNSA)
symbol <-fredr_series_observations(series_id = "COMPUTNSA",
observation_start = as.Date("2019-01-01"))
indicator <-as.data.frame(symbol)[,c(1,3)]
tail(indicator) %>% kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
column_spec(2, T, color = "red" )
|
date
|
value
|
14
|
2020-02-01
|
90.8
|
15
|
2020-03-01
|
101.7
|
16
|
2020-04-01
|
94.6
|
17
|
2020-05-01
|
98.5
|
18
|
2020-06-01
|
109.8
|
19
|
2020-07-01
|
110.9
|
indicator <-as.data.frame(symbol)[,c(1,3)]
indicator %>% ggplot() +
geom_line(mapping = aes(x=date,y=value),color="red",size=1) +
labs(title = "Housing Units Completed",
subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
x="Time", y="Thousands",
caption = "Data source: FRED Federal Reserve. Illustration by @JoeLongSanDiego")+
theme_economist()
