library(forecast)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(xts)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(TTR)
library(tseries)
AMD=read.csv("C:/Users/yiq00/Downloads/AMD.csv",header=TRUE)
str(AMD)
## 'data.frame': 35 obs. of 7 variables:
## $ Date : chr "2018-02-01" "2018-03-01" "2018-04-01" "2018-05-01" ...
## $ Open : num 13.62 12.26 9.99 10.83 13.98 ...
## $ High : num 13.8 12.8 11.4 13.9 17.3 ...
## $ Low : num 10.63 9.79 9.04 10.77 13.92 ...
## $ Close : num 12.1 10.1 10.9 13.7 15 ...
## $ Adj.Close: num 12.1 10.1 10.9 13.7 15 ...
## $ Volume : num 1.10e+09 1.48e+09 1.16e+09 1.02e+09 1.63e+09 ...
head(AMD)
## Date Open High Low Close Adj.Close Volume
## 1 2018-02-01 13.62 13.84 10.63 12.11 12.11 1103985800
## 2 2018-03-01 12.26 12.82 9.79 10.05 10.05 1483511900
## 3 2018-04-01 9.99 11.36 9.04 10.88 10.88 1163360900
## 4 2018-05-01 10.83 13.95 10.77 13.73 13.73 1020602700
## 5 2018-06-01 13.98 17.34 13.92 14.99 14.99 1632781900
## 6 2018-07-01 14.80 20.18 14.74 18.33 18.33 1456419400
summary(AMD)
## Date Open High Low
## Length:35 Min. : 9.99 Min. :11.36 Min. : 9.04
## Class :character 1st Qu.:20.45 1st Qu.:25.33 1st Qu.:17.06
## Mode :character Median :30.50 Median :34.30 Median :27.43
## Mean :36.80 Mean :42.47 Mean :33.65
## 3rd Qu.:47.14 3rd Qu.:57.80 3rd Qu.:43.90
## Max. :91.92 Max. :94.28 Max. :78.97
## Close Adj.Close Volume
## Min. :10.05 Min. :10.05 Min. :2.691e+07
## 1st Qu.:22.41 1st Qu.:22.41 1st Qu.:1.166e+09
## Median :30.45 Median :30.45 Median :1.284e+09
## Mean :38.38 Mean :38.38 Mean :1.453e+09
## 3rd Qu.:49.70 3rd Qu.:49.70 3rd Qu.:1.660e+09
## Max. :90.82 Max. :90.82 Max. :3.063e+09
AMDts=ts(AMD[,2], start=c(2018,02,01), end=c(2020,11,11), frequency = 12)
plot(AMDts, main="Monthly AMD Volume (2018-2020)",ylab="Volume")
Forcasting
plot(decompose(AMDts))
Using auto.arima
Model_1.arima=auto.arima(AMDts, stepwise=FALSE, approximation=FALSE)
Model_1.arima
## Series: AMDts
## ARIMA(0,1,0) with drift
##
## Coefficients:
## drift
## 1.8858
## s.e. 1.1325
##
## sigma^2 estimated as 43.65: log likelihood=-108.62
## AIC=221.25 AICc=221.65 BIC=224.24
summary(Model_1.arima)
## Series: AMDts
## ARIMA(0,1,0) with drift
##
## Coefficients:
## drift
## 1.8858
## s.e. 1.1325
##
## sigma^2 estimated as 43.65: log likelihood=-108.62
## AIC=221.25 AICc=221.65 BIC=224.24
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set 0.0003451246 6.409542 4.340809 -3.570653 13.56603 0.189307
## ACF1
## Training set 0.05987298
hist(residuals(Model_1.arima))
Model_1.arima.fc=forecast(Model_1.arima,h=6)
plot(Model_1.arima.fc, main="Monthly AMD Volume (2018-2020)",ylab="Volume")
Using ETS
Model_2.ETS <- ets(AMDts, model="ZZZ")
Model_2.ETS
## ETS(M,A,N)
##
## Call:
## ets(y = AMDts, model = "ZZZ")
##
## Smoothing parameters:
## alpha = 0.9099
## beta = 1e-04
##
## Initial states:
## l = 11.5749
## b = 1.5144
##
## sigma: 0.1752
##
## AIC AICc BIC
## 239.0631 241.2059 246.6949
plot(Model_2.ETS)
summary(Model_2.ETS)
## ETS(M,A,N)
##
## Call:
## ets(y = AMDts, model = "ZZZ")
##
## Smoothing parameters:
## alpha = 0.9099
## beta = 1e-04
##
## Initial states:
## l = 11.5749
## b = 1.5144
##
## sigma: 0.1752
##
## AIC AICc BIC
## 239.0631 241.2059 246.6949
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE ACF1
## Training set 0.4414538 6.470309 4.334353 -2.174877 13.29986 0.1890254 0.1195176
hist(residuals(Model_2.ETS))
Garch
Model_3.Garch <- garch(AMDts)
##
## ***** ESTIMATION WITH ANALYTICAL GRADIENT *****
##
##
## I INITIAL X(I) D(I)
##
## 1 4.120092e+02 1.000e+00
## 2 5.000000e-02 1.000e+00
## 3 5.000000e-02 1.000e+00
##
## IT NF F RELDF PRELDF RELDX STPPAR D*STEP NPRELDF
## 0 1 1.513e+02
## 1 2 1.338e+02 1.16e-01 1.27e+00 1.2e-03 1.9e+02 1.0e+00 1.22e+02
## 2 4 1.333e+02 3.37e-03 3.01e-03 5.6e-05 4.1e+00 5.0e-02 2.39e-01
## 3 6 1.326e+02 5.53e-03 5.48e-03 1.1e-04 1.0e+00 1.0e-01 1.19e-02
## 4 8 1.325e+02 9.23e-04 9.22e-04 2.2e-05 1.6e+01 2.0e-02 7.13e-03
## 5 10 1.323e+02 1.67e-03 1.67e-03 4.5e-05 2.8e+00 4.0e-02 6.95e-03
## 6 12 1.322e+02 3.06e-04 3.06e-04 9.1e-06 3.4e+01 8.0e-03 5.75e-03
## 7 14 1.322e+02 6.01e-05 6.01e-05 1.8e-06 1.6e+02 1.6e-03 5.82e-03
## 8 16 1.322e+02 1.19e-04 1.19e-04 3.6e-06 2.1e+01 3.2e-03 5.84e-03
## 9 18 1.322e+02 2.36e-05 2.36e-05 7.3e-07 4.0e+02 6.4e-04 5.77e-03
## 10 20 1.322e+02 4.71e-05 4.71e-05 1.5e-06 5.1e+01 1.3e-03 5.77e-03
## 11 22 1.322e+02 9.39e-06 9.39e-06 2.9e-07 1.0e+03 2.6e-04 5.74e-03
## 12 25 1.322e+02 7.48e-05 7.48e-05 2.3e-06 3.2e+01 2.0e-03 5.75e-03
## 13 28 1.322e+02 1.49e-06 1.49e-06 4.7e-08 6.2e+03 4.1e-05 5.69e-03
## 14 30 1.322e+02 2.98e-06 2.98e-06 9.3e-08 7.8e+02 8.2e-05 5.71e-03
## 15 32 1.322e+02 5.96e-07 5.96e-07 1.9e-08 1.6e+04 1.6e-05 5.70e-03
## 16 34 1.322e+02 1.19e-06 1.19e-06 3.7e-08 1.9e+03 3.3e-05 5.71e-03
## 17 36 1.322e+02 2.38e-06 2.38e-06 7.5e-08 9.7e+02 6.6e-05 5.70e-03
## 18 39 1.322e+02 4.76e-08 4.76e-08 1.5e-09 1.9e+05 1.3e-06 5.70e-03
## 19 41 1.322e+02 9.53e-08 9.53e-08 3.0e-09 2.4e+04 2.6e-06 5.70e-03
## 20 43 1.322e+02 1.91e-08 1.91e-08 6.0e-10 4.8e+05 5.2e-07 5.70e-03
## 21 45 1.322e+02 3.81e-08 3.81e-08 1.2e-09 6.1e+04 1.0e-06 5.70e-03
## 22 47 1.322e+02 7.62e-08 7.62e-08 2.4e-09 3.0e+04 2.1e-06 5.70e-03
## 23 50 1.322e+02 1.52e-09 1.52e-09 4.8e-11 6.1e+06 4.2e-08 5.70e-03
## 24 52 1.322e+02 3.05e-09 3.05e-09 9.6e-11 7.6e+05 8.4e-08 5.70e-03
## 25 54 1.322e+02 6.10e-10 6.10e-10 1.9e-11 1.5e+07 1.7e-08 5.70e-03
## 26 56 1.322e+02 1.22e-09 1.22e-09 3.8e-11 1.9e+06 3.4e-08 5.70e-03
## 27 58 1.322e+02 2.44e-09 2.44e-09 7.7e-11 9.5e+05 6.7e-08 5.70e-03
## 28 60 1.322e+02 4.88e-10 4.88e-10 1.5e-11 1.9e+07 1.3e-08 5.70e-03
## 29 62 1.322e+02 9.76e-11 9.76e-11 3.1e-12 9.5e+07 2.7e-09 5.70e-03
## 30 64 1.322e+02 1.95e-10 1.95e-10 6.1e-12 1.2e+07 5.4e-09 5.70e-03
## 31 66 1.322e+02 3.90e-11 3.90e-11 1.2e-12 2.4e+08 1.1e-09 5.70e-03
## 32 68 1.322e+02 7.81e-12 7.81e-12 2.5e-13 1.2e+09 2.1e-10 5.70e-03
## 33 70 1.322e+02 1.56e-12 1.56e-12 4.9e-14 5.9e+09 4.3e-11 5.70e-03
## 34 72 1.322e+02 3.12e-12 3.12e-12 9.8e-14 7.4e+08 8.6e-11 5.70e-03
## 35 74 1.322e+02 6.25e-13 6.25e-13 2.0e-14 1.5e+10 1.7e-11 5.70e-03
## 36 76 1.322e+02 1.25e-12 1.25e-12 3.9e-14 1.8e+09 3.4e-11 5.70e-03
## 37 78 1.322e+02 2.50e-13 2.50e-13 7.8e-15 3.7e+10 6.9e-12 5.70e-03
## 38 80 1.322e+02 5.00e-13 5.00e-13 1.6e-14 4.6e+09 1.4e-11 5.70e-03
## 39 82 1.322e+02 1.00e-13 9.99e-14 3.1e-15 9.2e+10 2.7e-12 5.70e-03
## 40 83 1.322e+02 -7.57e+07 2.00e-13 6.3e-15 4.6e+10 5.5e-12 5.70e-03
##
## ***** FALSE CONVERGENCE *****
##
## FUNCTION 1.321669e+02 RELDX 6.272e-15
## FUNC. EVALS 83 GRAD. EVALS 40
## PRELDF 1.998e-13 NPRELDF 5.704e-03
##
## I FINAL X(I) D(I) G(I)
##
## 1 4.120093e+02 1.000e+00 5.588e-03
## 2 9.514508e-01 1.000e+00 1.637e+00
## 3 4.372217e-12 1.000e+00 4.517e+00
summary(Model_3.Garch)
##
## Call:
## garch(x = AMDts)
##
## Model:
## GARCH(1,1)
##
## Residuals:
## Min 1Q Median 3Q Max
## 0.4240 0.7625 0.8825 0.9532 1.4164
##
## Coefficient(s):
## Estimate Std. Error t value Pr(>|t|)
## a0 4.120e+02 1.181e+03 0.349 0.727
## a1 9.515e-01 2.009e+00 0.474 0.636
## b1 4.372e-12 1.474e+00 0.000 1.000
##
## Diagnostic Tests:
## Jarque Bera Test
##
## data: Residuals
## X-squared = 0.37075, df = 2, p-value = 0.8308
##
##
## Box-Ljung test
##
## data: Squared.Residuals
## X-squared = 10.059, df = 1, p-value = 0.001516
Comparing the performance of the two Arima models on the test set results in the Arima model with the regressor doing better by a little bit.