## Existing Home Sales (EXHOSLUSM495N)

symbol <-fredr_series_observations(series_id = "EXHOSLUSM495N", 
      observation_start = as.Date("2019-01-01"))
      
indicator <-as.data.frame(symbol)[,c(1,3)]

tail(indicator,n=12) %>% kable() %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
   column_spec(2:3, T, color = "blue" ) 
date value
3 2019-11-01 404000
4 2019-12-01 434000
5 2020-01-01 317000
6 2020-02-01 335000
7 2020-03-01 416000
8 2020-04-01 373000
9 2020-05-01 372000
10 2020-06-01 507000
11 2020-07-01 597000
12 2020-08-01 560000
13 2020-09-01 563000
14 2020-10-01 573000
indicator <-as.data.frame(symbol)[,c(1,3)]

indicator %>% ggplot() + 
   geom_rect(aes(xmin= dmy('01-01-2020'), xmax=dmy('01-11-2020'), ymin = -Inf, ymax = Inf),
                   fill = "white", alpha = 0.02)+
  geom_line(mapping = aes(x=date,y=value),color="blue",size=1)  +
     labs(title = "Existing Home Sales (EXHOSLUSM495N)", 
          subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
       x="Time", y="Number of units",
       caption = "Data source: National Association of Realtors\nIllustration by @JoeLongSanDiego")+
    theme_economist()
## Warning: Removed 1 row(s) containing missing values (geom_path).

Existing Home Sales: Housing Inventory (HOSINVUSM495N)

symbol <-fredr_series_observations(series_id = "HOSINVUSM495N", 
      observation_start = as.Date("2019-01-01"))
      
indicator <-as.data.frame(symbol)[,c(1,3)]

tail(indicator,n=12) %>% kable() %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
   column_spec(2:3, T, color = "blue" ) 
date value
3 2019-11-01 1640000
4 2019-12-01 1390000
5 2020-01-01 1400000
6 2020-02-01 1460000
7 2020-03-01 1490000
8 2020-04-01 1460000
9 2020-05-01 1550000
10 2020-06-01 1540000
11 2020-07-01 1500000
12 2020-08-01 1490000
13 2020-09-01 1460000
14 2020-10-01 1420000
indicator <-as.data.frame(symbol)[,c(1,3)]

indicator %>% ggplot() + 
   geom_rect(aes(xmin= dmy('01-01-2020'), xmax=dmy('01-11-2020'), ymin = -Inf, ymax = Inf),
                   fill = "white", alpha = 0.02)+
  geom_line(mapping = aes(x=date,y=value),color="blue",size=1)  +
     labs(title = "Existing Home Sales: Housing Inventory (HOSINVUSM495N)", 
          subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
       x="Time", y="Number of units",
       caption = "Data source: National Association of Realtors\nIllustration by @JoeLongSanDiego")+
    theme_economist()
## Warning: Removed 1 row(s) containing missing values (geom_path).

Median Sales Price of Existing Homes (HOSMEDUSM052N)

symbol <-fredr_series_observations(series_id = "HOSMEDUSM052N", 
      observation_start = as.Date("2019-01-01"))
      
indicator <-as.data.frame(symbol)[,c(1,3)]

tail(indicator,n=12) %>% kable() %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed")) %>%
   column_spec(2:3, T, color = "blue" ) 
date value
3 2019-11-01 271300
4 2019-12-01 274500
5 2020-01-01 266200
6 2020-02-01 270400
7 2020-03-01 280700
8 2020-04-01 286700
9 2020-05-01 283600
10 2020-06-01 294500
11 2020-07-01 305500
12 2020-08-01 310400
13 2020-09-01 311400
14 2020-10-01 313000
indicator <-as.data.frame(symbol)[,c(1,3)]

indicator %>% ggplot() + 
   geom_rect(aes(xmin= dmy('01-01-2020'), xmax=dmy('01-10-2020'), ymin = -Inf, ymax = Inf),
                   fill = "white", alpha = 0.02)+
  geom_line(mapping = aes(x=date,y=value),color="blue",size=1)  +
     labs(title = "Median Sales Price of Existing Homes", 
          subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
       x="Monthly", y="Dollars",
       caption = "Data source: FRED Federal Reserve.   Illustration by @JoeLongSanDiego")+
    theme_economist()
