Peramalan Harga Saham Menggunakan ARIMA

Ulfi Daniati

22 Mei 2022

Notes Theme: - Kelas E: cayman
- Kelas F: tactile
- Kelas G: architect
- Kelas H: hpstr

Library:

> install.packages("knitr")
> install.packages("rmarkdown")
Error in contrib.url(repos, "source"): trying to use CRAN without setting a mirror
> install.packages("prettydoc")
Error in contrib.url(repos, "source"): trying to use CRAN without setting a mirror
> install.packages("equatiomatic")
Error in contrib.url(repos, "source"): trying to use CRAN without setting a mirror

1 PENDAHULUAN

1.1 Latar Belakang

Pandemi COVID-19 telah memberikan pengaruh yang sangat besar dalam kehidupan dunia baik dari segi kesehatan maupun perekonomian. Pemberlakuan kebijakan social distancing memberikan dampak pada pelemahan ekonomi di berbagai sektor. Sektor telekomunikasi adalah salah satu sektor yang mampu bertahan di tengah pandemi. Diketahui sumber terbesar pertumbuhan ekonomi Indonesia pada triwulan-1 2020 adalah sektor informasi dan komunikasi. Hal ini wajar mengingat adanya anjuran pemerintah untuk tidak keluar rumah selama pandemi COVID-19 sehingga banyak orang mengakses data internet untuk pekerjaan, hiburan, dan pendidikan melalui teknologi informasi. Salah satu perusahaan telekomunikasi yang tercatat di BEI adalah PT. Indosat Tbk. PT. Indosat Tbk adalah salah satu dari tujuh operator penyedia jaringan telekomunikasi (Infocom) terkemuka di Indonesia yang menyediakan jasa layanan seluler prabayar dan pascabayar secara nasional.

Adanya pandemi COVID-19 membawa dampak signifikan terhadap perdagangan di bursa yang ditunjukkan dengan penurunan Indeks Harga Saham Gabungan (IHSG) di Bursa Efek Indonesia (BEI). BEI telah menyiapkan waktu sebelum pembukaan (pre-opening) dan waktu sebelum penutupan (pre-closing) untuk menentukan harga saham terbaik dari semua permintaan dan penawaran yang masuk. Pada waktu pre-closing akan mempertemukan permintaan dan penawaran berdasarkan best priority dan time priority yang akan membentuk harga penutupan (closing price). Closing price adalah harga yang muncul saat bursa tutup. Closing price saham sangat penting karena menjadi acuan untuk harga pembukaan di keesokan harinya dan dapat memperkirakan investor akan menjual atau membeli sahamnya.

Harga saham dipengaruhi oleh permintaan dan penawaran atas jasa atau produk yang diperjual belikan PT. Indosat. Pada awal pandemi PT. Indosat mengalami penurunan volume penjualan yang menyebabkan penurunan pada harga saham. Hal tersebut juga akan berakibat pada penurunan closing price. Selama tahun 2020, Indosat akan mengantisipasi gaya hidup secara daring serta kegiatan bekerja dan belajar dari rumah karena pandemi dan berkomitmen penuh untuk mendukung pelanggan seluler dan bisnis agar mampu beradaptasi dengan situasi new normal dengan terus meningkatkan kinerja jaringan. Menghadapi hal tersebut PT. Indosat memaksimalkan pembelian produk secara online dengan memberi promosi-promosi khusus atas pembelian secara online seperti melalui marketplace dan mbanking. Pada awal tahun 2021, Indosat juga melanjutkan peningkatan perluasan jaringan perusahaan dengan fokus pada pengembangan 4G/LTE dan jaringan Video Grade yang mampu memberikan layanan internet semakin baik kepada pelanggan sehingga PT. Indosat dapat kembali menstabilkan dan meningkatkan harga sahamnya selama masa pandemi. Closing price biasanya digunakan untuk memprediksi harga saham pada periode berikutnya. Prediksi harga saham di dunia investasi menjadi hal yang penting untuk kegiatan jual-beli saham.

1.2 Statistika Deskriptif

Statistika Deskriptif adalah metode – metode yang berkaitan dengan pengumpulan dan penyajian suatu gugus data sehingga memberikan informasi yang berguna (Ronald E. Walpole, 1982:2).

Perlu kiranya dimengerti bahwa statistika deskriptif memberikan informasi hanya mengenai data yang dipunyai dan sama sekali tidak menarik inferensia atau kesimpulan apapun tentang gugus data induknya yang lebih besar. Penyusunan tabel, diagram, grafik, dan besaran – besaran lain di majalah dan koran – koran, termasuk dalam kategori statistika deskriptif ini.

Ukuran Pemusatan Data

Rata-rata

Rata-rata adalah nilai yang diperoleh dari jumlah sekelompok data dibagi dengan banyaknya data. \(x ̅ = (∑_{i=1}^nX_i )/n\) (untuk data tunggal) , n = frekuensi, \(X_i\) = nilai ke-i

Quartil

Kuartil atau perempatan adalah nilai pengamatan yang terletak pada pengamatan ke-i/4. Dimana pengamatan ke- 2/4 merupakan median atau \(Q_2\) . \(Q_i = X_{i/4(n+1)}\) untuk n ganjil \(Qi=X_{((in+2)/4)}\) untuk n genap

Modus

Modus adalah nilai yang paling banyak / sering muncul. Atau modus adalah nilai pengamatan dengan frekuensi paling banyak.

Nilai Minimum

Nilai minimum adalah nilai pengamatan yang paling rendah.

Nilai Maksimum

