Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
On Friday, the CSO released a new house (and apartment) price index, for the national, Dublin, and national excluding Dublin regions. The release has been noted and covered by the great Irish Economy and Namawinelake blogs. I want to briefly look at some of the statistical properties of this series in more detail.
Below is a plot of national property prices, the stock of mortgage debt, and the rent index from the consumer price index (CPI) sub-index group 04, where I have indexed the mortgage debt and rent series to the same base as the property index (January 2005).
The national property price index looks non-stationary, though any I(d)/I(0) analysis will be somewhat unsatisfactory due to the small sample size. Below is the autocorrelation and partial autocorrelation functions, respectively, of the national property price series.
We can see a clear linear decline in the ACF, and a near unity value in the first lag of the PACF, indicating a unit-root.
Augmented Dickey-Fuller (ADF) Tests:
| Test Statistic | 1 Pct | 5 Pct | 10 Pct | No. Lags | |
| -3.409031 | -4.04 | -3.45 | -3.15 | 10 | |
| -1.534216 | -3.51 | -2.89 | -2.58 | 10 | |
| -1.167147 | -2.60 | -1.95 | -1.61 | 11 |
KPSS Tests:
| Test Statistic | 1 Pct | 5 Pct | 10 Pct | No. Lags | |
| 0.9815038 | 0.739 | 0.463 | 0.347 | 3 | |
| 0.3699892 | 0.739 | 0.463 | 0.347 | 11 | |
| 0.4757929 | 0.216 | 0.146 | 0.119 | 3 | |
| 0.1865829 | 0.216 | 0.146 | 0.119 | 11 |
In all ADF tests, we cannot reject the null of a unit root, and we reject the null of stationarity with short-lag KPSS tests, though not at longer lag lengths. Interestingly, this doesn’t look like an I(1) series, based on the same tests on the first-difference of the series:
Augmented Dickey-Fuller (ADF) Tests:
| Test Statistic | 1 Pct | 5 Pct | 10 Pct | No. Lags | |
| -1.9447631 | -4.04 | -3.45 | -3.15 | 10 | |
| -1.2772656 | -3.51 | -2.89 | -2.58 | 10 | |
| -1.0238878 | -2.60 | -1.95 | -1.61 | 10 |
KPSS Tests:
| Test Statistic | 1 Pct | 5 Pct | 10 Pct | No. Lags | |
| 1.3204211 | 0.739 | 0.463 | 0.347 | 3 | |
| 0.5077005 | 0.739 | 0.463 | 0.347 | 11 | |
| 0.2494931 | 0.216 | 0.146 | 0.119 | 3 | |
| 0.1175553 | 0.216 | 0.146 | 0.119 | 11 |
This raises some potential problems for any cointegration analysis of house prices and mortgage debt, if the latter series is I(1).
require(tseries)
require(urca)
require(ggplot2)
#
a<-read.csv(file="Book1.csv")
#
Debt<-a[,4]
Property<-a[,2]
Rent<-a[,5]
#
debtts<-ts(Debt,start = c(2005, 1), end = c(2011, 3), frequency=12)
propts<-ts(Property,start = c(2005, 1), end = c(2011, 3), frequency=12)
rentts<-ts(Rent,start = c(2005, 1), end = c(2011, 3), frequency=12)
#
ddebtts<-diff(debtts)
dpropts<-diff(propts)
drentts<-diff(rentts)
#
dates <- as.Date(a$Date, "%d/%m/%Y")
df1<-data.frame(dates,Property,Debt,Rent)
#
gg1.1<-ggplot(df1,aes(dates)) + xlab(NULL) + ylab("Jan 2005 = 100")
gg1.2<-gg1.1 + geom_line(aes(y = Debt, colour = "Mortgage Debt")) + geom_line(aes(y = Property, colour = "Property Index")) + geom_line(aes(y = Rent, colour = "Rent")) + scale_colour_hue("Series:") + opts(title="Mortgage, Propery, and Rent Indices") + opts(legend.position=c(.15,0.8))
#
png(filename = "prop1.png", width = 1000, height = 600, units = "px", pointsize = 12, bg = "white")
gg1.2
dev.off()
#
png(filename = "propacf.png", width = 600, height = 800, units = "px", pointsize = 12, bg = "white")
par(mfrow=c(2,1))
acf(propts,main="ACF of National Property Price Index")
pacf(propts,main="PACF of National Property Price Index")
dev.off()
#
summary(ur.df(propts,type="trend",lags = 12, selectlags="AIC"))
summary(ur.df(propts,type="drift",lags = 12, selectlags="AIC"))
summary(ur.df(propts,type="none",lags = 12, selectlags="AIC"))
#
summary(ur.kpss(propts,type="mu",lags="short"))
summary(ur.kpss(propts,type="mu",lags="long"))
summary(ur.kpss(propts,type="tau",lags="short"))
summary(ur.kpss(propts,type="tau",lags="long"))
#
summary(ur.df(dpropts,type="trend",lags = 12, selectlags="AIC"))
summary(ur.df(dpropts,type="drift",lags = 12, selectlags="AIC"))
summary(ur.df(dpropts,type="none",lags = 12, selectlags="AIC"))
#
summary(ur.kpss(dpropts,type="mu",lags="short"))
summary(ur.kpss(dpropts,type="mu",lags="long"))
summary(ur.kpss(dpropts,type="tau",lags="short"))
summary(ur.kpss(dpropts,type="tau",lags="long"))
#
png(filename = "dpropacf.png", width = 600, height = 800, units = "px", pointsize = 12, bg = "white")
par(mfrow=c(2,1))
acf(dpropts,main="ACF of FD (National Property Price Index)")
pacf(dpropts,main="PACF of FD (National Property Price Index)")
dev.off()
#
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
