Analisis dan Peramalan Indeks Harga Saham Gabungan (IHSG) Dengan Penerapan Model Time Series

Rafelyno Mulfazal Ardana

2025-04-29


Impor Library Yang Dibutuhkan

library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(FSA) 
## ## FSA v0.9.6. See citation('FSA') if used in publication.
## ## Run fishR() for related website and fishR('IFAR') for related book.
library(knitr)
library(tseries)
library(TSA)
## 
## Attaching package: 'TSA'
## The following objects are masked from 'package:stats':
## 
##     acf, arima
## The following object is masked from 'package:utils':
## 
##     tar
library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(forecast)
## Registered S3 methods overwritten by 'forecast':
##   method       from
##   fitted.Arima TSA 
##   plot.Arima   TSA
library(MLmetrics)
## 
## Attaching package: 'MLmetrics'
## The following object is masked from 'package:base':
## 
##     Recall
library(xts)
library(readxl)

Impor Data yang Dibutuhkan

Data yang digunakan pada penerapan model ARIMA Outlier dan intervensi adalah data Indeks Harga Saham Gabungan pada Januari 2024 hingga April 2025. Indeks Harga Saham Gabungan (IHSG) merupakan salah satu indeks pasar saham yang digunakan oleh Bursa Efek Indonesia. Setiap hari IHSG mengalami fluktuasi secara tidak pasti dan menjadikan kegiatan perdagangan saham beresiko tinggi.

# Impor Data
Data <- read_excel("C:/Users/Asus/Downloads/Data IHSG.xlsx")
head(Data)
## # A tibble: 6 × 3
##      No Tanggal             `Harga Saham`
##   <dbl> <dttm>                      <dbl>
## 1     1 2024-01-02 00:00:00         7324.
## 2     2 2024-01-03 00:00:00         7279.
## 3     3 2024-01-04 00:00:00         7360.
## 4     4 2024-01-05 00:00:00         7351.
## 5     5 2024-01-08 00:00:00         7284.
## 6     6 2024-01-09 00:00:00         7200.

Eksplorasi Data

Sebelum melakukan analisis deret waktu, langkah awal yang perlu dilakukan adalah melakukan eksplorasi data deret waktu untuk mengetahui pola dari data deret waktu tersebut.