Nilai maksimum adalah nilai pengamatan yang paling besar.

Ukuran Penyebaran Data

Kisaran/ Range

Kisaran adalah selisih nilai pengamatan tertinggi dengan nilai pengamatan terendah. \(K= X_t- X_r\)

Ragam

Ragam adalah ukuran seberapa jauh sebuah kumpulan bilangan tersebar. Ragam nol mengindikasikan bahwa semua nilai sama. Ragam selalu bernilai non-negatif. \(s^2=(∑_{i=1}^n(X_i-x ̅)^2 )/(n-1)\)

Simpangan Baku (s)

Simpangan baku adalah akar kuadrat dari ragam. \(s=√((∑_{i=1}^n(X_i-x ̅ )^2 )/(n-1))\) atau \(s=√(s^2 )\)

Jangkauan Interkuartil

\(Q_r = Q_3- Q_1\)   Grafik ===

Histogram

Hisogram digunakan untuk lebih memahami persoalan secara visual. Dalam histogram frekuensi, lebar batang diambil dari batas kelas dan bukan limit kelasnya.

Diagram Dahan Daun

Diagram batang daun menyajikan penyebaran dari suatu data sehingga secara keseluruhan data individu-individu dapat terlihat apakah kecenderungan data tersebut menyebar atau memusat pada suatu nilai tertentu, atau nilai manakah yang sering muncul dan yang jarang muncul.

Diagram Kotak/ Box Plot

Diagram kotak merupakan ringkasan distribusi sampel yang disajikan secara grafis yang bisa menggambarkan bentuk distribusi data (skewness), ukuran tendensi sentral dan ukuran penyebaran (keragaman) data pengamatan.

Terdapat 5 ukuran statistik yang bisa kita baca dari boxplot, yaitu:

Nilai minimum: nilai observasi terkecil

Q1: kuartil terendah atau kuartil pertama

Q2: median atau nilai pertengahan

Q3: kuartil tertinggi atau kuartil ketiga

Nilai maksimum: nilai observasi terbesar.

Selain itu, boxplot juga dapat menunjukkan ada tidaknya nilai outlier dan nilai ekstrim dari data pengamatan.

1.3 Peramalan dan Deret Waktu

Peramalan merupakan teknik untuk memperkirakan suatu nilai pada masa yang akan datang dengan memperhatikan data masa lalu maupun data masa kini. Deret waktu (time series) merupakan data pengamatan yang terjadi berdasarkan urutan waktu secara beruntun dengan interval waktu tetap. (Nurfadilah, dkk, 2018). Analisis deret waktu adalah salah satu materi dalam statistika digunakan untuk meramalkan struktur probabilistik dengan keadaan yang akan terjadi di masa mendatang.

Stasioneritas Data

Stasionaritas bertujuan untuk melihat apakah data berada di sekitar nilai rata-rata dengan fluktuasi yang tidak bergantung pada waktu dan varians. (Tulak, dkk, 2017). Kestasioneran suata data dilihat dari dua hal yaitu stasioner dalam ragam dan stasioner dalam rata-rata (Kafara, dkk, 2017).

Stasioneritas Ragam

Stasioneritas ragam menggunakan uji nilai lambda Box-Cox. Suatu data dikatakan stasioner terhadap ragam apabila lambda Box-Cox bernilai di sekitar satu. Apabila data tidak stasioner maka diperlukan tramsformasi Box-Cox. Menurut Kafara, dkk (2017) transformasi Box-Cox merupakan salah satu metode untuk proses kestasioneran raga, yang dikenalkan oleh Box dan Tiao Cox.

\[ T(Y_t)= \begin{cases} \frac{Y_t^\lambda-1}{\lambda} &; \lambda\neq 0 ,\\ lnY_t &; \lambda=0, \end{cases} \tag{1} \] Stasioneritas Rata-Rata Uji stasioneritas yang digunakan adalah uji akar-akar unit (unit root test) dengan jenis pengujian Augmented Dickey Fuller Test (ADF Test). ADF Test dipilih karena ADF Test telah mempertimbangkan kemungkinan adanya autokorelasi pada residual 𝑒𝑡. (Aktivani, 2021). Dengan hipotesis

\(H_0\) : Data tidak stasioner terhadap rata-rata

\(H_1\) : Data stasioner terhadap rata-rata

Kriteria pengujian:

Apabila p-value<0,05 maka diputuskan tolak \(H_0\). Sedangkan apabila p-value>0,05 maka diputuskan terima \(H_0\). Keputusan yang diharapkan dari uji ini adalah tolak \(H_0\) sehingga data yang diuji stasioner terhadap rata-rata. Namun apabila data diputuskan terima \(H_0\) maka diperlukan differencing.

Proses pembedaan (differencing) adalah proses pengurangan data pada waktu t dengan data waktu t-1 dengan tujuan agar data yang telah di differencing menjadi stasioner terhadap rata-rata. (Maulana, 2018). Differencing dari data observasi \(Y_t\) sebagai berikut :

\[ d = 1: W_t = \Delta Y_t = Y_t - Y_{t-1} \\ d = 2: W_t = \Delta^2Y_t = \Delta(\Delta Y_t) = Y_t - 2Y_{t-1} + Y_{t-2} \tag{2} \] ACF dan PACF

Data yang sudah stasioner perlu dilakukan plotting ACF dan PACF untuk menentukan model tentatifnya. Menurut Kafara, dkk (2017) koefisien autokorelasi merupakan fungsi yang menunjunkkan tingkat keeratan hubungan linier antara pengamatan pada waktu ke-t dengan pengamatan pada waktu-waktu sebelumnya atau dapat dituliskan sebagai berikut :

