Preamble

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")

Bear Stearns Daily Returns

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

Time Series Plot

plot(date, BSCret, type="l", col=2)

ACF, PACF

Returns

par(mfrow=c(1,2))
Acf(BSCret)
Pacf(BSCret)

Diff. Returns

par(mfrow=c(1,2))
Acf(diff(BSCret))
Pacf(diff(BSCret))

ARIMA Model for Mean

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

Selected Model for Mean

(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

Residuals

resid <- as.numeric(residuals(fit.mean))
plot(date, resid, type="l", col=3)