# Mendefinisikan variabel
harga_saham <- as.numeric(Data$`Harga Saham`)
tanggal <- Data$Tanggal
data.saham <- data.frame(tanggal, harga_saham)
data.saham
##        tanggal harga_saham
## 1   2024-01-02     7323.59
## 2   2024-01-03     7279.09
## 3   2024-01-04     7359.76
## 4   2024-01-05     7350.62
## 5   2024-01-08     7283.58
## 6   2024-01-09     7200.20
## 7   2024-01-10     7227.30
## 8   2024-01-11     7219.96
## 9   2024-01-12     7241.14
## 10  2024-01-15     7224.00
## 11  2024-01-16     7242.79
## 12  2024-01-17     7200.63
## 13  2024-01-18     7252.97
## 14  2024-01-19     7227.40
## 15  2024-01-22     7247.93
## 16  2024-01-23     7256.23
## 17  2024-01-24     7227.82
## 18  2024-01-25     7178.04
## 19  2024-01-26     7137.09
## 20  2024-01-29     7157.17
## 21  2024-01-30     7192.22
## 22  2024-01-31     7207.94
## 23  2024-02-01     7201.70
## 24  2024-02-02     7238.79
## 25  2024-02-05     7198.62
## 26  2024-02-06     7247.41
## 27  2024-02-07     7235.15
## 28  2024-02-12     7297.67
## 29  2024-02-13     7209.74
## 30  2024-02-15     7303.28
## 31  2024-02-16     7335.54
## 32  2024-02-19     7296.70
## 33  2024-02-20     7352.60
## 34  2024-02-21     7349.02
## 35  2024-02-22     7339.64
## 36  2024-02-23     7295.10
## 37  2024-02-26     7283.82
## 38  2024-02-27     7285.32
## 39  2024-02-28     7328.64
## 40  2024-02-29     7316.11
## 41  2024-03-01     7311.91
## 42  2024-03-04     7276.75
## 43  2024-03-05     7247.46
## 44  2024-03-06     7329.80
## 45  2024-03-07     7373.96
## 46  2024-03-08     7381.91
## 47  2024-03-13     7421.21
## 48  2024-03-14     7433.31
## 49  2024-03-15     7328.05
## 50  2024-03-18     7302.45
## 51  2024-03-19     7336.75
## 52  2024-03-20     7331.13
## 53  2024-03-21     7338.35
## 54  2024-03-22     7350.15
## 55  2024-03-25     7377.76
## 56  2024-03-26     7365.66
## 57  2024-03-27     7310.09
## 58  2024-03-28     7288.81
## 59  2024-04-01     7205.06
## 60  2024-04-02     7236.98
## 61  2024-04-03     7166.84
## 62  2024-04-04     7254.40
## 63  2024-04-05     7286.88
## 64  2024-04-16     7164.81
## 65  2024-04-17     7130.84
## 66  2024-04-18     7166.81
## 67  2024-04-19     7087.32
## 68  2024-04-22     7073.82
## 69  2024-04-23     7110.81
## 70  2024-04-24     7174.53
## 71  2024-04-25     7155.29
## 72  2024-04-26     7036.08
## 73  2024-04-29     7155.78
## 74  2024-04-30     7234.20
## 75  2024-05-01     7234.20
## 76  2024-05-02     7117.42
## 77  2024-05-03     7134.72
## 78  2024-05-06     7135.89
## 79  2024-05-07     7123.61
## 80  2024-05-08     7088.79
## 81  2024-05-13     7099.26
## 82  2024-05-14     7083.76
## 83  2024-05-15     7179.83
## 84  2024-05-16     7246.70
## 85  2024-05-17     7317.24
## 86  2024-05-20     7266.69
## 87  2024-05-21     7186.04
## 88  2024-05-22     7222.38
## 89  2024-05-27     7176.42
## 90  2024-05-28     7253.63
## 91  2024-05-29     7140.23
## 92  2024-05-30     7034.14
## 93  2024-05-31     6970.74
## 94  2024-06-03     7036.19
## 95  2024-06-04     7099.31
## 96  2024-06-05     6947.67
## 97  2024-06-06     6974.90
## 98  2024-06-07     6897.95
## 99  2024-06-10     6921.55
## 100 2024-06-11     6855.69
## 101 2024-06-12     6850.10
## 102 2024-06-13     6831.56
## 103 2024-06-14     6734.83
## 104 2024-06-19     6726.92
## 105 2024-06-20     6819.32
## 106 2024-06-21     6879.98
## 107 2024-06-24     6889.17
## 108 2024-06-25     6882.70
## 109 2024-06-26     6905.64
## 110 2024-06-27     6967.95
## 111 2024-06-28     7063.58
## 112 2024-07-01     7139.63
## 113 2024-07-02     7125.14
## 114 2024-07-03     7196.75
## 115 2024-07-04     7220.89
## 116 2024-07-05     7253.37
## 117 2024-07-08     7250.98
## 118 2024-07-09     7269.80
## 119 2024-07-10     7287.04
## 120 2024-07-11     7300.41
## 121 2024-07-12     7327.58
## 122 2024-07-15     7278.86
## 123 2024-07-16     7224.29
## 124 2024-07-17     7224.22
## 125 2024-07-18     7321.07
## 126 2024-07-19     7294.50
## 127 2024-07-22     7321.98
## 128 2024-07-23     7313.86
## 129 2024-07-24     7262.76
## 130 2024-07-25     7240.28
## 131 2024-07-26     7288.17
## 132 2024-07-29     7288.90
## 133 2024-07-30     7241.86
## 134 2024-07-31     7255.76
## 135 2024-08-01     7325.98
## 136 2024-08-02     7308.12
## 137 2024-08-05     7059.65
## 138 2024-08-06     7129.21
## 139 2024-08-07     7212.13
## 140 2024-08-08     7195.12
## 141 2024-08-09     7257.00
## 142 2024-08-12     7297.63
## 143 2024-08-13     7356.64
## 144 2024-08-14     7436.04
## 145 2024-08-15     7409.50
## 146 2024-08-16     7432.09
## 147 2024-08-19     7466.83
## 148 2024-08-20     7533.98
## 149 2024-08-21     7554.59
## 150 2024-08-22     7488.68
## 151 2024-08-23     7544.30
## 152 2024-08-26     7606.19
## 153 2024-08-27     7597.88
## 154 2024-08-28     7658.88
## 155 2024-08-29     7627.60
## 156 2024-08-30     7670.73
## 157 2024-09-02     7694.53
## 158 2024-09-03     7616.52
## 159 2024-09-04     7672.90
## 160 2024-09-05     7681.04
## 161 2024-09-06     7721.85
## 162 2024-09-09     7702.74
## 163 2024-09-10     7761.39
## 164 2024-09-11     7760.96
## 165 2024-09-12     7798.15
## 166 2024-09-13     7812.13
## 167 2024-09-17     7831.78
## 168 2024-09-18     7829.13
## 169 2024-09-19     7905.39
## 170 2024-09-20     7743.00
## 171 2024-09-23     7775.73
## 172 2024-09-24     7778.49
## 173 2024-09-25     7740.90
## 174 2024-09-26     7744.52
## 175 2024-09-27     7696.92
## 176 2024-09-30     7527.93
## 177 2024-10-01     7642.13
## 178 2024-10-02     7563.26
## 179 2024-10-03     7543.83
## 180 2024-10-04     7496.09
## 181 2024-10-07     7504.13
## 182 2024-10-08     7557.14
## 183 2024-10-09     7501.29
## 184 2024-10-10     7480.08
## 185 2024-10-11     7520.60
## 186 2024-10-14     7559.65
## 187 2024-10-15     7626.95
## 188 2024-10-16     7648.94
## 189 2024-10-17     7735.04
## 190 2024-10-18     7760.06
## 191 2024-10-21     7772.60
## 192 2024-10-22     7788.98
## 193 2024-10-23     7787.56
## 194 2024-10-24     7716.55
## 195 2024-10-25     7694.66
## 196 2024-10-28     7634.63
## 197 2024-10-29     7606.60
## 198 2024-10-30     7569.85
## 199 2024-10-31     7574.02
## 200 2024-11-01     7505.26
## 201 2024-11-04     7479.50
## 202 2024-11-05     7491.93
## 203 2024-11-06     7383.87
## 204 2024-11-07     7243.86
## 205 2024-11-08     7287.19
## 206 2024-11-11     7266.46
## 207 2024-11-12     7321.99
## 208 2024-11-13     7308.67
## 209 2024-11-14     7214.56
## 210 2024-11-15     7161.26
## 211 2024-11-18     7134.28
## 212 2024-11-19     7195.71
## 213 2024-11-20     7180.33
## 214 2024-11-21     7140.91
## 215 2024-11-22     7195.56
## 216 2024-11-25     7314.11
## 217 2024-11-26     7245.89
## 218 2024-11-28     7200.16
## 219 2024-11-29     7114.27
## 220 2024-12-02     7046.99
## 221 2024-12-03     7196.02
## 222 2024-12-04     7326.76
## 223 2024-12-05     7313.31
## 224 2024-12-06     7382.79
## 225 2024-12-09     7437.73
## 226 2024-12-10     7453.29
## 227 2024-12-11     7464.75
## 228 2024-12-12     7394.24
## 229 2024-12-13     7324.79
## 230 2024-12-16     7258.63
## 231 2024-12-17     7157.73
## 232 2024-12-18     7107.88
## 233 2024-12-19     6977.24
## 234 2024-12-20     6983.87
## 235 2024-12-23     7096.44
## 236 2024-12-24     7065.75
## 237 2024-12-27     7036.57
## 238 2024-12-30     7079.90
## 239 2025-01-02     7163.21
## 240 2025-01-03     7164.43
## 241 2025-01-06     7080.47
## 242 2025-01-07     7083.28
## 243 2025-01-08     7080.35
## 244 2025-01-09     7064.59
## 245 2025-01-10     7088.87
## 246 2025-01-13     7016.88
## 247 2025-01-14     6956.67
## 248 2025-01-15     7079.56
## 249 2025-01-16     7107.52
## 250 2025-01-17     7154.66
## 251 2025-01-20     7170.74
## 252 2025-01-21     7181.82
## 253 2025-01-22     7257.13
## 254 2025-01-23     7232.64
## 255 2025-01-24     7166.06
## 256 2025-01-30     7073.48
## 257 2025-01-31     7109.20
## 258 2025-02-03     7030.06
## 259 2025-02-04     7073.46
## 260 2025-02-05     7024.23
## 261 2025-02-06     6875.54
## 262 2025-02-07     6742.58
## 263 2025-02-10     6648.14
## 264 2025-02-11     6531.99
## 265 2025-02-12     6645.78
## 266 2025-02-13     6613.57
## 267 2025-02-14     6638.46
## 268 2025-02-17     6830.88
## 269 2025-02-18     6873.55
## 270 2025-02-19     6794.87
## 271 2025-02-20     6788.04
## 272 2025-02-21     6803.00
## 273 2025-02-24     6749.60
## 274 2025-02-25     6587.09
## 275 2025-02-26     6606.18
## 276 2025-02-27     6485.45
## 277 2025-02-28     6270.60
## 278 2025-03-03     6519.66
## 279 2025-03-04     6380.40
## 280 2025-03-05     6531.40
## 281 2025-03-06     6617.85
## 282 2025-03-07     6636.00
## 283 2025-03-10     6598.21
## 284 2025-03-11     6545.85
## 285 2025-03-12     6665.04
## 286 2025-03-13     6647.42
## 287 2025-03-14     6515.63
## 288 2025-03-17     6471.95
## 289 2025-03-18     6223.39
## 290 2025-03-19     6311.66
## 291 2025-03-20     6381.67
## 292 2025-03-21     6258.18
## 293 2025-03-24     6161.22
## 294 2025-03-25     6235.62
## 295 2025-03-26     6472.36
## 296 2025-03-27     6510.62
## 297 2025-04-08     5996.14
## 298 2025-04-09     5972.56
plot(tanggal, harga_saham, type = "o", col = "red", lwd = 1.5)

