Tugas Minggu 5

Pada Kesempatan kali ini, kami dari Kelompok 1 mendapatkan tema Ekonomi. Sehubungan dengan hal tersebut, kami memutuskan untuk mengambil dataset Saham BBCA sebagai acuan data deret waktu kami. Harga Saham yang kami ambil adalah harga penutupan saham Mingguan dari Tahun (2004- 2024). Harga Mingguan Saham sejatinya adalah harga terakhir penutupan sebuah saham pada rentan waktu dimana saham itu dijual di bursa dalam suatu minggu, yang adalah Hari Jumat Pukul 3 Sore.

Saya Mendapat Bagian rentetatan Saham dari Tahun 2012- 2016.

Import Data

library(readxl)
## Warning: package 'readxl' was built under R version 4.3.2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.2
library(tsibble)
## Warning: package 'tsibble' was built under R version 4.3.3
## Registered S3 method overwritten by 'tsibble':
##   method               from 
##   as_tibble.grouped_df dplyr
## 
## Attaching package: 'tsibble'
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, union
library(tseries)
## Warning: package 'tseries' was built under R version 4.3.3
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(MASS)
data<-read_excel("C:/Users/Admin/Downloads/Adriano Excel Putra/data mpdw.xlsx")
head(data)
## # A tibble: 6 × 2
##   Waktu               `Harga Penutupan`
##   <dttm>                          <dbl>
## 1 2012-07-09 00:00:00              1490
## 2 2012-07-16 00:00:00              1570
## 3 2012-07-23 00:00:00              1600
## 4 2012-07-30 00:00:00              1540
## 5 2012-08-06 00:00:00              1590
## 6 2012-08-13 00:00:00              1610

Mengubah Jenis Data

Data.ts<- ts(data$`Harga Penutupan`)
## Membuat Plot Untuk Melihat Pola Saham

ts.plot(Data.ts, xlab="Waktu", ylab="Harga Penutupan", main="Time Series Plot")
points(Data.ts)

Dapat Dilihat Secara Eksplorasi Lewat Plot Time Series, Data ini memiliki Pola Tren. Tren pada data ini dapat dikatakan Tren yang positif karena terlihat adanya kenaikan berdasarkan waktu. Secara Visualisasi Kita dapat mengatakan Mungkin data ini Tidak stasioner dalam Rataan maupun dalam Ragam. Tidak stasioner dalam rataan karena adanya pola tren yang terbuat, tidak dalam ragam karena terdapat beberapa pola “Pita” yang berbeda di setiap urutan datanya.

Splitting Data

Pada Tahap ini akan dilihat data dari 1: 112 dan 113 : 212. Tujuannya adalah membandingkan berbagai pola pemotongan data dan dilihat apakah pola yang didapat menunjukkan pola yang stasioner atau tidak.

Split Data 1

datasplit1 <- Data.ts[1:112] |> ts()

Eksplorasi Mean dan Variance

mean(datasplit1)
## [1] 1991.25
var(datasplit1)
## [1] 51825.45

Eksplorasi Plot TIme Series

datasplit1 |> as_tsibble() |> 
  ggplot(aes(x = index, y = value)) +
  geom_line() + theme_bw() +
  xlab("Obs") + ylab("Nilai")

Dilihat Dari Splitting Pertama, Untuk periode 112 Data pertama, Polanya cenderung membentuk trend yang positif dalam perubahan waktunya. Disini dapat dikatakan secara eksploratif bahwa Data tersebut tidak Stasioner dalam rataan karena menunjukkan pola trend. Untuk dikatakan stasioner dalam Ragam, data ini juga belum bisa, karena dapat dilihat terjadi banyak fluktuatif data yang membuat data ini tidak stasioner dalam ragam. Namun akan dilanjutkan dengan Plot ACF

Plot ACF

acf(datasplit1)

Berdasarkan plot ACF, terlihat bahwa plot ACF pada data tersebut menurun secara perlahan (tails off slowly) yang menandakan data tidak stasioner dalam rataan. Kemudian dilanjutkan untuk melakukan Uji ADF( Dicky-Fueller) sebagai tahapan uji formalnya

Uji ADF

adf.test(datasplit1)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  datasplit1
## Dickey-Fuller = -2.2914, Lag order = 4, p-value = 0.4557
## alternative hypothesis: stationary

\(H_0\) : Data tidak stasioner dalam rataan

\(H_1\) : Data stasioner dalam rataan

Berdasarkan uji ADF tersebut, didapat p-value sebesar 0.4557 yang lebih besar dari taraf nyata 5% dan menandakan bahwa data tidak stasioner dalam rataan. Hal ini sesuai dengan hasil eksplorasi menggunakan plot time series dan plot ACF.

Uji Variance Plot Lambda Box-Cox

