Skip to content

Mehmed13/PrediksiHargaSahamANTM

Repository files navigation

Laporan Proyek Machine Learning Prediksi Harga Saham ANTM - Muhammad Fadhil Amri

Domain Proyek

Saham adalah bukti kepemilikan atas suatu perusahaan [1]. Saham menjadi salah satu instrumen investasi yang populer karena return yang ditawarkan tinggi, tentunya dengan risiko yang tinggi pula. Risiko yang tinggi ini muncul karena tidak ada yang tahu pasti bagaimana harga sebuah saham di masa depan. Secara umum, harga saham ditentukan oleh respons pasar terhadap kinerja dan prospek suatu perusahaan. Perusahaan dengan kinerja dan prospek yang bagus cenderung akan mengalami kenaikan harga saham, ataupun sebaliknya.

Analisis harga saham dapat dikelompokkan menjadi dua teknik, yaitu analisis fundamental dan analisis teknikal. Analisis fundamental adalah analisis yang berfokus pada kinerja perusahaan. Analisis ini biasanya dilakukan dengan menggunakan data dari laporan keuangan perusahaan. Analisis ini bagus digunakan untuk investasi jangka panjang karena kinerja perusahaan dapat membentuk sebuah tren yang kokoh. Meskipun begitu, analisis fundamental tidak mampu memprediksi harga saham dalam jangka pendek karena adanya volatilitas harga yang disebabkan oleh sentimen pasar. Untuk itu, dibutuhkan analisis yang kedua, yaitu analisis teknikal. Analisis ini murni bergantung pada pola-pola yang dibentuk harga saham berdasarkan data historis yang ada [2]. Akibatnya, analisis teknikal mampu memprediksi harga saham dalam jangka pendek dengan lebih baik karena responsivitasnya terhadap perubahan harga.

Saham di sektor pertambangan adalah salah satu saham yang sulit untuk diprediksi pergerakan harganya. Hal ini disebabkan oleh faktor penggerak harga saham yang tidak hanya murni dari kinerja perusahaan, tetapi juga harga material tambang perusahaan tersebut [3]. Material tambang ini juga memiliki volatilitas yang tinggi dan dipengaruhi oleh banyak faktor lain juga. Misalnya, harga emas sangat dipengaruhi oleh kestabilan ekonomi dunia, sedangkan harga nikel belakangan ini sangat didorong oleh pengembangan kendaraan listrik. Faktor-faktor tersebut juga yang membuat saham di sektor pertambangan memiliki tingkat volatilitas yang tinggi, misalnya saham ANTM.

ANTM adalah kode saham dari perusahaan Badan Usaha Milik Negara (BUMN), PT Aneka Tambang Tbk yang selanjutnya akan disebut sebagai Antam. Perusahaan ini adalah perusahaan yang bergerak di sektor pertambangan dengan fokus utama pada penambangan emas dan nikel. Penjualan emas berkontribusi atas 62% total penjualan Antam, sedangkan penjualan nikel berkontribusi atas 33% total penjualan Antam. Akibatnya, harga saham ANTM bergerak mengikuti perubahan harga material dunia, terutama harga emas dan nikel. Sebagai contoh, harga saham ANTM melambung hingga lebih dari 100% sebagai akibat dari pandemi Covid-19 pada tahun 2020 lalu. Pada saat itu, terjadi ketidakstabilan ekonomi dan inflasi yang tinggi. Hal ini membuat masyarakat berbondong-bondong membeli emas yang dikenal safe haven untuk mengamankan aset mereka.

Prediksi harga saham dibutuhkan untuk memberikan sebuah baseline bagi investor. Dengan demikian, mereka bisa menentukan waktu terbaik untuk menjual dan membeli saham sehingga keuntungan yang diperoleh menjadi maksimal. Prediksi harga saham ini bisa dilakukan dengan menggunakan teknik time series forecasting menggunakan pola yang dibentuk dari harga saham di masa lampau.

Business Understanding

Prediksi saham yang akurat dapat membuat investor mampu bergerak selangkah lebih maju. Hal ini tentunya dapat meningkatkan keuntungan dari investor dengan kemampuan untuk membeli saham pada harga rendah, dan menjualnya pada harga yang lebih tinggi. Selain memaksimalkan keuntungan, prediksi saham yang akurat juga mampu menghindarkan investor dair kerugian yang besar dengan kemampuan untuk menjual saham sebelumnya harganya menjadi turun lebih dalam. Dengan demikian, sistem prediksi saham diharapkan dapat membantu investor dalam membuat keputusan bisnis yang tepat sebelum harga saham yang diprediksi menjadi kenyataan.

Berdasarkan uraian latar belakang dari permasalahan pada domain dan latar belakang bisnis tersebut, dapat dijabarkan problem statements dan goals proyek ini sebagai berikut.

