library("forecast")
library("rugarch")
Loading required package: methods
Loading required package: parallel
Attaching package: 'rugarch'
The following object is masked from 'package:stats':
sigma
library("tseries")
January 2, 2008 - March 28, 2008
data <- read.csv("http://ptrckprry.com/course/forecasting/data/bearstearns.csv")
date <- as.Date(data$date, format="%m/%d/%Y")
time <- 1:length(date)
BSCret <- data$BSCret
plot(date, BSCret, type="l", col=2)
Returns
par(mfrow=c(1,2))
Acf(BSCret)
Pacf(BSCret)
Diff. Returns
par(mfrow=c(1,2))
Acf(diff(BSCret))
Pacf(diff(BSCret))
AICC Values
d <- 0
for (include.constant in c(FALSE, TRUE)) {
for (p in 0:4) {
for (q in 0:4) {
fit <- Arima(BSCret, c(p,d,q), method="ML",
include.constant=include.constant)
cat("ARIMA",
"(", p, ",", d, ",", q, ")",
"(constant=", include.constant, ")",
" : ", fit$aicc, "\n", sep="")
}
}
}
ARIMA(0,0,0)(constant=FALSE) : -35.16031
ARIMA(0,0,1)(constant=FALSE) : -34.62698
ARIMA(0,0,2)(constant=FALSE) : -35.99712
ARIMA(0,0,3)(constant=FALSE) : -42.84813
ARIMA(0,0,4)(constant=FALSE) : -47.21773
ARIMA(1,0,0)(constant=FALSE) : -34.53045
ARIMA(1,0,1)(constant=FALSE) : -40.18723
ARIMA(1,0,2)(constant=FALSE) : -38.01908
ARIMA(1,0,3)(constant=FALSE) : -42.31904
ARIMA(1,0,4)(constant=FALSE) : -49.44943
ARIMA(2,0,0)(constant=FALSE) : -32.32843
ARIMA(2,0,1)(constant=FALSE) : -38.12093
ARIMA(2,0,2)(constant=FALSE) : -37.41074
ARIMA(2,0,3)(constant=FALSE) : -44.39582
ARIMA(2,0,4)(constant=FALSE) : -47.69503
ARIMA(3,0,0)(constant=FALSE) : -30.47742
ARIMA(3,0,1)(constant=FALSE) : -39.23293
ARIMA(3,0,2)(constant=FALSE) : -42.51048
ARIMA(3,0,3)(constant=FALSE) : -42.79488
ARIMA(3,0,4)(constant=FALSE) : -45.05117
ARIMA(4,0,0)(constant=FALSE) : -41.74055
ARIMA(4,0,1)(constant=FALSE) : -39.2671
ARIMA(4,0,2)(constant=FALSE) : -41.3395
ARIMA(4,0,3)(constant=FALSE) : -44.81976
ARIMA(4,0,4)(constant=FALSE) : -42.341
ARIMA(0,0,0)(constant=TRUE) : -33.21241
ARIMA(0,0,1)(constant=TRUE) : -32.55884
ARIMA(0,0,2)(constant=TRUE) : -33.89324
ARIMA(0,0,3)(constant=TRUE) : -40.47506
ARIMA(0,0,4)(constant=TRUE) : -45.0509
ARIMA(1,0,0)(constant=TRUE) : -32.45962
ARIMA(1,0,1)(constant=TRUE) : -38.02689
ARIMA(1,0,2)(constant=TRUE) : -35.78304
ARIMA(1,0,3)(constant=TRUE) : -39.87188
ARIMA(1,0,4)(constant=TRUE) : -48.92238
ARIMA(2,0,0)(constant=TRUE) : -30.18139
ARIMA(2,0,1)(constant=TRUE) : -35.89054
ARIMA(2,0,2)(constant=TRUE) : -36.90732
ARIMA(2,0,3)(constant=TRUE) : -41.89337
ARIMA(2,0,4)(constant=TRUE) : -46.60697
ARIMA(3,0,0)(constant=TRUE) : -28.22613
ARIMA(3,0,1)(constant=TRUE) : -36.84817
ARIMA(3,0,2)(constant=TRUE) : -40.06975
ARIMA(3,0,3)(constant=TRUE) : -40.20443
ARIMA(3,0,4)(constant=TRUE) : -44.18157
ARIMA(4,0,0)(constant=TRUE) : -39.55506
ARIMA(4,0,1)(constant=TRUE) : -37.01267
ARIMA(4,0,2)(constant=TRUE) : -39.44428
ARIMA(4,0,3)(constant=TRUE) : -42.1212
ARIMA(4,0,4)(constant=TRUE) : -41.30252
(fit.mean <- Arima(BSCret, c(1, 0, 4), include.constant=FALSE))
Series: BSCret
ARIMA(1,0,4) with zero mean
Coefficients:
ar1 ma1 ma2 ma3 ma4
0.4625 -0.2547 -0.0151 0.2768 -0.6937
s.e. 0.1845 0.1467 0.1028 0.0950 0.1049
sigma^2 estimated as 0.02135: log likelihood=31.52
AIC=-51.03 AICc=-49.45 BIC=-38.47
resid <- as.numeric(residuals(fit.mean))
plot(date, resid, type="l", col=3)