Pemodelan ARIMA dengan Analisis Outlier dan Intervensi pada Data IHSG Periode 2 Januari 2024 sampai 9 April 2025

Nurcahyo Adi Putranto

30/04/25


Notes Theme: - Kelas A: cayman
- Kelas B: tactile
- Kelas C: architect
- Kelas D: hpstr

Library:

> library(tseries)
> library(FSA) 
> library(knitr)
> library(tseries)
> library(TSA)
> library(lmtest)
> library(forecast)
> library(MLmetrics)
> library(xts)
> library(readxl)
> library(ggplot2)
> library(MASS)
> library(forecast)
> library(nortest)

1 Kasus

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. Fluktuasi yang tinggi pada data IHSG kemungkinan besar akan memiliki nilai pencilan. Pada beberapa hari terakhir, terdapat kebijakan pemerintah yang ramai dan menimbulkan sentimen negative sehingga membuat saham-saham di Indonesia menjadi anjlok termasuk IHSG. Kebijakan pemerintah tersebut adalah pengesahan RUU TNI yang disahkan pada tanggal 20 Maret 2025. Semenjak RUU TNI disahkan, nilai IHSG mengalami penurunan dan pada awal bulan April 2025 mengalami penurunan yang sangat tinggi. Berdasarkan karakteristik dari data IHSG yang selalu mengalami perubahan perlu dilakukan peramalan. Peramalan pada data close price IHSG dapat membantu investor dalam mengambil keputusan dalam berinvestasi.

2 Data

Data terdiri dari 298 amatan dari 2 Januari 2024 sampai 9 April 2025. Data terdiri dari dua kolom yaitu tanggal dan Harga Saham. Berikut tampilan 10 amatan pertama.

No 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

3 Eksplorasi Data

Eksplorasi data menggunakan visualisasi plot

> ggplot(data, aes(x = Tanggal, y = `Harga Saham`)) +
+   geom_line() +
+   labs(title = "Plot Deret Waktu IHSG",
+        x = "Tanggal",
+        y = "IHSG") +
+   theme_minimal()

Berdasarkan plot deret waktu diatas terlihat bahwa IHSG mengalami fluktuasi yang cukup stabil pada periode Januari 2024 sampai Juni 2024. Setelah bulan juni 2024, IHSG menurun cukup tajam dan diikuti kenaikan setelah bulan juli sampai sekitar bulan oktober 2024. Namun, memasuki tahun 2025 IHSG mengalami trend menurun secara tajam sampai mencapai titik terendah pada Maret 2025.

Pada plot diketahui bahwa pengesahan RUU TNI pada 20 Maret 2025 merupakan kebijakan eksternal yang diketahui dan memiliki dampak sistematis terhadap pergerakan IHSG. Selain itu, penurunan yang drastis dapat berpotensi menghasilkan outlier. Sehingga akan dilakukan dua pemodelan yaitu outlier dan intervensi.

4 Pemodelan Outlier

4.1 Stasioneritas

4.1.1 Stasioneritas Ragam

Pengecekan stasioneritas ragam akan menggunakan plot Box-Cox. Jika didapatkan p \(\lambda\) lebih dari 1 maka data sudah stasioner, sebaliknya jika pembulatan \(\lambda\) kurang dari 1 maka data tidak stasioner terhadap ragam. Jika data tidak stasioner terhadap ragam, perlu dilakukan transformasi Box-Cox dengan rumus sebagai berikut.

\[ y^{(\lambda)} = \begin{cases} \frac{y^\lambda - 1}{\lambda} & \text{jika } \lambda \neq 0, \\ \log(y) & \text{jika } \lambda = 0. \end{cases} \] Pada rstudio didapatkan hasil berupa berikut.

> x <- data$`Harga Saham`
> y<- data$Tanggal
> model <- lm(x~y, data = data)
> boxcox(model, lambda = seq(-2, 2, 0.5))

> lambda <- BoxCox.lambda(data$`Harga Saham`)
> lambda
[1] 1.999924

Berdasarkan pengecekan Box-Cox didapatkan \(\lambda= 1,999924\) maka dapat disimpulkan data sudah stasioner terhadap ragam

4.1.2 Stasioneritas Rata-Rata

Pengecekan stasioneritas rata-rata akan menggunakan uji Augmented Dickey-Fuller (ADF) dengan hipotesis sebagai berikut.

  • \(H_0: \phi_k = 0\) (Lag ke-\(k\) tidak signifikan memengaruhi \(y_t\)) vs
  • \(H_1: \phi_k \neq 0\) (Lag ke-\(k\) signifikan memengaruhi \(y_t\))

Tolak \(H_0\) jika p-value kurang 0.05

Berdasarkan output rstudio didapatkan

> adf.test(data$`Harga Saham`)

    Augmented Dickey-Fuller Test

data:  data$`Harga Saham`
Dickey-Fuller = -0.58748, Lag order = 6, p-value = 0.9775
alternative hypothesis: stationary

karena p-value= 0,9775 maka didapatkan keputussan terima \(H_0\). Sehingga dapat disimpulkan bahwa data IHSG tidak stasioner terhadap rata-rata. Oleh karena itu, akan dilakukan diferensiasi sebanyak satu kali dengan rumus

\[ \nabla Y_t = Y_t - Y_{t-1} \]

di mana:

  • \(\nabla Y_t\) = Nilai hasil diferensiasi pada waktu \(t\)
  • \(Y_t\) = Nilai observasi pada waktu \(t\)
  • \(Y_{t-1}\) = Nilai observasi pada waktu \(t-1\)

Berikut merupakan 10 amatan pertama hasil diferensiasi

Perubahan
-44.50
80.67
-9.14
-67.04
-83.38
27.10
-7.34
21.18
-17.14
18.79

Setelah melakukan diferensiasi, langkah selanjutnya adalah pengujian ADF ulang pada data diferensiasi. Dengan hipotesis

  • \(H_0: \phi_k = 0\) (Lag ke-\(k\) tidak signifikan memengaruhi \(X_t\))
    vs
  • \(H_1: \phi_k \neq 0\) (Lag ke-\(k\) signifikan memengaruhi \(X_t\))