Problem Statements

  • Apakah terdapat suatu pola dari pergerakan harga saham ANTM?
  • Bagaimana perkiraan pergerakan harga saham ANTM di masa depan?
  • Kapan waktu dan harga yang tepat untuk membeli dan menjual saham ANTM?

Goals

  • Mengidentifikasi pola pergerakan harga saham ANTM
  • Membuat model machine learning yang dapat memprediksi harga saham ANTM di masa depan menggunakan data harga pada masa lalu
  • Mengetahui waktu dan harga yang tepat untuk membeli dan menjual saham ANTM di masa depan

Solution statements

  • Model FBProphet. Performa diukur melalui perhitungan nilai mean squared error. Model dikatakan baik apabila error yang ada maksimal 10% dari range data.
  • Model Long-Short Term Memory (LSTM) [4]. Performa diukur melalui perhitungan nilai mean squared error. Model dikatakan baik apabila error yang ada maksimal 10% dari range data.

Data Understanding

Dataset yang digunakan dalam proyek ini adalah data harga saham ANTM dengan periode harian selama lima tahun (Februari 2019 - Februari 2024). Dataset yang digunakan terdiri atas 1.230 baris dan 6 kolom. Dataset ini diunduh dari website Yahoo Finance melalui tautan Dataset Harga Saham ANTM.

Variabel-variabel pada Dataset Harga Saham ANTM

  • Date : Tanggal dari harga saham yang tercatat.
  • Open : Harga pembukaan saham.
  • High : Harga tertinggi saham dalam satu hari.
  • Low : Harga terendah saham dalam satu hari.
  • Close : Harga penutupan saham.
  • Adj Close: Harga penutupan saham dengan mempertimbangkan aksi korporasi seperti split dan dividen.

Fitur yang digunakan mulai dari EDA hingga tahap Forecasting hanya 'Date' dan 'Close' karena sudah mewakili harga saham yang akan diprediksi.

Exploratory Data Analysis (EDA)

  • Statitika deskriptif

    Menampilkan data-data deskriptif seperti tipe data dari variabel, mean, min, max, kuartil, dan standard deviasi

  • Missing Value Identification

    Ditemukan satu baris yang memiliki nilai kosong pada fitur 'Close'

  • Time Series Plot

    Gambar Harga Saham ANTM

    Gambar 1. Harga Saham ANTM 2019 - 2024

    Pada gambar 1, Harga Saham ANTM bergerak seasonal dalam tren turun secara landai sebelum tahun 2020. Setelah itu, saham ANTM mengalami kenaikan drastis selama tahun 2020 yang disebabkan oleh krisis ekonomi selama pandemi COVID-19. Memasuki tahun 2021 hingga sekarang, harga saham ANTM bergerak secara seasonal dengan tren turun dalam jangka panjang.

  • Distribusi Nilai

    Gambar Distribusi Nilai Fitur Close

    Gambar 2. Distribusi Nilai Fitur Close

    Pada gambar 2, nilai pada fitur Close tidak terdistribusi normal.

  • Outliers Identification

    Gambar Boxplot Fitur Close

    Gambar 3. Boxplot Fitur Close

    Pada gambar 3, identifikasi dilakukan menggunakan teknik IQR dengan visualisasi dari boxplot. Hasil identifikasi tersebut adalah tidak ditemukan adanya outlier pada data

  • Seasonal Decomposition

    Gambar Seasonal Decomposition Fitur clode

    Gambar 4. Seasonal Decomposition Fitur Close

    Pada gambar 4, grafik time series dipecah menjadi komponen-komponen tren, seasonal, dan residu. Komponen tren menunjukkan tren yang muncul, Seasonal menunjukkan ada atau tidaknya pola seasonal, dan residu menunjukkan berapa pergeseran dari nilai yang seharusnya. Dari visualisasi tersebut dapat dilihat bahwa secara jangka panjang terdapat tren naik, sedangkan secara jangkap pendek-menengah terdapat tren turun. Grafik harga juga memiliki pola seasonal bersamaan dengan tren.

Data Preparation

  • Data Formatting
    Data yang sudah diambil dari sumber tersedia diformat agar berada dalam frekuensi harian. Data bursa yang hanya buka pada trading day membuat perlu dilakukannya pengisian nilai pada hari-hari libur. Pengisian nilai dilakukan dengan metode backward-fill karena data harga pada hari libur sama dengan harga pada hari sebelum libur.
    Data Formatting ini dilakukan dengan tujuan membuat proses pembelajaran menjadi lebih smooth , terutama untuk model Prophet sehingga akurasi model dapat meningkat dengan signifikan.

  • Data Splitting
    Data dibagi menjadi data train dan data validation dengan perbandingan 80:20. Proses ini perlu dilakukan untuk memvalidasi dan menguji seberapa bagus akurasi dari model yang dibuat sebelum digunakan untuk memprediksi data di masa depan.

  • Data Scaling Nilai 'Close' diubah menjadi berada di dalam interval 0..1 dengan menggunakan teknik MinMax Scaling . Teknik ini dipilih karena data tidak terdistribusi normal dan skala sangat penting dalam tahap prediksi. Data Scaling dilakukan untuk mengurangi noise dan mempercepat proses pembelajaran menjadi konvergen.

  • Data Transforming
    Data diubah bentuknya agar bisa digunakan oleh model yang bersangkutan. DataFrame diubah menjadi bentuk batch untuk bisa digunakan pada model LSTM. Sementara itu, nama kolom pada DataFrame yang ada juga diubah menjadi kolom 'ds' untuk 'Date' dan 'y' untuk 'Close' agar bisa digunakan oleh model Prophet.