Berdasarkan hasil eksplorasi data tersebut menunjukkan pergerakan harga saham dari awal tahun 2024 hingga awal tahun 2025. Pada periode awal 2024, harga saham terlihat relatif stabil meskipun mengalami fluktuasi kecil. Namun, mulai pertengahan 2024, terjadi kenaikan harga saham yang cukup signifikan, mencerminkan adanya sentimen positif di pasar atau faktor eksternal yang mendorong optimisme investor. Kenaikan ini mencapai puncaknya menjelang akhir 2024, di mana harga saham mencapai titik tertinggi selama periode observasi.

Setelah mencapai puncak, harga saham mulai mengalami penurunan yang tajam dan berlanjut terus hingga memasuki tahun 2025. Di akhir grafik, harga saham berada pada titik terendah. Secara keseluruhan, meskipun sempat mengalami fase pertumbuhan, harga saham dalam periode ini menunjukkan kecenderungan menurun yang cukup dominan, sehingga mengindikasikan kondisi pasar yang memburuk menjelang awal 2025.

plot(tanggal, harga_saham, type = "o", col = "blue", lwd = 2)
abline(v = tanggal[169], col = "red", lty = 3, lwd = 1.5)

Pemodelan ARIMA Outlier

Pemodelan ARIMA Outlier memiliki tahapan yang sama dengan ARIMA pada umumnya namun perbedaannya adalah terdapat pendeteksian Additive Outlier dan Innovative Outlier.

Uji Stasioneritas Data

Pemeriksaan stasioneritas terhadap ragam

lambda = BoxCox.lambda(harga_saham)
lambda
## [1] 1.999924

Hasil dari pemeriksaan stasioneritas terhadap ragam menggunakan Box-cox dapat diketahui bahwa nilai \(\lambda=2\) sehingga dapat dinyatakan bahwa data saham diperlukan transformasi.

Stasioneritas terhadap rata-rata

Data deret waktu yang digunakan untuk pemodelan ARIMA harus stasioner terhadap rata-rata. Pengujian hipotesis stasioneritas terhadap rata-rata dapat menggunakan statistik uji Dickey Fuller dengan hipotesis sebagai berikut.
\(H_0\) : \(\phi=1\) (data tidak stasioner terhadap rata-rata) vs
\(H_1\) : \(\phi<1\) (data stasioner terhadap rata-rata)
Taraf nyata: \(\alpha=0,05\)
Daerah penolakan: apabila nilai-p kurang dari 0,05 maka \(H_0\) ditolak yang artinya data stasioner terhadap rata-rata

adf.test(harga_saham)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  harga_saham
## Dickey-Fuller = -0.58748, Lag order = 6, p-value = 0.9775
## alternative hypothesis: stationary

