It’s a widely held belief by the general public that housing prices are negatively correlated with interest rates. There are three different scenarios when it comes to correlation:
Some people, including real estate brokers and home buyers, think that the rise of interest rates reduces the housing affordability and trading volume, which in return lowers the housing prices due to decreased demand (interest rates cause housing prices)[1]. Economist Jack C. Harris proposes that it is the real rate of interest that explains the market price level[2].
Other people attribute the rising interest rates to a robust economy, and argue that a robust economy is the deterministic factor of housing prices[3]. In other words, there are other factors like GDP and unemployment rate that affect both interest rates and housing prices (confounding effect).
An opposing opinion views that rising interest rates imply higher inflation, which can be good for real assets like houses and should push up home prices[4].
Here, we do not consider the possibility that housing prices drive the interest rates, becuase interest rates are determined by the Federal Reserve in the U.S. who consider extensive factor when making monetary policy (reverse causality).
In order to verify the association between the housing prices and the interest rates, I will dive into a dataset to study how housing prices and interest rates interact with each other. One variables I use is slightly different than what researchers normally use, the nominal/real interest rate. Instead, I will look at the effective interest rate quoted by mortgage lenders. This is because the effective interest rate is the true cost of buying a home through mortgage, which, in my opinion, is the actualy factor considered in home buyers’ decisions, which in return affects the demand of houses and eventually the house prices.
The analysis of this project uses as reference Professor Ionides’s lecture note “Case study: An association between unemployment and mortality?”[10] and its source code.
The data was collected by the Federal Housing Finance Agency through a monthly survey to ask mortgage lenders to report information of interest rates, loan terms, house prices on all single-family, fully amortized, purchase-money, nonfarm loans that close during the last five business days of the month.
The data is downloaded from https://www.fhfa.gov/DataTools/Downloads/pages/monthly-interest-rate-data.aspx.
df=read.csv("MIRS.csv", header=TRUE)
head(df[,c("Year","Month","Purchase_Price","Effective_Interest_Rate")])
## Year Month Purchase_Price Effective_Interest_Rate
## 1 1973 1 32.8 7.68
## 2 1973 2 31.1 7.71
## 3 1973 3 32.2 7.70
## 4 1973 4 32.8 7.71
## 5 1973 5 32.2 7.76
## 6 1973 6 33.6 7.78
The plot of the time series of the two variables of interest is as follow:
To investigate the association between home purchase prices and effective interest rates, we need to assess if they cycle together. For this purpose, Hodrick-Prescott (HP) filter can help us achive the goal by separating the trend and cyclical components.
For a time series \({y_{1:N}^*}\), the HP filter is the time series \({s_{1:N}^*}\) constructed as[10]: \[ {s_{1:N}^*} = \arg\min_{s_{1:N}} \left\{ \sum^{N}_{n=1}\big({y_n^*}-s_{n}\big)^2 + \lambda\sum^{N-1}_{n=2}\big(s_{n+1}-2s_{n}+s_{n-1}\big)^2 \right\}. \] There is no smoothing when the smoothing parameter \(\lambda\) is 0. As \(\lambda\) increases, the smoothed time series becomes more linear. This turns into a linear trend when \(\lambda\) approaches infinity. The appropriate value of the smoothing parameter \(\lambda\) depends on the frequency of the time series, and the reference value in monthly data is \(\lambda = 14400\)[7].
require(mFilter)
p_hp <- hpfilter(df$Purchase_Price,freq=14400,type="lambda",drift=F)$cycle
i_hp <- hpfilter(df$Effective_Interest_Rate, freq=14400,type="lambda",drift=F)$cycle
plot(df$Date,p_hp,type="l",xlab="Year",ylab="")
par(new=TRUE)
plot(df$Date,i_hp,col="red",type="l",axes=FALSE,xlab="",ylab="")
axis(side=4, col="red")
legend("top", legend=c("Home Purchase Price", "Effective Interest Rate"),
col=c("black", "red"), lty=1, cex=0.8)
The two detrend time series look mean stationary, but not covariance stationary.
It looks like that the detrend home purchase price has higher variance after about 2003, while the detrend effective interest rate swings more between 1980 and 1990.
It is hard to see from the detrend time series plot whether home purchase prices and interest rates cycle together, because the plot is too dense and both home purchase prices and effective interest rates have high variability.
In order to find the relationship between these two variables, we can try fitting a linear regression with ARMA errors model. The home purchase price is denoted by \(P^{HP*}_n\), and the effective interest rate is denoted by \(I^{HP*}_n\). The model is specified below, \[ P^{HP}_n = \beta_0 + \beta_1 I^{HP*}_n + \epsilon_n, \] for which \({\epsilon_n}\) is a Gaussian ARMA(p,q) model satisfying a stochastic difference equation
\[ \epsilon_n = \phi_1\epsilon_{n-1}+\phi_2\epsilon_{n-2}+...+\phi_p\epsilon_{n-p}+w_n+\psi_1\omega_{n-1}+\psi_2\omega_{n-2}+...+\psi_q\omega_{n-q}, \]
where \({\omega_n}\) is Gaussian white noise, \(\omega_n\sim N(0, \sigma^2)\).
We construct a table of AIC values to choose a proper model for \(\{\epsilon_n\}\).
MA0 | MA1 | MA2 | MA3 | MA4 | MA5 | |
---|---|---|---|---|---|---|
AR0 | 3561.21 | 3376.87 | 3354.55 | 3317.82 | 3310.83 | 3311.60 |
AR1 | 3312.71 | 3310.36 | 3308.89 | 3305.66 | 3306.45 | 3308.44 |
AR2 | 3311.82 | 3311.02 | 3305.77 | 3306.69 | 3308.45 | 3310.45 |
AR3 | 3305.62 | 3304.91 | 3306.15 | 3308.62 | 3307.18 | 3280.80 |
AR4 | 3304.94 | 3306.90 | 3308.13 | 3308.69 | 3307.50 | 3309.50 |
arima_301 = arima(p_hp,xreg=i_hp,order=c(3,0,1))
arima_301
##
## Call:
## arima(x = p_hp, order = c(3, 0, 1), xreg = i_hp)
##
## Coefficients:
## ar1 ar2 ar3 ma1 intercept i_hp
## 0.0391 0.3034 0.1607 0.5340 -0.0540 -3.0330
## s.e. 0.2730 0.1729 0.0433 0.2772 0.7299 1.2797
##
## sigma^2 estimated as 29.78: log likelihood = -1645.46, aic = 3304.91
The detrend home purchase prices and the detrend effective interest rates are negatively correlated.
The standard errors calcualted by the observed Fisher information are small for AR(2), AR(3) and detrend effective interest rate, but large for AR(1) and the intercept.
We can examine the roots of the AR and MA polynomials to check causality and invertibility
AR_roots <- polyroot(c(1,-coef(arima_301)[c("ar1","ar2","ar3")]))
cat("The AR roots are:", AR_roots, "\n")
## The AR roots are: 1.349383-0i -1.618819+1.411258i -1.618819-1.411258i
MA_roots <- polyroot(c(1, coef(arima_301)["ma1"]))
cat("The MA root is:", MA_roots, "\n")
## The MA root is: -1.872527+0i
Then we can conduct a likelihood ratio test to test the correlation between home purchase price and effective interest rate:
log_lik_ratio <- as.numeric(
logLik(arima(p_hp,xreg=i_hp,order=c(3,0,1))) -
logLik(arima(p_hp,order=c(3,0,1)))
)
LRT_pval <- 1-pchisq(2*log_lik_ratio,df=1)
LRT_pval
## [1] 0.01743322
The linear regression with ARMA errors model is able to represent the association between the detrend home purchase price and the effective interest rate. Now We can visualize how good the fit it by making forecast.
I refer to the source code from one previous project “A Study on Crude Oil Price and CPI Value” in Winter 2016[11].
require(forecast)
Arima_301 = Arima(p_hp, order = c(3,0,1), xreg = i_hp)
plot(df$Date, Arima_301$x, col = "red", type = "l", xlab="Year", ylab="Home Purchase Price")
lines(df$Date, fitted(Arima_301), col = "blue")
legend("topleft", legend=c("Original Value", "Forecasted Value"),
col=c("red", "blue"), lty=1, cex=0.8)
For model diagnostics, we create the residual plot, Q-Q plot, and the sample ACF of both residuals and squared residuals:
To remedy the problems stated above, we need a generalized autoregressive conditional heteroskedasticity (GARCH) model that can capture the time-varying variance. The GARCH model is constructed as[9]: \[ \omega_n = \sqrt{\lambda_n}u_n,\\ \lambda_n = \alpha_0 + \sum^{q}_{i=1}{\alpha_i \omega_{n-i}^2} + \sum^{p}_{j=1}{\beta_j \lambda_{n-j}}, \\ \] where \({u_n}\) is a Gaussian white noise, \({u_n}\sim N(0, \sigma^2)\). Here, _n denotes the residuals from the linear regression with ARMA errors. For stationarity, we assume that \(\alpha_0 > 0\), \(\alpha_i >= 0\), \(\beta_j >= 0\), and \(\sum^{max(p,q)}_{l=1}({\alpha_i+\beta_j}) < 1\)
Similar to choosing the order for ARMA errors, we can constrauct a table of AIC values to choose the order for GARCH errors
GARCH(,0) | GARCH(,1) | GARCH(,2) | GARCH(,3) | GARCH(,4) | GARCH(,5) | |
---|---|---|---|---|---|---|
GARCH(0,) | NA | 3179.88 | 3159.18 | 3195.96 | 3176.05 | 2991.11 |
GARCH(1,) | 3289.12 | 3231.40 | 3225.51 | 3193.13 | 3172.33 | 3153.65 |
GARCH(2,) | 3285.75 | 3221.99 | 3215.21 | 3187.78 | 3165.36 | 3145.43 |
GARCH(3,) | 3282.51 | 3212.92 | 3204.83 | 3182.18 | 3158.60 | 3137.36 |
GARCH(4,) | 3279.26 | 3203.97 | 3193.94 | 3171.16 | 3151.63 | 3129.01 |
Therefore, we model the residuals of linear regression with ARMA(3,1) errors using GARCH(0,5).
##
## Call:
## garch(x = r, order = c(0, 5), trace = F)
##
## Model:
## GARCH(0,5)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.40391 -0.59703 -0.06035 0.53733 4.37869
##
## Coefficient(s):
## Estimate Std. Error t value Pr(>|t|)
## a0 1.78768 0.46041 3.883 0.000103 ***
## a1 0.29586 0.04677 6.326 2.52e-10 ***
## a2 0.10081 0.05384 1.872 0.061143 .
## a3 0.33241 0.06798 4.890 1.01e-06 ***
## a4 0.29229 0.03564 8.200 2.22e-16 ***
## a5 0.29175 0.04234 6.891 5.53e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Diagnostic Tests:
## Jarque Bera Test
##
## data: Residuals
## X-squared = 201.61, df = 2, p-value < 2.2e-16
##
##
## Box-Ljung test
##
## data: Squared.Residuals
## X-squared = 0.31351, df = 1, p-value = 0.5755
Analyzing frequency components present in our data can help us detect cycles from a different perspective.
We use the detrend time series of home purchase prices and effective interest rates to create a spectral plot:
p_ts <- ts(p_hp,frequency=1)
i_ts <- ts(i_hp,frequency=1)
p_spectrum = spectrum(p_hp,spans=c(5,8),main="Smoothed Periodogram")
par(new=TRUE)
i_spectrum = spectrum(i_hp,spans=c(5,8),col="red",main="",axes=FALSE,xlab="",ylab="",ci.col="red")
axis(side=4, col="red")
legend("top", legend=c("Home Purchase Price", "Effective Interest Rate"),
col=c("black", "red"), lty=1, cex=0.8)
1/0.02592593
## [1] 38.57142
1/0.01851852
## [1] 54
From the periodogram, we can see that the detrend home purchase prices and the detrend interest rates don’t seem to have a common cycle, because their peaks are all at different frequencies.
Both have a dominant cyclic frequency: the detrend home purchase prices have a dominant period of 38 months, whereas the detrend interest rates have a dominant period of 54 months. They differ by a lot, even though they look close to each other in the periodogram.
In summary, the time domain analysis shows us that the home purchase prices and the effective interest rates are negatively correlated. We found a linear regression model with ARMC(3,1)-GARCH(0,5) errors that has a relatively good fit. The frequency domain, however, doesn’t show any synchronized cyclic pattern.
For future analysis, some ideas I have include:
Do Higher Interest Rates Cause Lower House Prices?. Retreived from https://www.integratedmortgageplanners.com/blog/mortgage-market-updates/do-higher-interest-rates-cause-lower-house-prices/
Harris, J.C.. The effect of real rates of interest on housing prices. J Real Estate Finan Econ (1989) 2: 47. https://doi.org/10.1007/BF00161716
Should I Buy A Home In A Rising Interest Rate Environment?. Retrieved from https://www.financialsamurai.com/should-i-buy-a-home-in-a-rising-interest-rate-environment/
When interest rates go up in a healthy economy, history says home prices will rise. Retrieved from https://www.urban.org/urban-wire/when-interest-rates-go-healthy-economy-history-says-home-prices-will-rise
List of recessions in the United States. Retrieved from https://en.wikipedia.org/wiki/List_of_recessions_in_the_United_States
Why Mortgage Rates Once Reached a Sky-high 18.5%. Retrieved from https://finance.yahoo.com/blogs/just-explain-it/why-mortgage-rates-matter-152241574.html
Hodrick-Prescott filter for trend and cyclical components. Retrieved from https://www.mathworks.com/help/econ/hpfilter.html
Case, K., & Shiller, R. (1989). The Efficiency of the Market for Single-Family Homes. The American Economic Review, 79(1), 125-137. Retrieved from http://www.jstor.org/stable/1804778Copy
Ji Eun Choi. Stochastic Volatility Models andSimulated Maximum LikelihoodEstimationby. Retreived from https://uwspace.uwaterloo.ca/bitstream/handle/10012/6045/Choi_Ji_Eun.pdf?sequence=1
Ionides, E. (n.d.). Stats 531 (Winter 2016) “Analysis of Time Series”. Retrieved from http://ionides.github.io/531w16/
A Study on Crude Oil Price and CPI Value. Retrieved from https://ionides.github.io/531w16/midterm_project/project1/Stats_531_Midterm_Project.html