Modeling

  1. Model Prophet
    Pemodelan dilakukan dengan pertama-tama mengimpor model Prophet. Setelah itu, buat sebuah objek dari kelas Prophet dengan mengisi parameter 'interval_width' dengan 0.95 yang menandakan interval kepercayaan dari model adalah 95% dari default 80%. Terakhir, lakukan pelatihan menggunakan data train dengan memanggil method 'fit'.

    Parameter:

    • interval-width: interval kepercayaan model

    Kelebihan:

    • Mudah digunakan
    • Penanganan komponen seasonal secara otomatis
    • Mudah diinterpretasikan
    • Cepat

    Kekurangan:

    • Tidak optimal untuk data kompleks
    • Kurang fleksibel
  2. Model LSTM
    Pemodelan diawali dengan membangun jaringan saraf tiruan. Pada proyek ini digunakan model sekuensial yang terdiri dari 6 layer . Layer-layer tersebut adalah 2 LSTM layer , 3 Dense layer , dan 1 Drop layer . Setelah dikonstruksi, model di-compile agar bisa dilatih. Terakhir, lakukan pelatihan menggunakan data train dengan memanggil method 'fit'.

    Parameter:

    • loss: Loss Function
    • optimizer: Optimizer Function
    • metrics: Metrik evaluasi

    Kelebihan:

    • Kemampuan pemodelan yang rumit
    • Memahami konteks data sebelumnya
    • Fleksibel

    Kekurangan:

    • Berpotensi overfitting
    • Membutuhkan banyak data
    • Implementasi kompleks

Model final yang akan digunakan adalah model Prophet karena memiliki error yang lebih kecil dan lebih cocok untuk pemodelan yang sederhana dengan data yang cukup terbatas.

Evaluation

Metrik Evaluasi

Metrik Evaluasi yang digunakan pada proyek ini adalah Mean Square Error (MSE).
Formula MSE:

$$ MSE = \frac{1}{n} \sum_{i=1}^n (y_{i}-y_{pred,i})^2$$

Metrik MSE bekerja dengan cara merata-ratakan jumlah dari selisih antara nilai sebenarnya dengan nilai prediksi (error) lalu rata-rata tersebut diakarkan sehingga nilai yang dihasilkan metrik tidak memiliki skala yang besar.

Hasil Evaluasi

Gambar Hasil Evaluasi Mean Squared Error Model Prophet dan LSTM

Gambar 5. Hasil Evaluasi Mean Squared Error Model Prophet dan LSTM

Pada gambar 5, Model Prophet memiliki error yang lebih kecil pada fase train dan fase validation .

Hasil Forecasting

Gambar Hasil Forecasting Harga Saham ANTM 2024 - 2025

Gambar 6. Hasil Forecasting Harga Saham ANTM 2024 - 2025

Berdasarkan grafik prediksi harga saham ANTM selama satu tahun pada gambar 6, dapat diperkirakan bahwa waktu yang terbaik untuk membeli saham ANTM pada saat harga berada pada kisaran 1.350 - 1.400 dan menjualnya untuk take profit terdekat pada level 1.700

REFERENSI

[1]      Manh, Ha & Duong, & Siliverstovs, Boriss & Manh, & Duong, Ha, "The Stock Market and Investment", 2006.

[2]     Han, Yufeng and Liu, Yang and Zhou, Guofu and Zhu, Yingzi, "Technical Analysis in the Stock Market", 2021.

[3]      Antono, Zakia & Jaharadak, Adam Amril & Khatibi, Abdul, "Analysis of factors affecting stock prices in mining sector: Evidence from Indonesia Stock Exchange. Management Science Letters. 9. 1701-1710. 10.5267/j.msl.2019.5.018", 2019.

[4]     Bandhu, Kailash Chandra & Litoriya, Ratnesh & Jain, Anshita & Shukla, Anand & Vaidya, Swati, "An improved technique for stock price prediction on real-time exploiting stream processing and deep learning. Multimedia Tools and Applications. 1-21. 10.1007/s11042-023-17130-x", 2023.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published