Hasil uji Dickey Fuller pada data harga saham didapatkan p-value sebesar \(0,9775\) yang di mana lebih dari \(\alpha=0,05\) sehingga menghasilkan keputusan terima \(H_0\). Dengan demikian, dapat dinyatakan bahwa data saham tidak stasioner.

Identifikasi Model ARIMA

Identifikasi model ARIMA dapat menggunakan plot ACF dan PACF. Nilai ACF dan PACF bertujuan untuk memilih orde \(p\) dan \(q\) pada model ARIMA. Pemeriksaan ACF dan PACF dilakukan pada data yang telah stasioner.

acf(harga_saham)

Plot ACF ini menunjukkan bahwa nilai autokorelasi harga saham sangat tinggi pada lag kecil (dekat nol) dan secara bertahap menurun seiring bertambahnya lag. Pola penurunan ini terlihat lambat dan bertahap, bukan turun mendadak. Hal ini mengindikasikan adanya autokorelasi positif yang kuat dalam data, di mana nilai harga saham saat ini sangat dipengaruhi oleh nilai sebelumnya.

pacf(harga_saham)

Plot PACF ini menunjukkan bahwa hanya lag 1 yang memiliki nilai autokorelasi parsial yang sangat tinggi dan signifikan (di atas garis biru batas signifikansi). Setelah lag 1, nilai PACF untuk lag-lag berikutnya cepat menurun dan sebagian besar berada dalam batas signifikansi. Plot PACF tersebut mengindikasikan bahwa model AR(1) atau ARIMA(0,1,0) adalah model yang cocok untuk data tersebut.

Pemodelan ARIMA Pra-Intervensi

Mengambil data pra-intervensi

Intervensi terjadi pada tanggal 19 September 2024, sehingga data pra intervensi adalah data pada tanggal 02 Januari 2024 hingga 18 September 2024.

saham.pra.intervensi <- harga_saham[1:168]
saham.pra.intervensi
##   [1] 7323.59 7279.09 7359.76 7350.62 7283.58 7200.20 7227.30 7219.96 7241.14
##  [10] 7224.00 7242.79 7200.63 7252.97 7227.40 7247.93 7256.23 7227.82 7178.04
##  [19] 7137.09 7157.17 7192.22 7207.94 7201.70 7238.79 7198.62 7247.41 7235.15
##  [28] 7297.67 7209.74 7303.28 7335.54 7296.70 7352.60 7349.02 7339.64 7295.10
##  [37] 7283.82 7285.32 7328.64 7316.11 7311.91 7276.75 7247.46 7329.80 7373.96
##  [46] 7381.91 7421.21 7433.31 7328.05 7302.45 7336.75 7331.13 7338.35 7350.15
##  [55] 7377.76 7365.66 7310.09 7288.81 7205.06 7236.98 7166.84 7254.40 7286.88
##  [64] 7164.81 7130.84 7166.81 7087.32 7073.82 7110.81 7174.53 7155.29 7036.08
##  [73] 7155.78 7234.20 7234.20 7117.42 7134.72 7135.89 7123.61 7088.79 7099.26
##  [82] 7083.76 7179.83 7246.70 7317.24 7266.69 7186.04 7222.38 7176.42 7253.63
##  [91] 7140.23 7034.14 6970.74 7036.19 7099.31 6947.67 6974.90 6897.95 6921.55
## [100] 6855.69 6850.10 6831.56 6734.83 6726.92 6819.32 6879.98 6889.17 6882.70
## [109] 6905.64 6967.95 7063.58 7139.63 7125.14 7196.75 7220.89 7253.37 7250.98
## [118] 7269.80 7287.04 7300.41 7327.58 7278.86 7224.29 7224.22 7321.07 7294.50
## [127] 7321.98 7313.86 7262.76 7240.28 7288.17 7288.90 7241.86 7255.76 7325.98
## [136] 7308.12 7059.65 7129.21 7212.13 7195.12 7257.00 7297.63 7356.64 7436.04
## [145] 7409.50 7432.09 7466.83 7533.98 7554.59 7488.68 7544.30 7606.19 7597.88
## [154] 7658.88 7627.60 7670.73 7694.53 7616.52 7672.90 7681.04 7721.85 7702.74
## [163] 7761.39 7760.96 7798.15 7812.13 7831.78 7829.13

Uji stasioneritas data

Stasioneritas terhadap ragam

BoxCox.lambda(saham.pra.intervensi)
## [1] 1.999924

Hasil dari pemeriksaan stasioneritas terhadap ragam menggunakan Box-cox dapat diketahui bahwa nilai \(\lambda=0,992\) yang di mana nilai tersebut mendekati satu, sehingga dapat dinyatakan bahwa data saham stasioner terhadap ragam.

