library(knitr)
library(fpp2)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## -- Attaching packages ---------------------------------------------- fpp2 2.4 --
## √ ggplot2   3.3.2     √ fma       2.4  
## √ forecast  8.13      √ expsmooth 2.3
## 
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-2929)",ylab="Volume")

Model 1

par(mfrow=c(3,2))
Model1 <- ets(AMDts, model="ZZZ")
Model1.pred=forecast(Model1,h=8)
plot(forecast(Model1,h=8), ylab="Volume",main="Model1 Auto-select: MAN")
Model1$par
##        alpha         beta            l            b 
## 9.099343e-01 1.000672e-04 1.157486e+01 1.514362e+00
summary(Model1)
## 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(Model1))

Model 2

Model2 <- ets(AMDts, model="ANN")
Model2.pred=forecast(Model2,h=8)
plot(forecast(Model2,h=8), ylab="Volume",main="Model2 ANN")

Model2$par
##      alpha          l 
##  0.9998997 13.6217201
summary(Model2)
## ETS(A,N,N) 
## 
## Call:
##  ets(y = AMDts, model = "ANN") 
## 
##   Smoothing parameters:
##     alpha = 0.9999 
## 
##   Initial states:
##     l = 13.6217 
## 
##   sigma:  6.8788
## 
##      AIC     AICc      BIC 
## 254.9696 255.7696 259.5487 
## 
## Training set error measures:
##                    ME     RMSE      MAE      MPE     MAPE      MASE       ACF1
## Training set 1.830448 6.673457 4.462102 3.423975 13.35643 0.1945967 0.06455858
hist(residuals(Model2))

Model 3

Model3 <- ets(AMDts, model="MAM")
Model3.pred=forecast(Model3,h=8)
plot(forecast(Model3,h=8), ylab="Volume",main="Model3 ANN")

Model3$par
##        alpha         beta        gamma            l            b           s0 
## 0.3329827097 0.0001357182 0.6665423464 1.8633693565 0.5825850997 0.2705481754 
##           s1           s2           s3           s4           s5           s6 
## 0.3728476172 0.3010387436 0.4932416452 0.5127226516 0.7570400927 0.4195608650 
##           s7           s8           s9          s10 
## 0.3933657264 0.3463214224 0.5652019143 0.9262677038
summary(Model3)
## ETS(M,A,M) 
## 
## Call:
##  ets(y = AMDts, model = "MAM") 
## 
##   Smoothing parameters:
##     alpha = 0.333 
##     beta  = 1e-04 
##     gamma = 0.6665 
## 
##   Initial states:
##     l = 1.8634 
##     b = 0.5826 
##     s = 0.2705 0.3728 0.301 0.4932 0.5127 0.757
##            0.4196 0.3934 0.3463 0.5652 0.9263 6.6418
## 
##   sigma:  1.2484
## 
##      AIC     AICc      BIC 
## 372.7191 410.9691 398.6672 
## 
## Training set error measures:
##                     ME     RMSE      MAE       MPE     MAPE     MASE      ACF1
## Training set -13.16553 68.11828 28.37142 -47.45162 94.16887 1.237306 0.2516828
hist(residuals(Model3))

Among these three models it is not quite clear that Model 1 is the best with lower AIC and BIC.