dan hasil

> adf.test(datadf)

    Augmented Dickey-Fuller Test

data:  datadf
Dickey-Fuller = -7.5443, Lag order = 6, p-value = 0.01
alternative hypothesis: stationary

Berdasarkan output diatas, didapatkan p-value 0.01 yang lebih kecil dari 0.05 maka dapat disimpulkan bahwa data diferensiasi pertama dari IHSG stasioner terhadap rata-rata.

4.2 Identifikasi Model

Identifikasi model tentatif akan menggunakan plot ACF dan PACF dengan kriteria sebagai berikut.

Tabel 1. Identifikasi Model ARMA Berdasarkan Pola ACF dan PACF
Model ACF PACF
AR(p) Menurun secara eksponensial Terjadi cut-off setelah lag ke-p
MA(q) Terjadi cut-off setelah lag ke-q Menurun secara eksponensial
ARMA(p,q) Menurun secara eksponensial Menurun secara eksponensial

4.2.1 Plot ACF

> acf(datadf)

Pada plot ACF, lag yang signifikan adalah lag 2,7,10,19.

4.2.2 Plot PACF

> pacf(datadf)

Pada plot ACF, lag yang signifikan adalah lag 2,10, dan 19. Berdasarkan kedua plot tersebut maka model tentatif yang mungkin adalah model ARIMA([2,7,10,19],0,0) dan ARIMA (0,0,[2,10,19]).

4.3 Pendugaan parameter

4.3.1 ARIMA([2,7,10,19],0,0)

> arima1 <- arima(x = datadf, 
+                      order = c(19, 0, 0), include.mean = TRUE, 
+                      fixed = c(0, NA, rep(0,4), NA, rep(0, 2), NA, rep(0, 8), NA, NA
+                               ),
+                      method = "ML")
>   
> summary(arima1)

Call:
arima(x = datadf, order = c(19, 0, 0), include.mean = TRUE, fixed = c(0, NA, 
    rep(0, 4), NA, rep(0, 2), NA, rep(0, 8), NA, NA), method = "ML")

Coefficients:
      ar1     ar2  ar3  ar4  ar5  ar6      ar7  ar8  ar9    ar10  ar11  ar12
        0  -0.119    0    0    0    0  -0.1597    0    0  0.1782     0     0
s.e.    0   0.060    0    0    0    0   0.0614    0    0  0.0630     0     0
      ar13  ar14  ar15  ar16  ar17  ar18     ar19  intercept
         0     0     0     0     0     0  -0.2026    -4.2244
s.e.     0     0     0     0     0     0   0.0632     3.2362

sigma^2 estimated as 5181:  log likelihood = -1692.19,  aic = 3394.39

Training set error measures:
                      ME     RMSE      MAE          MPE      MAPE      MASE
Training set -0.05577381 71.97787 54.00799 -0.002396073 0.7622792 0.9842578
                    ACF1
Training set 0.003923282
> coeftest(arima1)

z test of coefficients:

           Estimate Std. Error z value Pr(>|z|)   
ar2       -0.119000   0.059988 -1.9837 0.047287 * 
ar7       -0.159661   0.061409 -2.5999 0.009324 **
ar10       0.178227   0.062994  2.8293 0.004666 **
ar19      -0.202618   0.063239 -3.2040 0.001355 **
intercept -4.224442   3.236245 -1.3054 0.191773   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan output diatas didapat bahwa semua paramater signifikan dengan persamaan model sebagai berikut. \[ Y_t = -4.2244 - 0.119 Y_{t-2} - 0.1597 Y_{t-7} + 0.1782 Y_{t-10} - 0.2026 Y_{t-19} + \epsilon_t \]

4.3.2 ARIMA (0,0,[2,10,19])

> arima2 <- arima(x = datadf, 
+                      order = c(0, 0, 19), include.mean = TRUE, 
+                      fixed = c(0, NA, rep(0,7), NA, rep(0, 8), NA, NA
+                               ),
+                      method = "ML")
>   
> summary(arima2)

Call:
arima(x = datadf, order = c(0, 0, 19), include.mean = TRUE, fixed = c(0, NA, 
    rep(0, 7), NA, rep(0, 8), NA, NA), method = "ML")

Coefficients:
      ma1      ma2  ma3  ma4  ma5  ma6  ma7  ma8  ma9    ma10  ma11  ma12  ma13
        0  -0.1069    0    0    0    0    0    0    0  0.1139     0     0     0
s.e.    0   0.0571    0    0    0    0    0    0    0  0.0651     0     0     0
      ma14  ma15  ma16  ma17  ma18     ma19  intercept
         0     0     0     0     0  -0.1836    -4.3319
s.e.     0     0     0     0     0   0.0638     3.5450

sigma^2 estimated as 5369:  log likelihood = -1697.22,  aic = 3402.45

Training set error measures:
                    ME     RMSE      MAE          MPE      MAPE      MASE
Training set -0.021115 73.27529 54.45222 -0.001206947 0.7688139 0.9923537
                    ACF1
Training set 0.003766416
> coeftest(arima2)

z test of coefficients:

           Estimate Std. Error z value Pr(>|z|)   
ma2       -0.106904   0.057060 -1.8735 0.060995 . 
ma10       0.113856   0.065108  1.7487 0.080338 . 
ma19      -0.183591   0.063765 -2.8792 0.003987 **
intercept -4.331865   3.545013 -1.2220 0.221723   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan uji signifikansi diatas terdapat parameter yang tidak signifikan yaitu parameter MA2 dan MA10. Maka dapat disimpulkan model ARIMA (0,0,[2,10,19]) tidak cocok digunakan pada kasus ini. Sehingga uji Diagnostik akan dilakukan pada ARIMA([2,7,10,19],0,0).

4.4 Pengujian Asumsi