saham.trans <- harga_saham^2
saham.trans
##   [1] 53634970 52985151 54166067 54031614 53050538 51842880 52233865 52127822
##   [9] 52434108 52186176 52458007 51849072 52605574 52235311 52532489 52652874
##  [17] 52241382 51524258 50938054 51225082 51728029 51954399 51864483 52400081
##  [25] 51820130 52524952 52347396 53255987 51980351 53337899 53810147 53241831
##  [33] 54060727 54008095 53870315 53218484 53054034 53075888 53708964 53525466
##  [41] 53464028 52951091 52525676 53725968 54375286 54492595 55074358 55254098
##  [49] 53700317 53325776 53827901 53745467 53851381 54024705 54431343 54252947
##  [57] 53437416 53126751 51912890 52373880 51363596 52626319 53098620 51334502
##  [65] 50848879 51363166 50230105 50038929 50563619 51473881 51198175 49506422
##  [73] 51205187 52333650 52333650 50657667 50904229 50920926 50745819 50250944
##  [81] 50399493 50179656 51549959 52514661 53542001 52804784 51639171 52162773
##  [89] 51501004 52615148 50982884 49479126 48591216 49507970 50400202 48270118
##  [97] 48649230 47581714 47907854 47000485 46923870 46670212 45357935 45251453
## [105] 46503125 47334125 47460663 47371559 47687864 48552327 49894162 50974317
## [113] 50767620 51793211 52141252 52611376 52576711 52849992 53100952 53295986
## [121] 53693429 52981803 52190366 52189355 53598066 53209730 53611391 53492548
## [129] 52747683 52421654 53117422 53128063 52444536 52646053 53669983 53408618
## [137] 49838658 50825635 52014819 51769752 52664049 53255404 54120152 55294691
## [145] 54900690 55235962 55753550 56760855 57071830 56080328 56916462 57854126
## [153] 57727780 58658443 58180282 58840099 59205792 58011377 58873394 58998375
## [161] 59626967 59332204 60239175 60232500 60811143 61029375 61336778 61295277
## [169] 62495191 59954049 60461977 60504907 59921533 59977590 59242577 56669730
## [177] 58402151 57202902 56909371 56191365 56311967 57110365 56269352 55951597
## [185] 56559424 57148308 58170366 58506283 59830844 60218531 60413311 60668209
## [193] 60646091 59545144 59207793 58287575 57860364 57302629 57365779 56328928
## [201] 55942920 56129015 54521536 52473508 53103138 52801441 53611538 53416657
## [209] 52049876 51283645 50897951 51778242 51557139 50992596 51776084 53496205
## [217] 52502922 51842304 50612838 49660068 51782704 53681412 53484503 54505588
## [225] 55319828 55551532 55722493 54674785 53652549 52687709 51233099 50521958
## [233] 48681878 48774440 50359461 49924823 49513317 50124984 51311578 51329057
## [241] 50133055 50172856 50131356 49908432 50252078 49236605 48395257 50120170
## [249] 50516841 51189160 51419512 51578539 52665936 52311081 51352416 50034119
## [257] 50540725 49421744 50033836 49339807 47273050 45462385 44197765 42666893
## [265] 44166392 43739308 44069151 46660922 47245690 46170258 46077487 46280809
## [273] 45557100 43389755 43641614 42061062 39320424 42505967 40709504 42659186
## [281] 43795939 44036496 43536375 42848152 44422758 44188193 42453434 41886137
## [289] 38730583 39837052 40725712 39164817 37960632 38882957 41891444 42388173
## [297] 35953695 35671473

Stasioneritas terhadap rata-rata

Data deret waktu yang digunakan untuk pemodelan ARIMA harus stasioner terhadap rata-rata. Pengujian hipotesis stasioneritas terhadap rata-rata dapat menggunakan statistik uji Dickey Fuller dengan hipotesis sebagai berikut.
\(H_0\) : \(\phi=1\) (data tidak stasioner terhadap rata-rata) vs
\(H_1\) : \(\phi<1\) (data stasioner terhadap rata-rata)
Taraf nyata: \(\alpha=0,05\)
Daerah penolakan: apabila nilai-p kurang dari 0,05 maka \(H_0\) ditolak yang artinya data stasioner terhadap rata-rata