\[ \gamma_k = corr(Y_t, Y_{t-k}) \tag{3} \] Fungsi autokorelasi parsial merupakan suatu fungsi yang menunjukkan besarnya korelasi parsial antara pengamatan pada waktu ke-t dengan pengamatan sebelum-sebelumnya atau dapat dituliskan sebagai berikut \[ \phi_{kk} = corr(Y_t, Y_{t-k}|Y_{t-1}, Y_{t-2}, ..., Y_{t-k+1}) \tag{4} \] Model Deret Waktu ARIMA

Time series dikatakan proses autoregressive integrated moving average (ARIMA(p,d,q)) jika time series nya tidak stasioner. Untuk mendapatkan time series yang stasioner maka dilakukan differencing pertama yaitu \(Z_t = Y_t - Y_{t-1} = (1-B)Y_t\) atau differencing dengan order \((d)\) yaitu \(Z_t = (1-B)^dY_t\). Dan akan menghasilkan autoregressive-moving average (ARIMA(p,q)).

Sehingga proses ARIMA(p,d,q) dapat didefinisikan dengan (Montgomery et al, 2008):

\[ \Phi(B)(1-B)^dY_t = \delta + \Theta (B)\alpha_t \tag{5} \] Diagnostik Model

Signifikansi Parameter

Model tentatif yang diperoleh harus diestimasi nilai parameternya. Setelah diperoleh nilai estimasi dari masing-masing paraneter, kemudian dilakukan pengujian signifikansi parameter model untuk mengetahui apakah model sudah layak digunakan atau tidak. Hipotesis yang digunakan sebagai berikut

\(H_0\) : Parameter model tidak signifikan

\(H_1\) : Parameter model signifikan

Kriteria pengujian:

Apabila p-value<0,05 maka diputuskan tolak \(H_0\). Sedangkan apabila p-value>0,05 maka diputuskan terima \(H_0\). Keputusan yang diharapkan dari uji ini adalah tolak \(H_0\) sehingga parameter pada model signifikan.

Uji Sisaan

Uji sisaan digunakan untuk membuktikan kecukupan model. Uji yang dilakukan yaitu uji normalitas sisaan dan uji white noise sisaan.

  1. Uji normalitas sisaan

Uji normalitas sisaan digunakan untuk menguji apakah sisaan menyebar normal atau tidak. Uji normalitas dapat dilakukan dengan uji Shapiro Francia, uji Kormogolov-Smornov, dan uji normalitas lainnya dengan hipotesis sebagai berikut :

\(H_0 : 𝜀_𝑖~𝑁(𝜇,𝜎^2)\) sisaan menyebar normal

\(H_1 : 𝜀_𝑖≁𝑁(𝜇,𝜎^2)\) sisaan tidak menyebar normal

Kriteria pengujian:

Apabila p-value<0,05 maka diputuskan tolak \(H_0\). Sedangkan apabila p-value>0,05 maka diputuskan terima \(H_0\). Keputusan yang diharapkan dari uji ini adalah terima \(H_0\) sehingga sisaan pada model menyebar normal.

  1. Uji white noise sisaan

Uji white noise sisaan digunakan untuk menguji apakah terdapat autokorelasi pada sisaan model. Uji ini menggunakan uji Ljung-Box dengan hipotesis sebagai berikut:

\(H_0\) : tidak terdapat autokorelasi sisaan (sisaan bersifat white noise)

\(H_1\) : terdapat autokorelasi sisaan (sisaan tidak bersifat white noise)

Kriteria pengujian:

Apabila p-value<0,05 maka diputuskan tolak \(H_0\). Sedangkan apabila p-value>0,05 maka diputuskan terima \(H_0\). Keputusan yang diharapkan dari uji ini adalah terima \(H_0\) sehingga tidak terdapat autokorelasi pada sisaan model.

Pemilihan Model Terbaik

Model terbaik yaitu model yang memenuhi syarat pada diagnostik model dan memiliki nilai Akaike Information Criterion (AIC) terkecil. AIC adalah kriteria pemilihan model terbaik yang mempertimbangkan banyaknya parameter dalam model. Kriteria AIC dapat dirumuskan sebagai berikut (Wei, 2006) :

\[ AIC = n ln \left( \frac{Sum Square Error}{n} \right)+2f+n+nln(2\pi) \tag{6} \] ## Data Data yang digunakan adalah data saham mingguan PT. Indosat selama 3 tahun terakhir. Sumber data berasal dari yahoo.finance.

2 SOURCE CODE

2.1 Library yang Dibutuhkan

> # Library
> library(tseries)
> library(forecast)
> library(lmtest)
> library(FitAR)
> library(stats)
> library(EnvStats)
> library(readxl)

2.2 Menginput Data

> close <- read_excel("C:/ULFI/KOMSTAT/databism.xlsx")
> View(close)

2.3 Plot data

> par(mar=rep(2,4))
> ts.plot(close[,2])