index <- seq(1:112)
bc = boxcox(datasplit1~index, lambda = seq(0,6,by=1))

#Nilai Rounded Lambda
lambda <- bc$x[which.max(bc$y)]
lambda
## [1] 2.545455
bc$x[bc$y > max(bc$y) - 1/2 * qchisq(.95,1)]
##  [1] 1.151515 1.212121 1.272727 1.333333 1.393939 1.454545 1.515152 1.575758
##  [9] 1.636364 1.696970 1.757576 1.818182 1.878788 1.939394 2.000000 2.060606
## [17] 2.121212 2.181818 2.242424 2.303030 2.363636 2.424242 2.484848 2.545455
## [25] 2.606061 2.666667 2.727273 2.787879 2.848485 2.909091 2.969697 3.030303
## [33] 3.090909 3.151515 3.212121 3.272727 3.333333 3.393939 3.454545 3.515152
## [41] 3.575758 3.636364 3.696970 3.757576 3.818182 3.878788 3.939394 4.000000
## [49] 4.060606

Dilihat Dari Kumpulan Lambda Optimalnya, berkisar antara 1.15 sampai ke lambda 4 . Dengan Lambda optimum di angka 2.54. Disini dapat dikatakan Data tidak stasioner dalam ragam , karena tidak mengandung lambda 1. Lambda 1 sendiri artinya data tidak perlu ditransformasi ( memangkatkan data dengan 1) sehingga dapat dikatakan data itu sendiri sudah masuk kedalam wilayah Lambda-Lambda Boxcox.

Ketidakhadiran lambda 1 itu sendiri dalam rentang lambd-lamda boxcox pada taraf kepercayaan 95 % menyimpulkan bahwa data tersebut tidak stasioner dalam ragam. Hal ini sesuai dengan Dugaan awal di plot time-series yang kita lakukan

Split Data 2

datasplit2 <- Data.ts[113:211] |> ts()

Eksplorasi Mean Dan Variance

mean(datasplit2)
## [1] 2655.657
var(datasplit2)
## [1] 16871.76

Eksplorasi Plot Time Series

datasplit2 |> as_tsibble() |> 
  ggplot(aes(x = index, y = value)) +
  geom_line() + theme_bw() +
  xlab("Obs") + ylab("Nilai")

Dilihat Dari Splitting Pertama, Untuk periode Lanjutan, Polanya cenderung membentuk Siklikal dibanding dengan Trend pada data sebelumnya, dimana terdapat beberapa fluktuasi terutama di sekitar observasi ke 25- 50 dalam perubahan waktunya. Disini dapat dikatakan secara eksploratif bahwa Data tersebut tidak Stasioner dalam rataan karena menunjukkan pola siklik , Namun sepertinya data ini bisa dikatakan stasioner dalam ragam karena fluktuasinya berada pada ribbon/ pita yang cukup sama dan seimbang ( Fluktuatif Tajam yang naik dan yang turunnya sekilas cukup sama). Namun untuk memperkuat dugaan ini perlu dilakukan pengujian formalnya.

Plot ACF

acf(datasplit2)

Berdasarkan plot ACF, terlihat bahwa plot ACF pada data tersebut menurun secara perlahan (tails off slowly) yang menandakan data tidak stasioner dalam rataan. Kemudian dilanjutkan untuk melakukan Uji ADF( Dicky-Fueller) sebagai tahapan uji formalnya

Uji ADF

adf.test(datasplit2)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  datasplit2
## Dickey-Fuller = -2.4216, Lag order = 4, p-value = 0.402
## alternative hypothesis: stationary

\(H_0\) : Data tidak stasioner dalam rataan

\(H_1\) : Data stasioner dalam rataan

Berdasarkan uji ADF tersebut, didapat p-value sebesar 0.402 yang lebih besar dari taraf nyata 5% dan menandakan bahwa data tidak stasioner dalam rataan. Hal ini sesuai dengan hasil eksplorasi menggunakan plot time series dan plot ACF.

Uji Variance Plot Lambda Box-Cox

index <- seq(113:211)
bc2 = boxcox(datasplit2~index, lambda = seq(0,6,by=0.2))

#Nilai Rounded Lambda
lambda <- bc2$x[which.max(bc2$y)]
lambda
## [1] 0
bc2$x[bc2$y > max(bc2$y) - 1/2 * qchisq(.95,1)]
##  [1] 0.00000000 0.06060606 0.12121212 0.18181818 0.24242424 0.30303030
##  [7] 0.36363636 0.42424242 0.48484848 0.54545455 0.60606061 0.66666667
## [13] 0.72727273 0.78787879 0.84848485 0.90909091 0.96969697 1.03030303
## [19] 1.09090909 1.15151515 1.21212121 1.27272727 1.33333333 1.39393939
## [25] 1.45454545 1.51515152 1.57575758 1.63636364 1.69696970 1.75757576
## [31] 1.81818182 1.87878788 1.93939394 2.00000000 2.06060606 2.12121212
## [37] 2.18181818 2.24242424 2.30303030 2.36363636 2.42424242