4.4.1 Normalitas Residual

Pengujian normalitas residual akan menggunakan uji Anderson-Darling dengan hipotesis sebagai berikut.

\(H_0:\) :yang menyatakan bahwa residual model (εₜ) berdistribusi normal dengan mean μ dan varians σ² vs

\(H_1:\) : residual model (εₜ) tidak berdistribusi normal

Secara matematis dapat dituliskan:

\[ H_0: \epsilon_t \sim \mathcal{N}(\mu, \sigma^2) \quad \text{vs} \quad H_1: \epsilon_t \not\sim \mathcal{N}(\mu, \sigma^2) \] Berdasarkan output Rstudio didapatkan hasil sebagai berikut

> ad.test(residuals(arima1))

    Anderson-Darling normality test

data:  residuals(arima1)
A = 2.1479, p-value = 1.821e-05

Berdasarkan output diatas, didapatkan p-value yang kurang dari 0.05 maka disimpulkan tolak \(H_0:\). Oleh karena itu, residual tidak berdistribusi normal.

4.4.2 Autokorelasi Residual

Pengujian autokorelasi residual akan digunakan uji Ljung-Box yang memiliki hipotesis sebagai berikut.

\[ \begin{aligned} &H_0: \rho_1 = \rho_2 = \dots = \rho_{20} = 0 \\ &H_1: \rho_i \neq 0 \quad \text{untuk suatu } i \leq 20 \end{aligned} \]

> Box.test(residuals(arima1), lag = 20, type = "Ljung-Box")

    Box-Ljung test

data:  residuals(arima1)
X-squared = 12.634, df = 20, p-value = 0.8925

Berdasarkan hasil diatas, didapatkan p-value sebesar 0,8925. Maka didapat keputusan terima \(H_0:\). Oleh karena itu, disimpulkan tidak terjadi autokorelasi residual.

4.5 Pemilihan Model terbaik

Berdasarkan signifikansi parameter dan uji diagnostik dapat disimpulkan bahwa model terbaik adalah ARIMA([2,7,10,19],0,0). Dengan persamaan \[ Y_t = -4.2244 - 0.119 Y_{t-2} - 0.1597 Y_{t-7} + 0.1782 Y_{t-10} - 0.2026 Y_{t-19} + \epsilon_t \]

4.6 Deteksi Outlier

Berdasarkan yang menurun secara tajam, maka dapat diperkirakan terjadinya adanya outlier. Pendeteksian outlier pada model ARIMA akan menggunakan deteksi additive outlier, innovative outlier, dan level shift

> library(tsoutliers)
> prediksi <-data$`Harga Saham`[2:298]-residuals(arima1)
> outlier <- tso(prediksi, types = c('AO','IO','IS','TC'))
> print(outlier)
Series: prediksi 
Regression with ARIMA(0,1,0) errors 

Coefficients:
          TC137      AO277      AO279     TC295      AO297
      -264.3652  -226.7568  -204.6376  264.6799  -337.9785
s.e.    59.7140    45.7985    45.7985   62.0373    66.0661

sigma^2 = 4267:  log likelihood = -1654.57
AIC=3321.14   AICc=3321.43   BIC=3343.28

Outliers:
  type ind time coefhat  tstat
1   TC 137  137  -264.4 -4.427
2   AO 277  277  -226.8 -4.951
3   AO 279  279  -204.6 -4.468
4   TC 295  295   264.7  4.266
5   AO 297  297  -338.0 -5.116

Berdasarkan output diatas dapat diketahui bahwa tipe outlier yang terjadi adalah Tempory Change pada waktu ke 137 dan 295 dan Additive Outlier pada waktu ke 277, 279, dan 295

\[ \begin{aligned} Y_t = & -4.2244 - 0.119 Y_{t-2} - 0.1597 Y_{t-7} + 0.1782 Y_{t-10} - 0.2026 Y_{t-19} \\ & -264.4 I(t=137) -226.8 I(t=277) -204.6 I(t=279) \\ & +264.7 I(t=295) -338.0 I(t=297) + \epsilon_t \end{aligned} \]

4.7 Plot Outlier

> plot(outlier$effects)

4.8 Pemodelan ARIMA Outlier

> xreg <- outlier$effects
> xreg
Time Series:
Start = 1 
End = 297 
Frequency = 1 
  [1]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
  [6]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [11]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [16]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [21]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [26]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [31]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [36]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [41]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [46]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [51]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [56]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [61]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [66]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [71]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [76]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [81]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [86]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [91]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
 [96]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