## Warning: Removed 1 row(s) containing missing values (geom_path).

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-09-01 NA
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 460000
2020-07-01 538000
2020-08-01 501000
2020-09-01 502000
2020-10-01 511000
indicator <-as.data.frame(symbol)[,c(1,3)]

indicator %>% ggplot() + 
   geom_rect(aes(xmin= dmy('01-01-2020'), xmax=dmy('01-10-2020'), ymin = -Inf, ymax = Inf),
                   fill = "white", alpha = 0.02)+
  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"))
## Request failed [504]. Retrying in 1.9 seconds...
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
2020-07-01 14246
indicator <-as.data.frame(symbol)[,c(1,3)]

indicator %>% ggplot() + 
   geom_rect(aes(xmin= dmy('01-01-2020'), xmax=dmy('01-10-2020'), ymin = -Inf, ymax = Inf),
                   fill = "white", alpha = 0.02)+
  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"))
## Request failed [504]. Retrying in 1 seconds...
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
2020-08-01 862124
2020-09-01 828576
2020-10-01 813665
indicator <-as.data.frame(symbol)[,c(1,3)]

indicator %>% ggplot() + 
   geom_rect(aes(xmin= dmy('01-01-2020'), xmax=dmy('01-10-2020'), ymin = -Inf, ymax = Inf),
                   fill = "white", alpha = 0.02)+
  geom_line(mapping = aes(x=date,y=value),color="red",size=1)  +
     labs(title = " Active Housing Listing Count on Market ", 
          subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
       x="Monthly", y="Level",
       caption = "Data source: National Association of Realtors\nIllustration 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
17 2020-05-01 104.4
18 2020-06-01 124.0
19 2020-07-01 135.4
20 2020-08-01 126.2
21 2020-09-01 133.3
22 2020-10-01 133.0
indicator <-as.data.frame(symbol)[,c(1,3)]

indicator %>% ggplot() + 
   geom_rect(aes(xmin= dmy('01-01-2020'), xmax=dmy('01-10-2020'), ymin = -Inf, ymax = Inf),
                   fill = "white", alpha = 0.02)+
  geom_line(mapping = aes(x=date,y=value),color="red",size=1)  +
     labs(title = "Housing Units Authorized by Building Permits (PERMITNSA)", 
          subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
       x="Time", y="Thousands",
       caption = "Data source: National Association of Realtors\nIllustration by @JoeLongSanDiego")+
    theme_economist()

Housing Starts: 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
17 2020-05-01 95.1
18 2020-06-01 118.8
19 2020-07-01 138.7
20 2020-08-01 122.5
21 2020-09-01 128.8
22 2020-10-01 132.0
indicator <-as.data.frame(symbol)[,c(1,3)]

indicator %>% ggplot() + 
   geom_rect(aes(xmin= dmy('01-01-2020'), xmax=dmy('01-10-2020'), ymin = -Inf, ymax = Inf),
                   fill = "white", alpha = 0.02)+
  geom_line(mapping = aes(x=date,y=value),color="red",size=1)  +
     labs(title = " Housing Starts: New Privately Owned Housing Units Started (HOUSTNSA)", 
          subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}"),
       x="Time", y="Thousands",
       caption = "Data source: National Association of Realtors\nIllustration by @JoeLongSanDiego")+
    theme_economist()

Median Sales Price for New Houses Sold in the United States (MSPNHSUS)

symbol <-fredr_series_observations(series_id = "MSPNHSUS", 
      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
16 2020-04-01 310100
17 2020-05-01 317100
18 2020-06-01 341100
19 2020-07-01 329900
20 2020-08-01 322400
21 2020-09-01 326800
indicator <-as.data.frame(symbol)[,c(1,3)]

indicator %>% ggplot() + 
   geom_rect(aes(xmin= dmy('01-01-2020'), xmax=dmy('01-10-2020'), ymin = -Inf, ymax = Inf),
                   fill = "white", alpha = 0.02)+
  geom_line(mapping = aes(x=date,y=value),color="red",size=1)  +
     labs(title = " Median Sales Price for New Houses", 
          subtitle = str_glue("From {min(indicator$date)} through {max(indicator$date)}\nCaution: Each median sale price value consisted of different mix of housing products"),
       x="Time", y=" Dollars",
       caption = "Data source: National Association of Realtors\nIllustration by @JoeLongSanDiego")+
    theme_economist()