> dataclose=ts(close[,2])
> dataclose
Time Series:
Start = 1 
End = 126 
Frequency = 1 
       close
  [1,]  2900
  [2,]  2880
  [3,]  2550
  [4,]  2270
  [5,]  2190
  [6,]  2190
  [7,]  2170
  [8,]  2230
  [9,]  2160
 [10,]  2060
 [11,]  1470
 [12,]  1200
 [13,]  1555
 [14,]  2060
 [15,]  2070
 [16,]  1905
 [17,]  2040
 [18,]  2150
 [19,]  2000
 [20,]  2000
 [21,]  2110
 [22,]  2070
 [23,]  2140
 [24,]  2380
 [25,]  2400
 [26,]  2350
 [27,]  2560
 [28,]  2550
 [29,]  2560
 [30,]  2510
 [31,]  2320
 [32,]  2410
 [33,]  2490
 [34,]  2470
 [35,]  2300
 [36,]  2260
 [37,]  2170
 [38,]  2000
 [39,]  2020
 [40,]  2040
 [41,]  2060
 [42,]  2040
 [43,]  2010
 [44,]  2010
 [45,]  2090
 [46,]  2230
 [47,]  2320
 [48,]  2230
 [49,]  2640
 [50,]  3390
 [51,]  5250
 [52,]  5275
 [53,]  5575
 [54,]  5900
 [55,]  5675
 [56,]  5425
 [57,]  5375
 [58,]  5500
 [59,]  6075
 [60,]  5800
 [61,]  5575
 [62,]  5600
 [63,]  6175
 [64,]  6150
 [65,]  6250
 [66,]  6900
 [67,]  6525
 [68,]  6425
 [69,]  6450
 [70,]  6200
 [71,]  6075
 [72,]  6100
 [73,]  6400
 [74,]  6350
 [75,]  6375
 [76,]  6750
 [77,]  7200
 [78,]  7050
 [79,]  6350
 [80,]  6075
 [81,]  6150
 [82,]  5925
 [83,]  5950
 [84,]  6175
 [85,]  6275
 [86,]  6350
 [87,]  6325
 [88,]  6700
 [89,]  6975
 [90,]  6850
 [91,]  6275
 [92,]  6400
 [93,]  6150
 [94,]  6900
 [95,]  6925
 [96,]  7050
 [97,]  7075
 [98,]  7000
 [99,]  6950
[100,]  8150
[101,]  7550
[102,]  6275
[103,]  5825
[104,]  5850
[105,]  6250
[106,]  5950
[107,]  5900
[108,]  5900
[109,]  5725
[110,]  5575
[111,]  5500
[112,]  5825
[113,]  5525
[114,]  5075
[115,]  5225
[116,]  5250
[117,]  5275
[118,]  5275
[119,]  5200
[120,]  6150
[121,]  7100
[122,]  7000
[123,]  6075
[124,]  6000
[125,]  5650
[126,]  5650

2.4 Stasioneritas Ragam

> BoxCox.ts(dataclose)

> #data tidak stasioner lalu ditransformasi
> pakai=dataclose^(0.508)
> pakai
Time Series:
Start = 1 
End = 126 
Frequency = 1 
          close
  [1,] 57.39819
  [2,] 57.19675
  [3,] 53.76782
  [4,] 50.68286
  [5,] 49.76748
  [6,] 49.76748
  [7,] 49.53607
  [8,] 50.22719
  [9,] 49.41997
 [10,] 48.24414
 [11,] 40.64407
 [12,] 36.66267
 [13,] 41.82145
 [14,] 48.24414
 [15,] 48.36297
 [16,] 46.36461
 [17,] 48.00562
 [18,] 49.30361
 [19,] 47.52512
 [20,] 47.52512
 [21,] 48.83548
 [22,] 48.36297
 [23,] 49.18698
 [24,] 51.91598
 [25,] 52.13715
 [26,] 51.58251
 [27,] 53.87483
 [28,] 53.76782
 [29,] 53.87483
 [30,] 53.33770
 [31,] 51.24694
 [32,] 52.24740
 [33,] 53.12137
 [34,] 52.90419
 [35,] 51.02203
 [36,] 50.56932
 [37,] 49.53607
 [38,] 47.52512
 [39,] 47.76596
 [40,] 48.00562
 [41,] 48.24414
 [42,] 48.00562
 [43,] 47.64569
 [44,] 47.64569
 [45,] 48.59978
 [46,] 50.22719
 [47,] 51.24694
 [48,] 50.22719
 [49,] 54.72362
 [50,] 62.13574
 [51,] 77.59628
 [52,] 77.78377
 [53,] 80.00044
 [54,] 82.33658
 [55,] 80.72623
 [56,] 78.89965
 [57,] 78.52940
 [58,] 79.45189
 [59,] 83.56829
 [60,] 81.62467
 [61,] 80.00044
 [62,] 80.18249
 [63,] 84.26429
 [64,] 84.09081
 [65,] 84.78266
 [66,] 89.15287
 [67,] 86.65765
 [68,] 85.98042
 [69,] 86.15021
 [70,] 84.43742
 [71,] 83.56829
 [72,] 83.74282
 [73,] 85.81030
 [74,] 85.46908
 [75,] 85.63986
 [76,] 88.16299
 [77,] 91.10137
 [78,] 90.13222
 [79,] 85.46908
 [80,] 83.56829
 [81,] 84.09081
 [82,] 82.51363
 [83,] 82.69031
 [84,] 84.26429
 [85,] 84.95477
 [86,] 85.46908
 [87,] 85.29798
 [88,] 87.83063
 [89,] 89.64384
 [90,] 88.82410
 [91,] 84.95477
 [92,] 85.81030
 [93,] 84.09081
 [94,] 89.15287
 [95,] 89.31682
 [96,] 90.13222
 [97,] 90.29445
 [98,] 89.80692
 [99,] 89.48047