[101]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
[106]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
[111]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
[116]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
[121]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
[126]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
[131]  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00
[136]  0.000000e+00 -2.643652e+02 -1.850557e+02 -1.295390e+02 -9.067727e+01
[141] -6.347409e+01 -4.443186e+01 -3.110230e+01 -2.177161e+01 -1.524013e+01
[146] -1.066809e+01 -7.467663e+00 -5.227364e+00 -3.659155e+00 -2.561409e+00
[151] -1.792986e+00 -1.255090e+00 -8.785631e-01 -6.149942e-01 -4.304959e-01
[156] -3.013472e-01 -2.109430e-01 -1.476601e-01 -1.033621e-01 -7.235345e-02
[161] -5.064742e-02 -3.545319e-02 -2.481723e-02 -1.737206e-02 -1.216044e-02
[166] -8.512311e-03 -5.958618e-03 -4.171032e-03 -2.919723e-03 -2.043806e-03
[171] -1.430664e-03 -1.001465e-03 -7.010254e-04 -4.907178e-04 -3.435025e-04
[176] -2.404517e-04 -1.683162e-04 -1.178213e-04 -8.247494e-05 -5.773246e-05
[181] -4.041272e-05 -2.828890e-05 -1.980223e-05 -1.386156e-05 -9.703094e-06
[186] -6.792166e-06 -4.754516e-06 -3.328161e-06 -2.329713e-06 -1.630799e-06
[191] -1.141559e-06 -7.990915e-07 -5.593641e-07 -3.915549e-07 -2.740884e-07
[196] -1.918619e-07 -1.343033e-07 -9.401232e-08 -6.580862e-08 -4.606604e-08
[201] -3.224623e-08 -2.257236e-08 -1.580065e-08 -1.106046e-08 -7.742319e-09
[206] -5.419623e-09 -3.793736e-09 -2.655615e-09 -1.858931e-09 -1.301252e-09
[211] -9.108761e-10 -6.376132e-10 -4.463293e-10 -3.124305e-10 -2.187013e-10
[216] -1.530909e-10 -1.071637e-10 -7.501456e-11 -5.251019e-11 -3.675713e-11
[221] -2.572999e-11 -1.801100e-11 -1.260770e-11 -8.825388e-12 -6.177772e-12
[226] -4.324440e-12 -3.027108e-12 -2.118976e-12 -1.483283e-12 -1.038298e-12
[231] -7.268087e-13 -5.087661e-13 -3.561362e-13 -2.492954e-13 -1.745068e-13
[236] -1.221547e-13 -8.550831e-14 -5.985582e-14 -4.189907e-14 -2.932935e-14
[241] -2.053055e-14 -1.437138e-14 -1.005997e-14 -7.041977e-15 -4.929384e-15
[246] -3.450569e-15 -2.415398e-15 -1.690779e-15 -1.183545e-15 -8.284816e-16
[251] -5.799371e-16 -4.059560e-16 -2.841692e-16 -1.989184e-16 -1.392429e-16
[256] -9.747003e-17 -6.822902e-17 -4.776031e-17 -3.343222e-17 -2.340255e-17
[261] -1.638179e-17 -1.146725e-17 -8.027076e-18 -5.618953e-18 -3.933267e-18
[266] -2.753287e-18 -1.927301e-18 -1.349111e-18 -9.443775e-19 -6.610642e-19
[271] -4.627450e-19 -3.239215e-19 -2.267450e-19 -1.587215e-19 -1.111051e-19
[276] -7.777354e-20 -2.267568e+02 -3.810904e-20 -2.046376e+02 -1.867343e-20
[281] -1.307140e-20 -9.149980e-21 -6.404986e-21 -4.483490e-21 -3.138443e-21
[286] -2.196910e-21 -1.537837e-21 -1.076486e-21 -7.535402e-22 -5.274781e-22
[291] -3.692347e-22 -2.584643e-22 -1.809250e-22 -1.266475e-22  2.646799e+02
[296]  1.852759e+02 -2.082854e+02
> arima1TCAO <- arima(x = datadf, 
+                      order = c(19, 0, 0), include.mean = TRUE, 
+                      fixed = c(0, NA, rep(0,4), NA, rep(0, 2), NA, rep(0, 8), NA, NA, NA), xreg = xreg,
+                      method = "ML")
> summary(arima1TCAO)

Call:
arima(x = datadf, order = c(19, 0, 0), xreg = xreg, include.mean = TRUE, fixed = c(0, 
    NA, rep(0, 4), NA, rep(0, 2), NA, rep(0, 8), NA, NA, NA), method = "ML")

Coefficients:
      ar1      ar2  ar3  ar4  ar5  ar6      ar7  ar8  ar9    ar10  ar11  ar12
        0  -0.1202    0    0    0    0  -0.2047    0    0  0.1616     0     0
s.e.    0   0.0590    0    0    0    0   0.0616    0    0  0.0630     0     0
      ar13  ar14  ar15  ar16  ar17  ar18     ar19  intercept     xreg
         0     0     0     0     0     0  -0.1744    -6.2078  -0.5454
s.e.     0     0     0     0     0     0   0.0629     3.0613   0.1119

sigma^2 estimated as 4801:  log likelihood = -1680.81,  aic = 3373.63

Training set error measures:
                      ME     RMSE      MAE          MPE      MAPE      MASE
Training set -0.04155156 69.29039 53.36989 -0.003486409 0.7527972 0.9726289
                   ACF1
Training set 0.05729604
> coeftest(arima1TCAO)

z test of coefficients:

           Estimate Std. Error z value  Pr(>|z|)    
ar2       -0.120160   0.058974 -2.0375 0.0415982 *  
ar7       -0.204651   0.061589 -3.3228 0.0008911 ***
ar10       0.161635   0.063044  2.5638 0.0103523 *  
ar19      -0.174368   0.062926 -2.7710 0.0055883 ** 
intercept -6.207809   3.061318 -2.0278 0.0425784 *  
xreg      -0.545366   0.111949 -4.8715 1.107e-06 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan output diatas dapat disimpulkan bahwa pengaruh oulier mempengaruhi secara signifikan terhadap IHSG.

4.9 Uji Diagnostik Residual

4.9.1 Uji kenormalan Residual

Pengujian normalitas residual akan menggunakan uji Anderson-Darling dengan hipotesis sebagai berikut.

\(H_0:\) :yang menyatakan bahwa residual model (εₜ) berdistribusi normal dengan mean μ dan varians σ² vs \(H_1:\) : residual model (εₜ) tidak berdistribusi normal

Secara matematis dapat dituliskan:

\[ H_0: \epsilon_t \sim \mathcal{N}(\mu, \sigma^2) \quad \text{vs} \quad H_1: \epsilon_t \not\sim \mathcal{N}(\mu, \sigma^2) \] Berdasarkan output Rstudio didapatkan hasil

> ad.test(residuals(arima1TCAO))

    Anderson-Darling normality test

data:  residuals(arima1TCAO)
A = 1.8997, p-value = 7.398e-05

Berdsarkan output diatas didapat nilai p-value yang kurang dari 0.05 maka dapat disimpulkan tolak \(H_0:\). Oleh karena itu, dapat disimpulkan bahwa residual model tidak berdistribusi normal.

4.9.2 Uji Autokorelasi Residual

Pengujian autokorelasi residual akan digunakan uji Ljung-Box yang memiliki hipotesis sebagai berikut.