adf.test(saham.trans)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  saham.trans
## Dickey-Fuller = -0.76139, Lag order = 6, p-value = 0.9643
## alternative hypothesis: stationary
saham.diff<-diff(saham.trans)
saham.diff
##   [1]  -649819.260  1180916.030  -134452.873  -981076.768 -1207657.576
##   [6]   390985.250  -106042.888   306286.098  -247932.500   271830.984
##  [11]  -608934.587   756501.424  -370263.061   297178.525   120384.528
##  [16]  -411491.860  -717123.711  -586204.573   287028.741   502946.120
##  [21]   226370.515   -89916.154   535597.774  -579950.760   704821.804
##  [26]  -177556.186   908591.906 -1275636.561  1357547.891   472248.333
##  [31]  -568316.202   818895.870   -52631.800  -137779.631  -651831.320
##  [36]  -164450.218    21853.710   633076.747  -183498.718   -61437.684
##  [41]  -512937.286  -425414.111  1200291.588   649318.042   117309.166
##  [46]   581762.616   179739.692 -1553780.754  -374540.800   502124.560
##  [51]   -82433.486   105913.646   173324.300   406637.595  -178395.382
##  [56]  -815531.427  -310664.592 -1213861.613   460989.917 -1010283.935
##  [61]  1262723.774   472300.774 -1764117.798  -485623.231   514286.471
##  [66] -1133060.794  -191175.390   524689.464   910261.865  -275705.737
##  [71] -1691753.218  1698765.642  1128462.232        0.000 -1675982.184
##  [76]   246562.022    16696.614  -175106.660  -494875.768   148548.884
##  [81]  -219836.810  1370303.091   964702.061  1027340.328  -737217.661
##  [86] -1165612.674   523601.983  -661768.848  1114144.160 -1632263.724
##  [91] -1503758.913  -887909.392   916753.568   892232.760 -2130084.047
##  [96]   379111.581 -1067515.807   326140.200  -907369.026   -76615.366
## [101]  -253657.976 -1312276.905  -106482.442  1251672.576   830999.538
## [106]   126538.489   -89103.999   316304.520   864463.393  1341835.214
## [111]  1080154.120  -206696.517  1025590.543   348041.830   470123.965
## [116]   -34665.397   273281.080   250959.922   195034.207   397442.488
## [121]  -711625.757  -791436.895    -1011.396  1408711.336  -388335.695
## [126]   401660.870  -118843.021  -744865.282  -326028.339   695767.470
## [131]    10641.261  -683526.950   201516.918  1023929.783  -261365.026
## [136] -3569959.812   986977.102  1189183.913  -245067.323   894297.186
## [141]   591354.617   864748.473  1174538.792  -394000.632   335271.518
## [146]   517588.481  1007304.391   310975.428  -991501.926   836134.348
## [151]   937663.826  -126345.822   930662.360  -478161.094   659816.973
## [156]   365693.188 -1194415.010   862017.500   124981.072   628591.941
## [161]  -294763.915   906971.225    -6674.611   578643.301   218231.714
## [166]   307402.831   -41501.411  1199914.495 -2541142.052   507928.033
## [171]    42929.647  -583373.870    56057.220  -735012.544 -2572847.401
## [176]  1732420.852 -1199249.109  -293530.759  -718005.781   120601.769
## [181]   798397.923  -841013.316  -317754.858   607827.554   588883.762
## [186]  1022058.180   335916.821  1324560.678   387687.402   194779.556
## [191]   254898.680   -22118.687 -1100946.851  -337351.387  -920217.279
## [196]  -427211.677  -557734.537    63149.938 -1036851.293  -386007.418
## [201]   186094.875 -1607478.948 -2048028.477   629630.396  -301697.164
## [206]   810096.628  -194880.391 -1366781.175  -766231.206  -385693.669
## [211]   880291.286  -221103.495  -564543.281   783488.086  1720121.378
## [216]  -993283.200  -660617.867 -1229466.393  -952769.573  2122635.780
## [221]  1898708.257  -196908.942  1021085.028   814239.369   231704.271
## [226]   170960.738 -1047707.385 -1022236.633  -964839.067 -1454610.724
## [231]  -711140.658 -1840080.077    92562.159  1585020.497  -434637.611
## [236]  -411505.698   611666.645  1186593.494    17479.721 -1196001.804
## [241]    39800.137   -41499.436  -222924.254   343646.009 -1015472.942
## [246]  -841347.446  1724912.305   396670.757   672319.165   230352.432
## [251]   159026.365  1087397.325  -354854.467  -958665.446 -1318296.613
## [256]   506605.330 -1118981.036   612092.768  -694029.279 -2066756.801
## [261] -1810665.235 -1264619.597 -1530872.100  1499498.448  -427083.664
## [266]   329843.027  2591770.403   584768.028 -1075431.286   -92771.275
## [271]   203321.958  -723708.840 -2167345.492   251859.524 -1580552.490
## [276] -2740637.342  3185542.156 -1796462.356  1949681.800  1136752.663
## [281]   240557.377  -500120.796  -688222.982  1574605.979  -234565.545
## [286] -1734758.359  -567297.494 -3155553.710  1106468.863   888660.033
## [291] -1560895.076 -1204185.024   922324.896  3008487.185   496728.815
## [296] -6434477.885  -282221.946
adf.test(saham.diff)
## Warning in adf.test(saham.diff): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  saham.diff
## Dickey-Fuller = -7.4283, Lag order = 6, p-value = 0.01
## alternative hypothesis: stationary

Hasil uji Dickey Fuller pada data hasil differencing satu kali diperoleh p value sebesar \(0,01\) yang di mana kurang dari \(\alpha=0,05\) sehingga menghasilkan keputusan tolak \(H_0\). Dengan demikian, dapat dinyatakan bahwa data saham pra intervensi telah stasioner terhadap rata-rata.

Identifikasi Model ARIMA

Identifikasi model ARIMA dapat menggunakan plot ACF dan PACF. Nilai ACF dan PACF bertujuan untuk memilih orde \(p\) dan \(q\) pada model ARIMA. Pemeriksaan ACF dan PACF dilakukan pada data yang telah stasioner.

acf(saham.diff)

pacf(saham.diff)

Berdasarkan Gambar tersebut, nilai ACF signifikan pada lag ke-7,10, dan 19 sedangkan nilai PACF hanya signifikan pada lag 10 dan 19. Berdasarkan informasi signifikansi lag dan pola ACF dan PACF pada data saham yang telah dilakukan differencing, model ARIMA(p,d,q) yang dapat dibentuk adalah ARIMA([7,10,19],0,0) dan ARIMA(0,0,[10,19]).

Pendugaan Parameter Model ARIMA