[100,] 97.02152
[101,] 93.32480
[102,] 84.95477
[103,] 81.80321
[104,] 81.98137
[105,] 84.78266
[106,] 82.69031
[107,] 82.33658
[108,] 82.33658
[109,] 81.08676
[110,] 80.00044
[111,] 79.45189
[112,] 81.80321
[113,] 79.63515
[114,] 76.27136
[115,] 77.40835
[116,] 77.59628
[117,] 77.78377
[118,] 77.78377
[119,] 77.21998
[120,] 84.09081
[121,] 90.45639
[122,] 89.80692
[123,] 83.56829
[124,] 83.04258
[125,] 80.54538
[126,] 80.54538
> BoxCox(pakai)

2.5 Stasioneritas Rata-rata

> adf.test(pakai)

    Augmented Dickey-Fuller Test

data:  pakai
Dickey-Fuller = -1.5993, Lag order = 4, p-value = 0.743
alternative hypothesis: stationary
> #differencing pertama karena data tidak stasioner terhadap rata-rata
> acf(pakai2, lag=48)
Error in as.ts(x): object 'pakai2' not found
> pakai2=diff(pakai)
> pakai2
Time Series:
Start = 2 
End = 126 
Frequency = 1 
            close
  [1,] -0.2014339
  [2,] -3.4289362
  [3,] -3.0849554
  [4,] -0.9153871
  [5,]  0.0000000
  [6,] -0.2314058
  [7,]  0.6911191
  [8,] -0.8072155
  [9,] -1.1758356
 [10,] -7.6000662
 [11,] -3.9814029
 [12,]  5.1587769
 [13,]  6.4226921
 [14,]  0.1188293
 [15,] -1.9983528
 [16,]  1.6410105
 [17,]  1.2979874
 [18,] -1.7784904
 [19,]  0.0000000
 [20,]  1.3103613
 [21,] -0.4725161
 [22,]  0.8240175
 [23,]  2.7290002
 [24,]  0.2211683
 [25,] -0.5546425
 [26,]  2.2923184
 [27,] -0.1070108
 [28,]  0.1070108
 [29,] -0.5371329
 [30,] -2.0907608
 [31,]  1.0004619
 [32,]  0.8739733
 [33,] -0.2171823
 [34,] -1.8821571
 [35,] -0.4527139
 [36,] -1.0332473
 [37,] -2.0109479
 [38,]  0.2408366
 [39,]  0.2396663
 [40,]  0.2385130
 [41,] -0.2385130
 [42,] -0.3599372
 [43,]  0.0000000
 [44,]  0.9540937
 [45,]  1.6274076
 [46,]  1.0197464
 [47,] -1.0197464
 [48,]  4.4964283
 [49,]  7.4121189
 [50,] 15.4605484
 [51,]  0.1874897
 [52,]  2.2166694
 [53,]  2.3361361
 [54,] -1.6103517
 [55,] -1.8265793
 [56,] -0.3702518
 [57,]  0.9224956
 [58,]  4.1163967
 [59,] -1.9436225
 [60,] -1.6242231
 [61,]  0.1820426
 [62,]  4.0818060
 [63,] -0.1734776
 [64,]  0.6918476
 [65,]  4.3702099
 [66,] -2.4952231
 [67,] -0.6772311
 [68,]  0.1697911
 [69,] -1.7127844
 [70,] -0.8691354
 [71,]  0.1745259
 [72,]  2.0674862
 [73,] -0.3412167
 [74,]  0.1707729
 [75,]  2.5231337
 [76,]  2.9383788
 [77,] -0.9691493
 [78,] -4.6631361
 [79,] -1.9007954
 [80,]  0.5225253
 [81,] -1.5771862
 [82,]  0.1766815
 [83,]  1.5739824
 [84,]  0.6904792
 [85,]  0.5143133
 [86,] -0.1711040
 [87,]  2.5326498
 [88,]  1.8132113
 [89,] -0.8197427
 [90,] -3.8693276
 [91,]  0.8555300
 [92,] -1.7194868
 [93,]  5.0620575
 [94,]  0.1639470
 [95,]  0.8154018
 [96,]  0.1622245
 [97,] -0.4875247
 [98,] -0.3264455
 [99,]  7.5410430
[100,] -3.6967215
[101,] -8.3700252
[102,] -3.1515638
[103,]  0.1781642
[104,]  2.8012905
[105,] -2.0923524
[106,] -0.3537301
[107,]  0.0000000
[108,] -1.2498193
[109,] -1.0863168
[110,] -0.5485511
[111,]  2.3513149
[112,] -2.1680580
[113,] -3.3637857
[114,]  1.1369911
[115,]  0.1879295
[116,]  0.1874897
[117,]  0.0000000
[118,] -0.5637917
[119,]  6.8708320
[120,]  6.3655734
[121,] -0.6494674
[122,] -6.2386313
[123,] -0.5257089
[124,] -2.4972046
[125,]  0.0000000
> adf.test(pakai2)

    Augmented Dickey-Fuller Test

data:  pakai2
Dickey-Fuller = -4.9376, Lag order = 4, p-value = 0.01
alternative hypothesis: stationary

2.6 Plot ACF PACF

> par(mfrow=c(2,1))
> 
> acf(pakai2, lag=48)
> pacf(pakai2, lag=48)

2.7 Estimasi Parameter

> fit1=arima(pakai,c(2,1,1))
> fit1

Call:
arima(x = pakai, order = c(2, 1, 1))

Coefficients:
         ar1      ar2     ma1
      0.3245  -0.2056  0.0084
s.e.  0.3372   0.1259  0.3404

sigma^2 estimated as 7.392:  log likelihood = -302.48,  aic = 612.96
> coeftest(fit1)