\[ \begin{aligned} &H_0: \rho_1 = \rho_2 = \dots = \rho_{20} = 0 \\ &H_1: \rho_i \neq 0 \quad \text{untuk suatu } i \leq 20 \end{aligned} \] Berdasarkan output Rstudio didapatkan hasil

> Box.test(residuals(arima1TCAO), lag = 20, type = "Ljung-Box")

    Box-Ljung test

data:  residuals(arima1TCAO)
X-squared = 11.366, df = 20, p-value = 0.9362

Berdasarkan output diatas, didapat p-value yang lebih besar dari 0.05 maka terima \(H_0:\). Oleh karena, disimpulkan bahwa tidak terjadi autokorelasi antar residual pada model ARIMA Outlier

4.10 Visualisasi model

> library(ggplot2)
> 
> plot_data <- data.frame(
+   Time = time(data$`Harga Saham`)[-c(1:1)],  
+   Actual = as.numeric(data$`Harga Saham`)[-c(1:1)],
+   Fitted = as.numeric(fitted(arima1TCAO))
+ )
> ggplot(plot_data, aes(x = Time)) +
+   geom_line(aes(y = Actual, color = "Aktual"), linewidth = 0.8) +
+   geom_line(aes(y = Fitted, color = "Fitted"), linewidth = 0.8, linetype = "dashed") +
+   labs(title = "Perbandingan Data Aktual vs Fitted Model",
+        x = "Waktu",
+        y = "Harga Saham") +
+   scale_color_manual(values = c("Aktual" = "black", "Fitted" = "red"))

4.11 Peramalan

Akan dilakukan peramalan untuk 20 periode kedepan, didapatkan hasil sebagi berikut

 [1] 5973.099 5984.097 5975.450 5916.486 5899.230 5971.994 6018.071 6037.344
 [9] 5941.756 5981.499 5978.994 5959.290 5965.946 5964.566 5937.042 5911.964
[17] 5903.849 6009.407 5995.755 5983.600 5977.266 5975.842 5988.229 5987.440
[25] 5943.959 5926.922 5923.181 5958.896 5943.578 5930.187
x
5973.099
5984.097
5975.450
5916.486
5899.230
5971.994
6018.071
6037.344
5941.756
5981.499
5978.994
5959.290
5965.946
5964.566
5937.042
5911.964
5903.849
6009.407
5995.755
5983.600
5977.266
5975.842
5988.229
5987.440
5943.959
5926.922
5923.181
5958.896
5943.578
5930.187

Dapat terlihat bahwa pada peramalan 30 periode kedepan, nilai IHSG terus mengalami penurunan.

5 Pemodelan Intervensi

Pemodelan intervensi diperlukan karena diketahui bahwa kasus pengesehan RUU TNI pada tanggal 20 Maret 2025 menyebabkan adanya penurunan drastis pada IHSG.

5.1 Data Pemodelan Pra-intervensi

Akan dimodelkan ARIMA pada data Pra-intervensi yang berawal dari 2 Januari 2024 sampai 19 Maret 2025. Tampilan data akan seperti berikut

x
7323.59
7279.09
7359.76
7350.62
7283.58
7200.20
7227.30
7219.96
7241.14
7224.00

5.1.1 Visualisasi

> plot(datainter)

### Uji Stasioneritas #### Stasioneritas Ragam

Pengecekan stasioneritas ragam akan menggunakan plot Box-Cox. Jika didapatkan p \(\lambda\) lebih dari 1 maka data sudah stasioner, sebaliknya jika pembulatan \(\lambda\) kurang dari 1 maka data tidak stasioner terhadap ragam. Jika data tidak stasioner terhadap ragam, perlu dilakukan transformasi Box-Cox.

> BoxCox.lambda(datainter)
[1] 1.999924

Karena nilai \(\lambda\) lebih dari maka dapat dikatakan data pra-intervensi sudah stasioner terhadap ragam.

5.1.1.1 Stasioneritas Rata-Rata

Pengecekan stasioneritas rata-rata akan menggunakan uji Augmented Dickey-Fuller (ADF) dengan hipotesis sebagai berikut.

  • \(H_0: \phi_k = 0\) (Lag ke-\(k\) tidak signifikan memengaruhi \(X_t\))
  • \(H_1: \phi_k \neq 0\) (Lag ke-\(k\) signifikan memengaruhi \(X_t\))

Tolak \(H_0\) jika p-value kurang 0.05

Berdasarkan output rstudio didapatkan

> adf.test(datainter)

    Augmented Dickey-Fuller Test

data:  datainter
Dickey-Fuller = -1.033, Lag order = 6, p-value = 0.932
alternative hypothesis: stationary

Berdasarkan output diatas, didapatkan p-value 0.932 yang lebih besar dari 0.05 maka dapat disimpulkan bahwa data pra-intervensi tidak stasioner terhadap rata-rata. Maka akan dilakukan diferensiasi sebanyak satu kali lalu melakukan uji ADF kembali.

> datainterdif<- diff(datainter)
> adf.test(datainterdif)

    Augmented Dickey-Fuller Test

data:  datainterdif
Dickey-Fuller = -7.0095, Lag order = 6, p-value = 0.01
alternative hypothesis: stationary

Berdasarkan output diatas didapatkan p-value sebesar 0,01 yang lebih kecil dari 0.05. Maka didapat keputusan tolak \(H_0\). Oleh karena itu, dapat disimpulkan bahwa data diferensiasi pertama dari pra-intervensi sudah stasioner terhadap rata-rata.

5.1.2 Identifikasi Model

> acf(datainterdif)

> nilai <- acf(datainterdif, plot=FALSE)
> print(nilai)

Autocorrelations of series 'datainterdif', by lag

     1      2      3      4      5      6      7      8      9     10     11 
-0.022 -0.015  0.060 -0.008  0.038 -0.073 -0.082 -0.059 -0.091  0.115 -0.078 
    12     13     14     15     16     17     18     19     20     21     22 