Dilihat Dari Kumpulan Lambda Optimalnya, berkisar antara 0 sampai ke lambda 2.4242 . Dengan Lambda optimum di angka 0. Disini dapat dikatakan Data stasioner dalam ragam ,mengandung lambda 1. Lambda 1 sendiri artinya data tidak perlu ditransformasi ( memangkatkan data dengan 1) sehingga dapat dikatakan data itu sendiri sudah masuk kedalam wilayah Lambda-Lambda Boxcox.

Kehadiran lambda 1 itu sendiri dalam rentang lambd-lamda boxcox pada taraf kepercayaan 95 % menyimpulkan bahwa data tersebut stasioner dalam ragam. Hal ini sesuai dengan Dugaan awal di plot time-series yang kita lakukan

Data Keseluruhan

Disini akan dicoba lihat pola secara keseluruhannya:

Data.ts<- ts(data$`Harga Penutupan`)

Plot Time Series

ts.plot(Data.ts, xlab="Waktu", ylab="Harga Penutupan", main="Time Series Plot")
points(Data.ts)

Dapat Dilihat Secara Eksplorasi Lewat Plot Time Series, Data ini memiliki Pola Tren. Tren pada data ini dapat dikatakan Tren yang positif karena terlihat adanya kenaikan berdasarkan waktu. Secara Visualisasi Kita dapat mengatakan Mungkin data ini Tidak stasioner dalam Rataan Tapi mungkin dalam Ragam. Tidak stasioner dalam rataan karena adanya pola tren yang terbuat, Stasioner dalam ragam karena terdapat beberapa pola “Pita” yang cenderung cukup sama di beberapa periode waktu.

Plot ACF

acf(Data.ts)

Dapat dilihat Dari Plot ACFnya bahkan sampai di LAG ke 20 saja masih Tails off slowly. Hal ini menunjukkan bahwa Data keseluruhan Penutupan Saham BBCA Periode 2012-2016 TIdak Stasioner dalam Rataan

Uji ADF

adf.test(Data.ts)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  Data.ts
## Dickey-Fuller = -2.3637, Lag order = 5, p-value = 0.4236
## alternative hypothesis: stationary

\(H_0\) : Data tidak stasioner dalam rataan

\(H_1\) : Data stasioner dalam rataan

Berdasarkan uji ADF tersebut, didapat p-value sebesar 0.4236 yang lebih besar dari taraf nyata 5% dan menandakan bahwa data tidak stasioner dalam rataan. Hal ini sesuai dengan hasil eksplorasi menggunakan plot time series dan plot ACF.

Uji Variance Plot Lambda Box-Cox

index <- seq(1:211)
bcfull = boxcox(Data.ts~index, lambda = seq(0,6,by=1))

#Nilai Rounded Lambda
lambda <- bcfull$x[which.max(bcfull$y)]
lambda
## [1] 1.151515
bcfull$x[bcfull$y > max(bcfull$y) - 1/2 * qchisq(.95,1)]
##  [1] 0.6060606 0.6666667 0.7272727 0.7878788 0.8484848 0.9090909 0.9696970
##  [8] 1.0303030 1.0909091 1.1515152 1.2121212 1.2727273 1.3333333 1.3939394
## [15] 1.4545455 1.5151515 1.5757576 1.6363636 1.6969697

Dilihat Dari Kumpulan Lambda Optimalnya, berkisar antara 0 sampai ke lambda 1.696967 . Dengan Lambda optimum di angka 0. Disini dapat dikatakan Data stasioner dalam ragam ,mengandung lambda 1. Lambda 1 sendiri artinya data tidak perlu ditransformasi ( memangkatkan data dengan 1) sehingga dapat dikatakan data itu sendiri sudah masuk kedalam wilayah Lambda-Lambda Boxcox. Jadi Dapat dikatakan Stasioner dalam Ragam.

Kesimpulan

Dari Data Saham BBCA Tahun 2012-2016. Set Partisi Data Pertama , yaitu Periode 2012- Pertengahan tahun 2014, Didapatkan Pola data yang tidak stasioner dalam rataan maupun ragam. Namun pola yang berbeda terjadi pada Data lanjutan 2014- 2016. Pola yang ditunjukkan masih tidak stasioner dalam rataan karena adanya trend kenaikan harga saham, namun dapat dikatakan stasioner dalam ragam.

Ketika Data digabungkan secara utuh, maka didapat kesimpulan Polanya tidak stasioner dalam rataan namun stasioner dalam Ragam.