z test of coefficients:

      Estimate Std. Error z value Pr(>|z|)
ar1  0.3245358  0.3371843  0.9625   0.3358
ar2 -0.2056103  0.1258766 -1.6334   0.1024
ma1  0.0084434  0.3404324  0.0248   0.9802
> fit2=arima(pakai,c(1,1,1))
> fit2

Call:
arima(x = pakai, order = c(1, 1, 1))

Coefficients:
          ar1     ma1
      -0.0685  0.4059
s.e.   0.1978  0.1732

sigma^2 estimated as 7.503:  log likelihood = -303.39,  aic = 612.77
> coeftest(fit2)

z test of coefficients:

     Estimate Std. Error z value Pr(>|z|)  
ar1 -0.068486   0.197829 -0.3462  0.72920  
ma1  0.405948   0.173166  2.3443  0.01906 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
> fit3=arima(pakai,c(0,1,1))
> fit3

Call:
arima(x = pakai, order = c(0, 1, 1))

Coefficients:
         ma1
      0.3509
s.e.  0.0829

sigma^2 estimated as 7.51:  log likelihood = -303.45,  aic = 610.89
> coeftest(fit3)

z test of coefficients:

    Estimate Std. Error z value  Pr(>|z|)    
ma1  0.35090    0.08292  4.2318 2.318e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
> fit4=arima(pakai,c(2,1,0))
> fit4

Call:
arima(x = pakai, order = c(2, 1, 0))

Coefficients:
         ar1      ar2
      0.3326  -0.2078
s.e.  0.0872   0.0875

sigma^2 estimated as 7.392:  log likelihood = -302.48,  aic = 610.96
> coeftest(fit4)

z test of coefficients:

     Estimate Std. Error z value  Pr(>|z|)    
ar1  0.332611   0.087221  3.8134 0.0001371 ***
ar2 -0.207835   0.087519 -2.3747 0.0175611 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
> fit5=arima(pakai,c(1,1,0))
> fit5

Call:
arima(x = pakai, order = c(1, 1, 0))

Coefficients:
         ar1
      0.2747
s.e.  0.0855

sigma^2 estimated as 7.731:  log likelihood = -305.23,  aic = 614.47
> coeftest(fit5)

z test of coefficients:

    Estimate Std. Error z value Pr(>|z|)   
ar1 0.274739   0.085527  3.2123 0.001317 **
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
> 
> fit6=arima(pakai,c(26,1,0),fixed=c(rep(0,25),NA), include.mean=T,method='ML')
> fit6

Call:
arima(x = pakai, order = c(26, 1, 0), include.mean = T, fixed = c(rep(0, 25), 
    NA), method = "ML")

Coefficients:
      ar1  ar2  ar3  ar4  ar5  ar6  ar7  ar8  ar9  ar10  ar11  ar12  ar13  ar14
        0    0    0    0    0    0    0    0    0     0     0     0     0     0
s.e.    0    0    0    0    0    0    0    0    0     0     0     0     0     0
      ar15  ar16  ar17  ar18  ar19  ar20  ar21  ar22  ar23  ar24  ar25    ar26
         0     0     0     0     0     0     0     0     0     0     0  0.1395
s.e.     0     0     0     0     0     0     0     0     0     0     0  0.1006

sigma^2 estimated as 8.214:  log likelihood = -309.24,  aic = 622.47
> fitt6=arma(pakai2, lag=list(ar=26,ma=NULL), include.intercept=FALSE)
> fitt6

Call:
arma(x = pakai2, lag = list(ar = 26, ma = NULL), include.intercept = FALSE)

Coefficient(s):
  ar26  
0.1438  
> coeftest(fit6)

z test of coefficients:

     Estimate Std. Error z value Pr(>|z|)
ar26  0.13951    0.10058  1.3871   0.1654
> 
> fit7=arima(pakai,c(26,1,1),fixed=c(rep(0,25),NA,NA), include.mean=T,method='ML')
> fit7

Call:
arima(x = pakai, order = c(26, 1, 1), include.mean = T, fixed = c(rep(0, 25), 
    NA, NA), method = "ML")

Coefficients:
      ar1  ar2  ar3  ar4  ar5  ar6  ar7  ar8  ar9  ar10  ar11  ar12  ar13  ar14
        0    0    0    0    0    0    0    0    0     0     0     0     0     0
s.e.    0    0    0    0    0    0    0    0    0     0     0     0     0     0
      ar15  ar16  ar17  ar18  ar19  ar20  ar21  ar22  ar23  ar24  ar25    ar26
         0     0     0     0     0     0     0     0     0     0     0  0.1371
s.e.     0     0     0     0     0     0     0     0     0     0     0  0.0990
         ma1
      0.3523
s.e.  0.0833

sigma^2 estimated as 7.368:  log likelihood = -302.51,  aic = 611.01
> coeftest(fit7)

z test of coefficients:

     Estimate Std. Error z value  Pr(>|z|)    
ar26 0.137072   0.099025  1.3842    0.1663    
ma1  0.352257   0.083332  4.2272 2.366e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

2.8 Uji Sisaan

> myresid=fit3$residuals
> qqnorm(myresid)

> library(aTSA)
> arch.test(fit3)
ARCH heteroscedasticity test for residuals 
alternative: heteroscedastic 

Portmanteau-Q test: 
     order   PQ p.value
[1,]     4 10.2  0.0368
[2,]     8 11.5  0.1765
[3,]    12 12.7  0.3936
[4,]    16 13.2  0.6617
[5,]    20 14.1  0.8231
[6,]    24 15.0  0.9212
Lagrange-Multiplier test: 
     order     LM  p.value