-0.019  0.086 -0.005  0.079 -0.027 -0.017 -0.052 -0.098 -0.012 -0.017 -0.062 
    23     24 
 0.021 -0.030 

Berdarakan plot ACF didapat lag yang signifikan hanya pada lag 10

> pacf(datainterdif)

erdarakan plot PACF didapat lag yang signifikan hanya pada lag 10. Berdasarkan kedua plot diatas model tentatif yang memungkinkan adalah ARIMA(10,0,0), ARIMA(0,0,10), ARIMA([10],0,0), dan ARIMA([10],0,[10])

5.1.3 Pendugaan paraameter dan Uji signifikansi

5.1.3.1 ARIMA(0,0,10)

> arima0010 <- Arima(
+   datainterdif,                
+   order = c(0, 0, 10),      
+   include.mean = TRUE,      
+   method = "ML"             
+ )
> summary(arima0010)
Series: datainterdif 
ARIMA(0,0,10) with non-zero mean 

Coefficients:
          ma1      ma2     ma3     ma4     ma5      ma6      ma7      ma8
      -0.0081  -0.0338  0.0448  0.0009  0.0195  -0.0395  -0.0863  -0.0403
s.e.   0.0594   0.0600  0.0619  0.0611  0.0632   0.0653   0.0627   0.0653
          ma9    ma10     mean
      -0.0960  0.0874  -3.3338
s.e.   0.0677  0.0649   3.3652

sigma^2 = 4672:  log likelihood = -1625.51
AIC=3275.02   AICc=3276.15   BIC=3319.02

Training set error measures:
                     ME     RMSE      MAE MPE MAPE     MASE         ACF1
Training set -0.0393662 67.03502 52.17176 Inf  Inf 0.717049 -0.008561866
> coeftest(arima0010)

z test of coefficients:

             Estimate  Std. Error z value Pr(>|z|)
ma1       -0.00811464  0.05943574 -0.1365   0.8914
ma2       -0.03382101  0.05998866 -0.5638   0.5729
ma3        0.04480399  0.06194399  0.7233   0.4695
ma4        0.00094122  0.06107308  0.0154   0.9877
ma5        0.01953532  0.06316898  0.3093   0.7571
ma6       -0.03953446  0.06533712 -0.6051   0.5451
ma7       -0.08628597  0.06267051 -1.3768   0.1686
ma8       -0.04031676  0.06529348 -0.6175   0.5369
ma9       -0.09601884  0.06769565 -1.4184   0.1561
ma10       0.08744771  0.06490557  1.3473   0.1779
intercept -3.33376960  3.36522628 -0.9907   0.3219

berdasarkan output diatas, tidak ada parameter dari model yang memiliki pengaruh signifikan. Maka model ARIMA(0,0,10) tidak cocok digunakan.

5.1.3.2 ARIMA(10,0,0)

> arima1000 <- Arima(
+   datainterdif,                
+   order = c(10, 0, 0),      
+   include.mean = TRUE,      
+   method = "ML"             
+ )
> summary(arima1000)
Series: datainterdif 
ARIMA(10,0,0) with non-zero mean 

Coefficients:
          ar1      ar2     ar3     ar4     ar5      ar6      ar7      ar8
      -0.0253  -0.0211  0.0754  0.0126  0.0438  -0.0776  -0.1035  -0.0745
s.e.   0.0584   0.0596  0.0595  0.0598  0.0595   0.0599   0.0600   0.0600
        ar9    ar10     mean
      -0.09  0.1304  -3.3493
s.e.   0.06  0.0603   3.4788

sigma^2 = 4609:  log likelihood = -1623.64
AIC=3271.29   AICc=3272.42   BIC=3315.28

Training set error measures:
                      ME     RMSE     MAE MPE MAPE      MASE        ACF1
Training set -0.05056863 66.58443 51.6979 Inf  Inf 0.7105363 0.008188948
> coeftest(arima1000)

z test of coefficients:

           Estimate Std. Error z value Pr(>|z|)  
ar1       -0.025296   0.058433 -0.4329  0.66508  
ar2       -0.021077   0.059585 -0.3537  0.72353  
ar3        0.075387   0.059481  1.2674  0.20501  
ar4        0.012606   0.059767  0.2109  0.83295  
ar5        0.043763   0.059456  0.7361  0.46169  
ar6       -0.077581   0.059863 -1.2960  0.19499  
ar7       -0.103535   0.059961 -1.7267  0.08422 .
ar8       -0.074522   0.059983 -1.2424  0.21409  
ar9       -0.089984   0.060033 -1.4989  0.13390  
ar10       0.130374   0.060265  2.1633  0.03051 *
intercept -3.349311   3.478818 -0.9628  0.33566  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan output diatas, hanya satu parameter yang signifikan yaitu ar10, sisanya tidak signifikan. Maka dapat disimpulkan model ARIMA (10,0,0) tidak cocok untuk digunakan

5.1.3.3 ARIMA([10],0,0)

> arima10_00 <- arima(x = datainterdif, 
+                      order = c(10, 0, 0), include.mean = TRUE, 
+                      fixed = c(rep(0,9), NA, NA), 
+                      method = "ML")
> summary(arima10_00)

Call:
arima(x = datainterdif, order = c(10, 0, 0), include.mean = TRUE, fixed = c(rep(0, 
    9), NA, NA), method = "ML")

Coefficients:
      ar1  ar2  ar3  ar4  ar5  ar6  ar7  ar8  ar9    ar10  intercept
        0    0    0    0    0    0    0    0    0  0.1233    -3.6126
s.e.    0    0    0    0    0    0    0    0    0  0.0604     4.5284

sigma^2 estimated as 4598:  log likelihood = -1628.78,  aic = 3261.56

Training set error measures:
                     ME     RMSE      MAE         MPE      MAPE      MASE
Training set 0.02024141 67.81073 52.02674 0.002584574 0.7295393 0.9989507
                      ACF1
Training set -0.0008026538
> coeftest(arima10_00)

