Charter Communications

chtr = read.csv("CHTR.csv")

library(fpp)
## Loading required package: forecast
## Warning: package 'forecast' was built under R version 3.3.2
## Loading required package: fma
## Warning: package 'fma' was built under R version 3.3.2
## Loading required package: expsmooth
## Loading required package: lmtest
## Warning: package 'lmtest' was built under R version 3.3.2
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 3.3.2
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Loading required package: tseries
## Warning: package 'tseries' was built under R version 3.3.2
library(forecast)
library(xts)
## Warning: package 'xts' was built under R version 3.3.2
library(tseries)

str(chtr)
## 'data.frame':    1259 obs. of  7 variables:
##  $ Date     : Factor w/ 1259 levels "2013-04-10","2013-04-11",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ Open     : num  104 104 104 104 104 ...
##  $ High     : num  105 105 105 104 105 ...
##  $ Low      : num  103 103 104 103 103 ...
##  $ Close    : num  104 105 105 103 105 ...
##  $ Adj.Close: num  104 105 105 103 105 ...
##  $ Volume   : int  767200 489600 526300 425100 492300 491100 962200 663900 681500 619400 ...
head(chtr)
##         Date   Open   High    Low  Close Adj.Close Volume
## 1 2013-04-10 104.46 104.84 102.97 103.67    103.67 767200
## 2 2013-04-11 103.77 104.84 103.29 104.84    104.84 489600
## 3 2013-04-12 104.19 105.47 104.19 105.06    105.06 526300
## 4 2013-04-15 104.26 104.26 102.89 103.08    103.08 425100
## 5 2013-04-16 104.24 105.20 102.95 104.91    104.91 492300
## 6 2013-04-17 104.64 105.39 103.22 104.03    104.03 491100
tail (chtr)
##            Date   Open   High    Low  Close Adj.Close  Volume
## 1254 2018-04-02 308.91 310.60 298.67 303.87    303.87 1753000
## 1255 2018-04-03 305.51 312.37 303.79 306.37    306.37 1706800
## 1256 2018-04-04 304.38 312.47 302.05 311.69    311.69 1857100
## 1257 2018-04-05 312.50 317.64 311.94 317.02    317.02  875500
## 1258 2018-04-06 314.88 316.08 308.47 310.67    310.67 1235000
## 1259 2018-04-09 311.88 319.74 310.67 316.51    316.51 1144000
chtr.ts<-ts(chtr$Adj.Close, frequency=252, start=c(2013,71))
plot(chtr.ts)

train = chtr[2:1008,]
test = chtr[1009:1259,]

train.ts<-ts(train$Adj.Close, frequency=252, start=c(2013,71))
plot(train.ts)

test.ts<-ts(test$Adj.Close, frequency=252, start=c(2017,71))
plot(test.ts)

vol.train <- as.numeric(chtr$Volume[1:1007])
vol.test <- as.numeric(chtr$Volume[1008:1259])

Arima with regressor

myarima1 =auto.arima(train.ts, xreg = vol.train)
myarima1
## Series: train.ts 
## Regression with ARIMA(1,1,2) errors 
## 
## Coefficients:
##          ar1      ma1      ma2   drift  xreg
##       0.6887  -0.7243  -0.0539  0.2237     0
## s.e.  0.0991   0.1013   0.0344  0.0000     0
## 
## sigma^2 estimated as 9.451:  log likelihood=-2554.76
## AIC=5121.52   AICc=5121.61   BIC=5151
predict.myarima1 <- forecast(myarima1, xreg = vol.test)
acc.myarima1 <- accuracy(predict.myarima1, test.ts)
plot(predict.myarima1)

Arima without regressor

myarima2 =auto.arima(train.ts)
myarima2
## Series: train.ts 
## ARIMA(0,1,3) with drift 
## 
## Coefficients:
##           ma1      ma2      ma3   drift
##       -0.0329  -0.0612  -0.1057  0.2249
## s.e.   0.0315   0.0322   0.0329  0.0775
## 
## sigma^2 estimated as 9.452:  log likelihood=-2555.34
## AIC=5120.69   AICc=5120.75   BIC=5145.26
predict.myarima2 <- forecast(myarima2)
acc.myarima2 <- accuracy(predict.myarima2, test.ts)
plot(predict.myarima2)

ETS without regressor

myets <- ets(train.ts, model = "ZZZ")
## Warning in ets(train.ts, model = "ZZZ"): I can't handle data with frequency
## greater than 24. Seasonality will be ignored. Try stlf() if you need
## seasonal forecasts.
ets.predict <- forecast(myets)
ets.acc <- accuracy(ets.predict, test.ts)
plot(ets.predict)

Compare

acc.myarima1
##                         ME      RMSE       MAE         MPE     MAPE
## Training set   0.001207996  3.065058  2.096424 -0.04298087 1.165657
## Test set     -10.207768582 30.187306 23.275671 -3.36967048 6.763478
##                    MASE        ACF1 Theil's U
## Training set 0.04442067 0.001908886        NA
## Test set     0.49318301 0.969077055  5.246303
acc.myarima2
##                         ME      RMSE       MAE         MPE     MAPE
## Training set -9.171029e-06  3.066837  2.105121 -0.03992221 1.172393
## Test set     -1.082702e+01 30.451394 23.512305 -3.54804269 6.838512
##                    MASE        ACF1 Theil's U
## Training set 0.04460493 0.002285429        NA
## Test set     0.49819699 0.969127781  5.300099
ets.acc
##                       ME      RMSE       MAE         MPE     MAPE
## Training set  0.01730157  3.087903  2.098406 -0.02292449 1.166998
## Test set     -8.58837916 29.121723 22.416759 -2.90289217 6.499033
##                    MASE       ACF1 Theil's U
## Training set 0.04446266 -0.0213918        NA
## Test set     0.47498371  0.9684166  5.038832