[1,]     4 103.07 0.00e+00
[2,]     8  45.08 1.32e-07
[3,]    12  27.12 4.41e-03
[4,]    16  18.95 2.16e-01
[5,]    20  13.12 8.32e-01
[6,]    24   9.45 9.94e-01

> library(rugarch)
> Archtest(fit3)
Error in Archtest(fit3): could not find function "Archtest"
> bptest((fit3))
Error in terms.default(formula): no terms component nor attribute
> library(lmtest)
> bptest()
Error in inherits(formula, "formula"): argument "formula" is missing, with no default
> bptest(fit3, studentize=T, data=close)
Error in terms.default(formula): no terms component nor attribute
> 
> library(fGarch)
> library(rugarch)
> library(regarch)
Error in library(regarch): there is no package called 'regarch'
> library(FinTS)
> ArchTest(myresid)

    ARCH LM-test; Null hypothesis: no ARCH effects

data:  myresid
Chi-squared = 10.63, df = 12, p-value = 0.5609
> ArchTest(dataclose)

    ARCH LM-test; Null hypothesis: no ARCH effects

data:  dataclose
Chi-squared = 107.35, df = 12, p-value < 2.2e-16
> ArchTest(pakai2)

    ARCH LM-test; Null hypothesis: no ARCH effects

data:  pakai2
Chi-squared = 5.6032, df = 12, p-value = 0.9348
> ArchTest(myresid, lags=12, demean=F)

    ARCH LM-test; Null hypothesis: no ARCH effects

data:  myresid
Chi-squared = 10.63, df = 12, p-value = 0.5609
> 
> library(FitAR)
> boxresult<-LjungBoxTest(myresid)
> plot(boxresult[,3],main="Ljung-Box_Test",xlab="Lag",ylab="p-value")

2.9 Uji Sisaan

> #PERIKSA WHITE NOISE SEMUA MODEL
> myresid1=fit1$residuals
> Box.test(myresid1,type="Ljung-Box")

    Box-Ljung test

data:  myresid1
X-squared = 0.00019902, df = 1, p-value = 0.9887
> Box.test(resid(fit1), type="Ljung", lag=20,fitdf=0)

    Box-Ljung test

data:  resid(fit1)
X-squared = 12.043, df = 20, p-value = 0.9146
> myresid2=fit2$residuals
> Box.test(myresid2,type="Ljung-Box")

    Box-Ljung test

data:  myresid2
X-squared = 0.0021198, df = 1, p-value = 0.9633
> Box.test(resid(fit2), type="Ljung", lag=20,fitdf=0)

    Box-Ljung test

data:  resid(fit2)
X-squared = 13.609, df = 20, p-value = 0.8498
> myresid3=fit3$residuals
> Box.test(myresid3,type="Ljung-Box")

    Box-Ljung test

data:  myresid3
X-squared = 0.025754, df = 1, p-value = 0.8725
> Box.test(resid(fit3), type="Ljung", lag=20,fitdf=0)

    Box-Ljung test

data:  resid(fit3)
X-squared = 14.003, df = 20, p-value = 0.8303
> myresid4=fit4$residuals
> Box.test(myresid4,type="Ljung-Box")

    Box-Ljung test

data:  myresid4
X-squared = 7.9965e-05, df = 1, p-value = 0.9929
> Box.test(resid(fit4), type="Ljung", lag=20,fitdf=0)

    Box-Ljung test

data:  resid(fit4)
X-squared = 12.051, df = 20, p-value = 0.9143
> myresid5=fit5$residuals
> Box.test(myresid5,type="Ljung-Box")

    Box-Ljung test

data:  myresid5
X-squared = 0.42002, df = 1, p-value = 0.5169
> Box.test(resid(fit5), type="Ljung", lag=20,fitdf=0)

    Box-Ljung test

data:  resid(fit5)
X-squared = 18.067, df = 20, p-value = 0.583
> myresid6=fit6$residuals
> Box.test(myresid6,type="Ljung-Box")

    Box-Ljung test

data:  myresid6
X-squared = 9.7046, df = 1, p-value = 0.001838
> Box.test(resid(fit6), type="Ljung", lag=20,fitdf=0)

    Box-Ljung test

data:  resid(fit6)
X-squared = 22.679, df = 20, p-value = 0.3048
> myresid7=fit7$residuals
> Box.test(myresid7,type="Ljung-Box")

    Box-Ljung test

data:  myresid7
X-squared = 0.028892, df = 1, p-value = 0.865
> Box.test(resid(fit7), type="Ljung", lag=20,fitdf=0)

    Box-Ljung test

data:  resid(fit7)
X-squared = 14.386, df = 20, p-value = 0.8104

2.10 Peramalan

> Box.test(myresid,type="Ljung-Box")

    Box-Ljung test

data:  myresid
X-squared = 0.025754, df = 1, p-value = 0.8725
> Box.test(resid(fit3), type="Ljung", lag=20,fitdf=0)

    Box-Ljung test

data:  resid(fit3)
X-squared = 14.003, df = 20, p-value = 0.8303
> pred=predict(fit3,n.ahead=8, plot=T, nx=144)
> ts.plot(pakai,pred$pred)

> pred$pred
Time Series:
Start = 127 
End = 134 
Frequency = 1 
[1] 80.91401 80.91401 80.91401 80.91401 80.91401 80.91401 80.91401 80.91401
> pred
$pred
Time Series:
Start = 127 
End = 134 
Frequency = 1 
[1] 80.91401 80.91401 80.91401 80.91401 80.91401 80.91401 80.91401 80.91401