z test of coefficients:

           Estimate Std. Error z value Pr(>|z|)  
ar10       0.123315   0.060379  2.0423  0.04112 *
intercept -3.612599   4.528377 -0.7978  0.42500  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasrkan output diatas diketahui bahwa parameter ar10 signifikan. Oleh karena itu model ini cocok digunakan untuk data Pra-intervensi

5.1.3.4 ARIMA(0,0,[10])

> arima00_10 <- arima(x = datainterdif, 
+                      order = c(0, 0, 10), include.mean = TRUE, 
+                      fixed = c(rep(0,9), NA, NA), 
+                      method = "ML")
> summary(arima00_10)

Call:
arima(x = datainterdif, order = c(0, 0, 10), include.mean = TRUE, fixed = c(rep(0, 
    9), NA, NA), method = "ML")

Coefficients:
      ma1  ma2  ma3  ma4  ma5  ma6  ma7  ma8  ma9    ma10  intercept
        0    0    0    0    0    0    0    0    0  0.1340    -3.5955
s.e.    0    0    0    0    0    0    0    0    0  0.0641     4.5025

sigma^2 estimated as 4593:  log likelihood = -1628.64,  aic = 3261.27

Training set error measures:
                     ME     RMSE    MAE         MPE      MAPE      MASE
Training set 0.01999464 67.77349 51.969 0.002580221 0.7286192 0.9978421
                      ACF1
Training set -0.0009595943
> coeftest(arima00_10)

z test of coefficients:

           Estimate Std. Error z value Pr(>|z|)  
ma10       0.133966   0.064073  2.0908  0.03654 *
intercept -3.595530   4.502533 -0.7986  0.42455  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan output diatas, diketahui bahwa semua parameter signifikan, maka model ARIMA[0,0[10]] dapat digunakan.

5.1.3.5 ARIMA ([10],0,[10])

> arima10_00_10 <- arima(x = datainterdif, 
+                      order = c(10, 0, 10), include.mean = TRUE, 
+                      fixed = c(rep(0,9), NA, rep(0,9), NA, NA), 
+                      method = "ML")
> summary(arima10_00_10)

Call:
arima(x = datainterdif, order = c(10, 0, 10), include.mean = TRUE, fixed = c(rep(0, 
    9), NA, rep(0, 9), NA, NA), method = "ML")

Coefficients:
      ar1  ar2  ar3  ar4  ar5  ar6  ar7  ar8  ar9     ar10  ma1  ma2  ma3  ma4
        0    0    0    0    0    0    0    0    0  -0.5444    0    0    0    0
s.e.    0    0    0    0    0    0    0    0    0   0.1491    0    0    0    0
      ma5  ma6  ma7  ma8  ma9    ma10  intercept
        0    0    0    0    0  0.6885    -3.4884
s.e.    0    0    0    0    0  0.1253     4.3204

sigma^2 estimated as 4530:  log likelihood = -1626.8,  aic = 3259.6

Training set error measures:
                      ME     RMSE      MAE         MPE     MAPE      MASE
Training set -0.02297456 67.30203 51.49289 0.001861122 0.721616 0.9887004
                     ACF1
Training set -0.004609932
> coeftest(arima10_00_10)

z test of coefficients:

          Estimate Std. Error z value  Pr(>|z|)    
ar10      -0.54442    0.14913 -3.6507 0.0002615 ***
ma10       0.68852    0.12527  5.4965 3.875e-08 ***
intercept -3.48845    4.32035 -0.8074 0.4194104    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan output diatas, diketahui bahwa semua parameter signifikan, maka model ARIMA([10],0,[10]] dapat digunakan.

Hasil akhir menunjukan ARIMA(0,0,[10]) \[ Y_t = \ -3.595530 + \epsilon_t + \ 0.13966 \epsilon_{t-10} \] ARIMA([10,0,0]) \[ Y_t = \ -3.612599 + \ 0.123315Y_{t-10} + \epsilon_t \] dan ARIMA([10],0,[10]) \[ Y_t = \ -3.48845+ \ -0,544442Y_{t-10} + \epsilon_t + 0,68852 \epsilon_{t-10} \] dapat digunakan untuk model data pra-intervensi.

5.1.4 Pengujian Asumsi

Hal yang pertama dilakukan adalah pengujian normalitas residual akan menggunakan uji Anderson-Darling dengan hipotesis sebagai berikut.

\(H_0:\) :yang menyatakan bahwa residual model (εₜ) berdistribusi normal dengan mean μ dan varians σ²

\(H_1:\) : residual model (εₜ) tidak berdistribusi normal

Secara matematis dapat dituliskan:

\[ H_0: \epsilon_t \sim \mathcal{N}(\mu, \sigma^2) \quad \text{vs} \quad H_1: \epsilon_t \not\sim \mathcal{N}(\mu, \sigma^2) \] Berdasarkan output Rstudio didapatkan hasil

5.1.4.1 ARIMA([10],0,0)

> ad.test(residuals(arima10_00))

    Anderson-Darling normality test

data:  residuals(arima10_00)
A = 0.93905, p-value = 0.01716

Berdasrkan uji anderson-darling didapatkan nilI P-Vlue= 0,01716 yang kurang dari 0,05. Maka dapat disimpulkan residual model ARIMA([10],0,0) tidak berdistribusi Normal

5.1.4.2 ARIMA(0,0,[10])

> ad.test(residuals(arima00_10))

    Anderson-Darling normality test

data:  residuals(arima00_10)
A = 0.9668, p-value = 0.01466