arima.1 <- arima(saham.diff, order = c(19, 0, 0),c(rep(0,6),NA,rep(0,2),NA,rep(0,8),NA),method="ML",include.mean = TRUE)
coeftest(arima.1)
## 
## z test of coefficients:
## 
##              Estimate  Std. Error z value Pr(>|z|)   
## ar1       -3.4101e-03  5.6971e-02 -0.0599 0.952270   
## ar2       -1.0800e-01  6.0028e-02 -1.7992 0.071988 . 
## ar3        4.2495e-02  6.0336e-02  0.7043 0.481238   
## ar4        7.8162e-02  6.0724e-02  1.2872 0.198037   
## ar5        6.5582e-02  6.0656e-02  1.0812 0.279608   
## ar6       -7.3685e-02  6.1073e-02 -1.2065 0.227624   
## ar7       -1.5784e-01  6.0975e-02 -2.5886 0.009637 **
## ar8       -1.7576e-02  6.1448e-02 -0.2860 0.774855   
## ar9       -4.9963e-02  6.1392e-02 -0.8138 0.415734   
## ar10       1.4328e-01  6.1766e-02  2.3197 0.020359 * 
## ar11      -7.6304e-02  6.2303e-02 -1.2247 0.220683   
## ar12      -9.0269e-02  6.2419e-02 -1.4462 0.148126   
## ar13       6.6760e-02  6.2185e-02  1.0736 0.283015   
## ar14      -7.3233e-03  6.2257e-02 -0.1176 0.906360   
## ar15       8.7756e-02  6.2080e-02  1.4136 0.157483   
## ar16      -2.3538e-02  6.2180e-02 -0.3785 0.705023   
## ar17      -2.6812e-02  6.1934e-02 -0.4329 0.665081   
## ar18      -7.7932e-02  6.1841e-02 -1.2602 0.207597   
## ar19      -1.9118e-01  6.2078e-02 -3.0796 0.002072 **
## intercept -5.4143e+04  4.0428e+04 -1.3393 0.180487   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
arima.2 <- arima(saham.diff, order = c(0,0,19), c(rep(0,9), NA,rep(0,8),NA), method = 'ML', include.mean = TRUE)
coeftest(arima.2)
## 
## z test of coefficients:
## 
##              Estimate  Std. Error z value Pr(>|z|)  
## ma1       -1.3347e-02  5.7951e-02 -0.2303  0.81785  
## ma2       -1.0238e-01  5.9311e-02 -1.7261  0.08433 .
## ma3        3.5118e-02  5.9973e-02  0.5856  0.55817  
## ma4        1.0965e-01  6.0233e-02  1.8205  0.06869 .
## ma5        6.2599e-02  6.2883e-02  0.9955  0.31950  
## ma6       -9.4808e-02  6.6489e-02 -1.4259  0.15389  
## ma7       -1.4634e-01  6.3270e-02 -2.3129  0.02073 *
## ma8        5.9192e-02  6.5014e-02  0.9104  0.36259  
## ma9        1.5796e-02  6.8880e-02  0.2293  0.81862  
## ma10       7.9138e-02  7.2591e-02  1.0902  0.27563  
## ma11      -7.0319e-02  7.6912e-02 -0.9143  0.36057  
## ma12      -1.3366e-01  6.5204e-02 -2.0499  0.04037 *
## ma13       9.5712e-02  7.6309e-02  1.2543  0.20974  
## ma14       7.4473e-02  6.8028e-02  1.0947  0.27363  
## ma15       6.9333e-02  6.6593e-02  1.0411  0.29781  
## ma16      -5.9549e-03  7.9946e-02 -0.0745  0.94062  
## ma17      -5.5141e-02  7.6229e-02 -0.7234  0.46946  
## ma18       4.7208e-03  6.5730e-02  0.0718  0.94274  
## ma19      -1.6915e-01  8.2831e-02 -2.0421  0.04114 *
## intercept -5.5026e+04  4.6908e+04 -1.1731  0.24076  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan hasil pendugaan parameter dari kedua model ARIMA tersebut, dapat diketahui bahwa dengan nilai \(\alpha=0.05\) pada model ARIMA([7,10,19],0,0) ataupun ARIMA(0,0,[10,19]) terdapat 3 parameter yang signifikan, maka dari itu untuk menentukan model terbaik dapat dilihat melalui nilai AIC dari masing-masing model.

AIC(arima.1,arima.2)
##         df      AIC
## arima.1 21 9076.432
## arima.2 21 9078.905
BIC(arima.1,arima.2)
##         df      BIC
## arima.1 21 9154.000
## arima.2 21 9156.473

Berdasarkan hasil hitung AIC dan BIC dapat dilihat nilai untuk model ARIMA([7,10,19],0,0) lebih kecil dibandingkan nilai untuk model ARIMA(0,0,[10,19]), sehingga dapat disimpulkan bahwa model ARIMA([7,10,19],0,0) adalah model yang terbaik.

Uji Asumsi Sisaan

Langkah selanjutnya adalah melakukan pengujian asumsi sisaan yaitu autokorelasi sisaan dan normalitas sisaan. Hipotesis untuk uji autokorelasi sisaan
\(H_0\) : \(\rho_1=\rho_2=...=\rho_k=0\) (tidak terdapat autokorelasi pada sisaan) vs
\(H_1\) : minimal terdapat satu \(\rho_k \neq 0\) (terdapat autokorelasi pada sisaan)
Taraf nyata: 0,05

resid.arima.prainter <- residuals(arima.1)
Box.test(resid.arima.prainter, floor(sqrt(length(resid.arima.prainter))), type = "Ljung-Box")
## 
##  Box-Ljung test
## 
## data:  resid.arima.prainter
## X-squared = 1.1865, df = 17, p-value = 1

Berasarkan hasil uji autokorelasi sisaan model tentatif ARIMA dengan Ljung-Box dapat diperoleh informasi bahwa nilai-p yang didapatkan \(<0,05\) sehingga \(H_0\) diterima. Dengan demikian, dapat dinyatakan bahwa terdapat autokorelasi sisaan sehingga dapat dilakukan ke tahap selanjutnya yaitu uji normalitas sisaan.

Uji normalitas sisaan menggunakan uji Jarque Bera dengan hipotesis sebagai berikut.
\(H_0\) : \(\epsilon_i\sim N(0, \sigma_e^{2})\) (sisaan menyebar normal) vs
\(H_1\) : \(\varepsilon\not\sim\ N(0, \sigma_e^2)\) (sisaan tidak menyebar normal)
Taraf nyata: 0,05

jarque.bera.test(resid.arima.prainter)
## 
##  Jarque Bera Test
## 
## data:  resid.arima.prainter
## X-squared = 65.222, df = 2, p-value = 6.883e-15

Pada hasil uji normalitas sisaan dengan jarque bera,dapat diketahui bahwa nilai-p yang didapatkan dari sisaan kedua model tersebut kurang dari 0,05, sehingga menghasilkan keputusan tolak \(H_0\). Dengan demikian, dapat dinyatakan bahwa sisaan model tentatif ARIMA tidak menyebar normal.

Peramalan