$se
Time Series:
Start = 127 
End = 134 
Frequency = 1 
[1]  2.740418  4.605965  5.909310  6.973161  7.894935  8.719806  9.473123
[8] 10.170795
> 
> nilaipred=(pred$pred)^(1/0.508)
> nilaipred
Time Series:
Start = 127 
End = 134 
Frequency = 1 
[1] 5701.015 5701.015 5701.015 5701.015 5701.015 5701.015 5701.015 5701.015
> 
> hasil=forecast(fit3)
Forecast for univariate time series: 
    Lead Forecast  S.E Lower Upper
127    1     80.9 2.74  75.5  86.3
------ 
Note: confidence level = 95 % 

> hasil
    Lead Forecast      S.E    Lower    Upper
127    1 80.91401 2.740418 75.54289 86.28513

3 HASIL DAN PEMBAHASAN

3.1 Statistika Deskriptif

Berdasarkan Data yang digunakan, diperoleh plot data seperti di atas. Pada periode awal tahun 2020 hingga pertengahan tahun 2021, harga penutupan saham perusahaan Indosat (ISAT) mengalami penurunan dan kenaikan. Pada awal pandemi tahun 2020, dapat dilihat bahwa terjadi penurunan harga saham yang drastis sehingga di sekitar bulan maret 2020 harga penutupan saham merupakan harga yang terendah. Hal ini terjadi karena pada awal pandemi COVID-19 perusahaan Indosat mengalami kerugian cukup besar. Tetapi, selama tahun 2020 perusahaan Indosat terus meningkatkan kinerja jaringan untuk mengantisipasi gaya hidup secara daring serta kegiatan bekerja dan belajar dari rumah karena pandemi yang menyebabkan mulai terjadi kenaikan harga penutupan saham pada awal tahun 2021. Hal ini dikarenakan Indosat melanjutkan peningkatan perluasan jaringan perusahaan dan mampu memberikan layanan internet yang semakin baik kepada pelanggan PT. Indosat. Kenaikan tersebut membuktikan bahwa PT. Indosat dapat kembali menstabilkan dan meningkatkan harga sahamnya sehingga nilai laba per saham ISAT kembali membaik selama masa pandemi.

3.2 Analisis ARIMA

Stasioneritas Ragam

Pada grafik boxcox di atas dapat dilihat bahwa nilai rounded valuenya sebesar 0.508, sehingga dapat disimpulkan bahwa data belum stasioner karena nilai rounded value masih jauh dari 1. Sehingga perlu dilakukan transformasi boxcox kembali yaitu data dipangkatkan dengan 0.508.

Pada hasil transformasi boxcox yang kedua ini, nilai rounded value yang didapatkan sebesar 1, maka data hasil transformasi pemangkatan 0.508 sudah stasioner terhadap ragam.

Stasionereitas Rata-rata

Berdasarkan hasil uji ADF pada taraf level, didapatkan nilai-p (0.743) lebih besar dari alpha (0.05), yang berarti terima H0. Sehingga dapat disimpulkan, data tidak stasioner terhadap rata-rata. Maka dilakukan uji ADF kembali pada taraf 1st difference.

Berdasarkan hasil uji ADF pada taraf 1st difference, didapatkan nilai-p (0.01) lebih kecil dari alpha (0.05), yang berarti tolak H0. Sehingga dapat disimpulkan, data pada 1st difference telah stasioner terhadap rata-rata.

Model Tentatif

Berdasarkan plot ACF PACF setelah transformasi dan differencing,estimasi parameter untuk model AR(p) dan MA(q) yang dihasilkan adalah p = 2 dan 26 serta q = 1. Model dugaan sementara yang diperoleh yaitu ARIMA (2,1,1), ARIMA (1,1,1), ARIMA (0,1,1), ARIMA (2,1,0), ARIMA (1,1,0), ([26],1,1), dan ARIMA ([26,1,0).

Estimasi Parameter

Verifikasi Model

Berdasarkan tabel di atas dapat diketahui bahwa model terbaik ialah ARIMA (0,1,1) dan model ARIMA yang didapatkan adalah \(Y_t = Y_{t-1} + e_t + 0.35090e_{t-1}\)

Peramalan

Berdasarkan hasil prediksi di atas, terlihat selama dua bulan mendatang harga penutupan mengalami kenaikan. Hal ini menunjukkan kenaikan harga penutupan tersebut juga akan memberi pengaruh kenaikan pada harga pembuka di periode selanjutnya. Dengan demikian, saran bagi pelaku pasar atau investor cenderung untuk menjual saham agar mendapat return yang maksimal.

4 DAFTAR PUSTAKA

Tulak, D. Y., Junaidi, & Utami, I. T. (2017). Penerapan Autoregressive Distributed Lag dalam Memodelkan Pengaruh Indeks Harga Konsumen Kelompok Bahan Makanan dan Kelompok Makanan Jadi terhadap Inflasi di Kota Palu.Natural Science : Journal of Science and Technology, 6(3), 313-320.

Wei, W. W. (2006). Time Series Analysis Univariate and Multivariate Methods. United States of America: Pearson Educarion, Inc.

Wibowo, E. S., & Syaichu, M. (2013). ANALISIS PENGARUH SUKU BUNGA, INFLASI, CAR, BOPO, NPF, TERHADAP PROFITABILITAS BANK SYARIAH. DIPONEGORO JOURNAL OF MANAGEMENT, 2(2), 2.