Berdasrkan uji anderson-darling didapatkan nilI P-Vlue= 0,01466 yang kurang dari 0,05. Maka dapat disimpulkan residual model ARIMA([0,0,[10]) tidak berdistribusi Normal

5.1.4.3 ARIMA([10],0,[10])

> ad.test(residuals(arima10_00_10))

    Anderson-Darling normality test

data:  residuals(arima10_00_10)
A = 0.99608, p-value = 0.01241

Berdasrkan uji anderson-darling didapatkan nilI P-Vlue= 0,01716 yang kurang dari 0,05. Maka dapat disimpulkan residual model ARIMA([10],0,0) tidak berdistribusi Normal

Setelah melakukan uji asumsi kenormalan residual, selanjutnya adalah pemeriksaan autokorelasi residual model \[ \begin{aligned} &H_0: \rho_1 = \rho_2 = \dots = \rho_{20} = 0 \\ &H_1: \rho_i \neq 0 \quad \text{untuk suatu } i \leq 20 \end{aligned} \] Berdasarkan output Rstudio didapatkan hasil

5.1.4.4 ARIMA([10],0,0)

> Box.test(residuals(arima10_00), lag = 20, type = "Ljung-Box")

    Box-Ljung test

data:  residuals(arima10_00)
X-squared = 17.809, df = 20, p-value = 0.6

Berdasarkan Output diketahui bahwa nilai p-value sebesar 0,6 yang lebih dari 0,05. Maka dapat disimpulkan tidak terjadi autokorelasi residual pada model ARIMA([10],0,0)

5.1.4.5 ARIMA(0,0,[10])

> Box.test(residuals(arima00_10), lag = 20, type = "Ljung-Box")

    Box-Ljung test

data:  residuals(arima00_10)
X-squared = 17.523, df = 20, p-value = 0.6188

Berdasarkan Output diketahui bahwa nilai p-value sebesar 0,6188 yang lebih dari 0,05. Maka dapat disimpulkan tidak terjadi autokorelasi residual pada model ARIMA(0,0,[10])

5.1.4.6 ARIMA ([10],0,[10])

> Box.test(residuals(arima10_00_10), lag = 20, type = "Ljung-Box")

    Box-Ljung test

data:  residuals(arima10_00_10)
X-squared = 17.477, df = 20, p-value = 0.6218

Berdasarkan Output diketahui bahwa nilai p-value sebesar 0,6218 yang lebih dari 0,05. Maka dapat disimpulkan tidak terjadi autokorelasi residual pada model ARIMA(0,0,[10])

5.1.5 Pemilihan model terbaik

Karena ARIMA(0,0,[10]), ARIMA([10],0,0), dan ARIMA([10],0,[10]) sama baiknya, maka kriteria selanjutnta adalah menggunakan AIC. Model dengan nilai AIC terkecil akan dipilih sebagai model terbaik.

> AIC(arima00_10)
[1] 3263.274
> AIC(arima10_00)
[1] 3263.564
> AIC(arima10_00_10)
[1] 3261.604

Berdasarkan nilai AIC didaptkan model terbaik adalah ARIMA([10],0,[10]) karena memiliki nilai AIC terkecil sebesar 3261,604. Persamaan sebagai berikut \[ Y_t = \ -3.48845+ \ -0,544442Y_{t-10} + \epsilon_t + 0,68852 \epsilon_{t-10} \]

5.2 Peramalan

> peramalan <- forecast(datainter, model = arima10_00_10, h=35)
> peramalan$mean
Time Series:
Start = 291 
End = 325 
Frequency = 1 
 [1]  544.49559  538.67953  530.58145  532.41288  557.89860  567.53381
 [7]  570.14864  558.87838  536.28716  532.01786 -301.82348 -298.65708
[13] -294.24830 -295.24538 -309.12038 -314.36601 -315.78958 -309.65380
[19] -297.35462 -295.03032  158.93196  157.20811  154.80786  155.35069
[25]  162.90456  165.76040  166.53543  163.19497  156.49901  155.23361
[31]  -91.91383  -90.97532  -89.66858  -89.96410  -94.07660
> sisaan <- data$`Harga Saham`[291:298]-peramalan$mean
> sisaan
Time Series:
Start = 291 
End = 325 
Frequency = 1 
 [1] 5837.174 5719.500 5630.639 5703.207 5914.461 5943.086 5425.991 5413.682
 [9] 5845.383 5726.162 6463.043 6534.277 6766.608 6805.865 6305.260 6286.926
[17] 6697.460 6567.834 6458.575 6530.650 6313.428 6353.412 5841.332 5817.209
[25] 6218.765 6092.420 5994.685 6072.425 6315.861 6355.386 6088.054 6063.535
[33] 6471.339 6348.144 6255.297

5.3 Identifikasi orde B,R,s

5.3.1 Identifikasi orde intervensi

> error <- rep(0,298)
> error[1:290]<-residuals(arima10_00_10)
> error[291:298] <- sisaan
> plot(error, type="h", xlab="Waktu (T)", ylab = "Residual", xaxt = "n")
> abline(h=c(-3*sd(residuals(arima00_10)), 3*sd(residuals(arima00_10))), col="blue", lty=2)
> abline(v = 63, col = "red", lty = 3, lwd = 1.5)

6 Kesimpulan

Berdasarkan Analisis Outlier didapatkan tie]pe outlier TC dan AO yang membentuk persamaan model sebagai berikut \[ \begin{aligned} Y_t = & -4.2244 - 0.119 Y_{t-2} - 0.1597 Y_{t-7} + 0.1782 Y_{t-10} - 0.2026 Y_{t-19} \\ & -264.4 I(t=137) -226.8 I(t=277) -204.6 I(t=279) \\ & +264.7 I(t=295) -338.0 I(t=297) + \epsilon_t \end{aligned} \] Peramalan untuk 30 periode kedepan memberikan kesimpulan bahwa efek RUU TNI akan terus memberikan dampak negatif terhadap nilai IHSG. Penurunan IHSG akan berdampak secara luas baik bagi pelaku pasa, perusahaan, bahkan perekonomian Nasional.

Penurunan IHSG seharusnya menjadi perhatian utama pemerintah.Pemerintah perlu segera mengambil langkah-langkah strategis dengan merumuskan kebijakan yang dapat mendorong pemulihan pasar modal. Selain itu, pemerintah seharusnya mengkaji terlebih dahulu suatu aturan sebelum disahkan.