Setelah mendapatkan model ARIMA terbaik pada data praintervensi, langkah selanjutnya adalah melakukan peramalan sepanjang sisa data yaitu data intervensi dan setelahnya. Peramalan dilakukan untuk 30 periode.

peramalan <- forecast(saham.pra.intervensi, model = arima.1, h=130)
peramalan$mean
## Time Series:
## Start = 169 
## End = 298 
## Frequency = 1 
##   [1] -80051.67 -79772.50 -70296.17 -74105.39 -81988.89 -86885.85 -78955.87
##   [8] -64609.12 -65780.59 -64725.56 -75290.56 -65835.72 -54046.83 -64552.08
##  [15] -69253.11 -74942.93 -69418.30 -63487.68 -63593.97 -50043.82 -49965.60
##  [22] -48461.03 -41873.06 -44712.24 -45370.31 -48365.77 -50969.45 -48869.07
##  [29] -52504.37 -51341.45 -54448.76 -56433.86 -50725.29 -50562.40 -49981.33
##  [36] -51057.47 -52470.76 -50888.17 -54523.75 -55708.47 -56514.06 -58396.26
##  [43] -56003.79 -56466.00 -56494.13 -55524.57 -55703.98 -53515.51 -53937.95
##  [50] -53855.60 -53299.37 -54921.12 -54346.65 -54789.27 -55278.86 -54706.34
##  [57] -55170.78 -53892.94 -53593.87 -53724.98 -52993.93 -53671.61 -53246.80
##  [64] -53219.36 -53903.22 -53796.10 -54477.83 -54278.81 -54222.49 -54623.36
##  [71] -54078.06 -54231.92 -53979.76 -53703.19 -54065.59 -53861.76 -54175.95
##  [78] -54232.95 -54138.95 -54524.01 -54317.03 -54425.02 -54426.08 -54146.69
##  [85] -54283.03 -54056.96 -54060.84 -54089.12 -53919.57 -54154.39 -54109.40
##  [92] -54161.68 -54276.59 -54132.43 -54252.32 -54174.76 -54123.47 -54167.35
##  [99] -54013.88 -54098.71 -54073.57 -54043.40 -54146.52 -54082.20 -54171.13
## [106] -54190.08 -54157.17 -54223.55 -54138.88 -54160.57 -54156.80 -54097.19
## [113] -54149.03 -54100.14 -54123.91 -54153.79 -54124.21 -54180.40 -54152.76
## [120] -54161.03 -54183.20 -54139.06 -54164.02 -54134.71 -54124.28 -54144.11
## [127] -54113.59 -54141.55 -54135.66 -54133.36

Tahapan setelah melakukan peramalan sepanjang sisa periode yang ada pada data penelitian, langkah selanjutnya adalah menghitung sisaan dari model peramalan dengan persamaan berikut. \[e_t = saham_t - \hat {saham_t}\]

sisaan.peramalan <- harga_saham[169:298]-peramalan$mean
sisaan.peramalan
## Time Series:
## Start = 169 
## End = 298 
## Frequency = 1 
##   [1] 87957.06 87515.50 78071.90 81883.88 89729.79 94630.37 86652.79 72137.05
##   [9] 73422.72 72288.82 82834.39 73331.81 61550.96 72109.22 76754.40 82423.01
##  [17] 76938.90 71047.33 71220.92 57692.76 57700.64 56221.09 49645.66 52501.22
##  [25] 53157.87 56082.32 58664.11 56503.70 60110.97 58911.30 62022.78 63939.12
##  [33] 58204.79 58054.33 57365.20 58301.33 59757.95 58154.63 61845.74 63017.14
##  [41] 63728.62 65557.52 63138.07 63661.71 63674.46 62665.48 62899.54 60829.62
##  [49] 61183.84 61055.76 60413.64 61968.11 61542.67 62116.03 62592.17 62089.13
##  [57] 62608.51 61346.23 61058.62 61119.22 60318.72 60930.24 60404.53 60327.24
##  [65] 60880.46 60779.97 61574.27 61344.56 61259.06 61703.26 61241.27 61396.35
##  [73] 61060.23 60786.47 61145.94 60926.35 61264.82 61249.83 61095.62 61603.57
##  [81] 61424.55 61579.68 61596.82 61328.51 61540.16 61289.60 61226.90 61162.60
##  [89] 61028.77 61184.45 61182.86 61185.91 61152.13 60875.01 60900.46 60706.75
##  [97] 60769.25 60780.92 60652.34 60929.59 60947.12 60838.27 60934.56 60885.20
## [105] 60920.73 60777.17 60763.35 60709.00 60409.48 60680.23 60537.20 60628.59
## [113] 60766.88 60736.14 60722.12 60699.64 60789.25 60827.82 60668.39 60632.98
## [121] 60406.59 60450.72 60545.69 60392.89 60285.50 60379.73 60585.95 60652.17
## [129] 60131.80 60105.92

Evaluasi Prediksi Grafis

Model ARIMA Intervensi yang telah memenuhi seluruh asumsi, dapat dilakukan evaluasi model dengan perbandingan secara grafis.

plot(harga_saham, type = "l", col = "black", lwd = 2,
     ylab = "Nilai", xlab = "Waktu", main = "Data Aktual vs Prediksi")
lines(peramalan$mean, col = "blue", lwd = 2, lty = 2)
legend("topleft", legend = c("Aktual", "Prediksi"), col = c("black", "blue"), lty = c(1,2), lwd = 2)

Berdasarkan evaluasi secara grafis, dapat diketahui bahwa prediksi data dengan model ARIMA Intervensi hanya mampu mengikuti pola fluktuasi pada periode intervensi saja, sedangkan pada periode lainnya tidak mampu mengikuti pola dengan baik.