Published

Prediksi Saham Berdasarkan Data Historis dan Berita

Published
Gaudhiwaa Hendrasto

Pertimbangan keputusan investasi pada instrumen saham merupakan isu yang kompleks. Pendekatan fundamental dan teknikal seringkali dilakukan oleh investor dalam memilih emiten saham yang tepat, tetapi pendekatan ini membutuhkan banyak waktu dan tidak efisien. Di sisi lain pengembangan Artificial Intelligence, khususnya Natural Language Processing (NLP) dan teknik peramalan bisa menjadi solusi bagi para calon investor. Dalam penelitian ini dilakukan prediksi harga saham menggunakan data historis dan berita tahun 2018 sampai 2023. Dalam tahap praproses, data berita yang didapatkan akan dilakukan penghapusan topik yang tidak relevan (BertTopic), case folding, dan penghapusan tanda baca. Sedangkan pada data historis akan dilakukan normalisasi data. Pada analisis sentimen berita dilakukan pendekatan menggunakan machine learning (SVM). Sedangkan pada gabungan data harga historis dan hasil sentimen berita, dilakukan pendekatan menggunakan machine learning (SVR dan Prophet), deep learning (LSTM, BiLSTM, GRU, dan LSTM+GRU), dan ensemble learning (Random forest dan Bagging). Setelah tahap pemodelan selesai, pengukuran evaluasi model prediksi harga saham akan dihitung menggunakan MAE dan MAPE.


Daftar Isi

Latar belakang

Pergerakan harga saham merupakan isu yang sangat kompleks karena dipengaruhi oleh berbagai faktor. Faktor yang mempengaruhi pergerakan harga saham, berdasarkan skalanya, terdiri dari makroeknomi dan mikroekonomi, di antaranya: tingkat inflasi, tingkat suku bunga, neraca perdagangan, kinerja perusahaan, kinerja industri, sentimen pasar dll. Makroekonomi dan mikroekonomi memiliki peran yang signifikan dalam mempengaruhi pergerakan harga saham.

Dalam skala makroekonomi, faktor-faktor seperti tingkat inflasi dan suku bunga memiliki dampak terhadap Indeks Harga Saham Gabungan (IHSG). Kenaikan inflasi berdampak negatif tidak signifikan terhadap IHSG, sedangkan kenaikan suku bunga berdampak negatif signifikan terhadap IHSG. Tingkat inflasi yang stabil dan suku bunga yang rendah cenderung menciptakan lingkungan yang positif bagi investasi saham. Selain itu, neraca perdagangan (nilai total ekspor dan impor) suatu negara juga dapat memengaruhi harga saham secara makro. Jika neraca perdagangan suatu negara sehat, hal ini dapat menciptakan kepercayaan investor dan mendukung pertumbuhan ekonomi, yang pada gilirannya dapat mengangkat harga saham.

Di sisi lain, dalam perspektif mikroekonomi, jika performa perusahaan dianggap positif, investor cenderung tertarik untuk membeli saham perusahaan tersebut, dan dapat menyebabkan peningkatan pada nilai saham. Keuntungan perusahaan, pertumbuhan penjualan, dan faktor-faktor spesifik industri dapat secara signifikan memengaruhi valuasi saham individu. Selain itu, terdapat kausalitas searah di mana sentimen investor memiliki dampak yang signifikan pada pergerakan pasar saham. Persepsi positif atau negatif dapat menciptakan tren beli atau jual yang signifikan di pasar saham, yang pada gilirannya mempengaruhi harga saham secara keseluruhan.

Dalam pasar saham, terdapat dua pendekatan utama untuk memprediksi harga saham, yaitu pendekatan fundamental dan teknikal. Pendekatan fundamental memfokuskan analisis pada faktor-faktor yang mendasari nilai intrinsik suatu perusahaan. Ini melibatkan evaluasi kondisi keuangan perusahaan, seperti laba bersih, pendapatan, rasio keuangan, manajemen, dan faktor-faktor eksternal seperti kondisi industri dan ekonomi. Analisis fundamental bertujuan untuk menentukan apakah saham diperdagangkan dengan nilai yang sebanding dengan kinerja sebenarnya dan potensi pertumbuhannya.

Di sisi lain, pendekatan teknikal berfokus pada analisis pergerakan harga historis dan volume perdagangan untuk mengidentifikasi pola dan tren pasar. Ini melibatkan penggunaan grafik harga, indikator teknikal, dan alat analisis lainnya. Para analis teknikal meyakini bahwa tren historis dan pola harga dapat memberikan petunjuk tentang arah pergerakan harga di masa depan. Pendekatan ini sering kali tidak memperhatikan faktor-faktor fundamental perusahaan dan lebih berkonsentrasi pada perilaku dan psikologi pasar.

Dengan kompleksitas faktor-faktor yang memengaruhi pergerakan harga saham, para pelaku pasar semakin beralih ke pendekatan modern yang menggunakan teknologi machine learning. Model machine learning dapat memproses dan menganalisis besar data historis dengan cepat, mengidentifikasi pola yang kompleks, dan membuat prediksi berdasarkan informasi yang tersedia. Pendekatan ini memungkinkan para investor dan trader untuk memanfaatkan data secara lebih efisien, termasuk data makroekonomi dan mikroekonomi, fundamental dan teknikal. Dengan demikian, machine learning menjadi alat yang berharga dalam meningkatkan akurasi prediksi harga saham.

Penggunaan data historis seringkali menjadi acuan utama pada model machine learning. Ini bisa mencakup harga penutupan harian, harga pembukaan harian, volume perdagangan, dan indikator-indikator teknis lainnya. Data historis dapat membantu mengidentifikasi tren dan pola yang mungkin terulang, memberikan landasan untuk membuat prediksi tentang bagaimana saham mungkin berkinerja di masa depan. Model machine learning dan analisis statistik seringkali digunakan untuk menganalisis data historis dengan cara yang efisien.

Di sisi lain, berita perusahaan dapat memberikan gambaran peristiwa yang terjadi pada perusahaan. Berita bisa mencakup laporan keuangan perusahaan, pengaruh ekonomi makro terhadap perusahaan, peristiwa industri, atau perkembangan lain yang dapat memengaruhi kinerja perusahaan atau pasar secara keseluruhan. Analisis sentimen berita berupa evaluasi apakah berita tersebut bersifat positif atau negatif, juga dapat menjadi acuan dalam memprediksi pergerakan harga saham. Dalam hal ini, teknik Natural Language Processing (NLP) dalam machine learning seringkali digunakan untuk mengolah data teks.

Dengan menggabungkan data historis dan berita, analis dapat memperoleh gambaran yang lebih holistik tentang faktor-faktor yang mempengaruhi pergerakan harga saham. Pendekatan ini memanfaatkan baik aspek teknis dari pergerakan harga di masa lalu maupun informasi fundamental yang terkandung dalam berita terkini. Seiring dengan kemajuan teknologi dan kecerdasan buatan, kombinasi data historis dan berita menjadi semakin berperan dalam upaya memprediksi pergerakan dinamis pasar saham.

Rumusan Permasalahan

Berdasarkan latar belakang yang telah dijabarkan, maka dapat dirumusan rumusan masalah sebagai berikut:

  1. Bagaimana proses pengumpulan dan persiapan dataset historis harga dan berita saham?
  2. Bagaimana performa prediksi harga saham menggunakan data historis menggunakan model machine learning (SVR dan Prophet), deep learning (LSTM, BiLSTM, GRU, dan LSTM+GRU)?
  3. Bagaimana pengaruh sentimen berita terhadap pergerakan harga saham?

Batasan Masalah

Dalam melaksanakan penelitian, ditetapkan batasan masalah yang mencakup perihal berikut:

  1. Data historis harga dan berita saham menggunakan saham-saham pada LQ45 tahun 2023, dengan kategori telekomunikasi (EXCL, TBIG, TLKM, dan TOWR), consumer cyclicals (AMRT, CPIN, GGRM, ICBP, INDF, dan UNVR), dan consumer noncyclicals (ACES, MAPI, dan SCMA). Data harga saham diperoleh mulai dari tanggal 1 Agustus 2018—1 Agustus 2023, dengan menggunakan library API yfinance.
  2. Data berita yang dikumpulkan berasal dari situs CNBC (cnbcindonesia.com), Kontan (kontan.co.id), Bisnis (bisnis.com), Katadata (katadata.co.id), dan Investor (investor.id), dengan menggunakan library API gnews.

Dataset

Pengumpulan data historis harga saham menggunakan library yfinance

Library yfinance digunakan dalam mengumpulkan data historis saham. Data historis harga saham yang digunakan adalah saham-saham LQ45 tahun 2023 yang mencakup 3 sektor, yaitu: telekomunikasi, consumer-cyclicals, dan consumer non-cyclicals. Adapun kode emiten saham yang digunakan pada kategori telekomunikasi: EXCL, TBIG, TLKM, dan TOWR, consumer-cyclicals: AMRT, CPIN, GGRM, ICBP, INDF, dan UNVR, dan consumer noncyclicals: ACES, MAPI, dan SCMA. Data harga saham diperoleh mulai dari tanggal 1 Agustus 2018—1 Agustus 2023. Pada Gambar di bawah disajikan contoh visualisasi data historis harga saham TLKM yang diperoleh menggunakan library yfinance.

Prediction using
LSTM

Tabel di atas merupakan contoh data historis yang diperoleh menggunakan library yfinance. Data tersebut memiliki beberapa fitur, yaitu: Date (tanggal), Open (harga di saat pembukaan pasar saham), High (harga tertinggi), Low (harga terendah), Close (harga di saat penutupan pasar saham), Adj Close (harga setelah disesuaikan dengan perubahan-perubahan yang dapat memengaruhi harga secara teknis, seperti dividen, pembagian saham, dan penawaran umum), dan Volume (volume jual beli saham).

DateOpenHighLowCloseAdj CloseVolume
2018-08-013570.03600.03500.03550.02,936,646,240190,720,900
2018-08-023550.03590.03450.03500.02,895,285,156171,276,100
2018-08-033480.03490.03430.03460.02,862,196,289224,005,400
2018-08-063480.03670.03480.03650.03,019,368,652231,846,400
2018-08-073650.03670.03570.03580.02,961,463,135111,024,900

Pengumpulan data berita menggunakan library gnews

Data berita yang dikumpulkan berasal dari situs CNBC (cnbcindonesia.com), Kontan (kontan.co.id), Bisnis (bisnis.com), Katadata (katadata.co.id), dan Investor (investor.id). Pengumpulan data berita dengan menggunakan library gnews. Data harga saham diperoleh mulai dari tanggal 1 Agustus 2018—1 Agustus 2023. Pada setiap emiten saham, didapatkan 400—1500 baris data berita. Perlu dicatat bahwa tidak selalu terdapat berita setiap harinya. Tabel di bawah merupakan contoh data berita yang didapatkan, di mana terdapat fitur published_date (tanggal publikasi), title (judul berita), media (sumber berita), dan url (tautan).

indexpublished_datetitlemediaurl
0Tue, 08 Aug 2023 07:00:00Begini Strategi Telkom Indonesia (TLKM) Tingkatkan Kinerja Hingga Akhir 2023Industri Kontanhttps://news.google.com/rss/articles ...
1Tue, 01 Aug 2023 07:00:00Kinerja Emiten Telekomunikasi Cenderung Naik, Cek Saham Rekomendasi AnalisInvestasi Kontanhttps://news.google.com/rss/articles ...
2Wed, 02 Aug 2023 07:00:00Pendapatan & Harga Saham Tren Naik, Inilah Saham Telekomunikasi yang Layak BeliInvestasi Kontanhttps://news.google.com/rss/articles ...
21457Mon, 20 Aug 2018 07:00:00Tantangan Penerimaan Pajak di Tahun Politik 2019CNBC Indonesiahttps://news.google.com/rss/articles ...
21458Tue, 07 Aug 2018 07:00:00Baru Luncurkan Satelit, Saham Telkom Malah Dilepas AsingCNBC Indonesiahttps://news.google.com/rss/articles ...
21459Wed, 08 Aug 2018 07:00:00Satelit Merah Putih Meluncur di Ruang AngkasaCNBC Indonesiahttps://news.google.com/rss/articles ...

Metodologi

Data historis dan berita akan dikumpulkan terlebih dahulu. Selanjutnya pada data historis dilakukan penanganan data yang hilang atau tidak konsisten, serta normalisasi. Pada data berita, dilakukan penghapusan topik yang tidak relevan menggunakan topic modeling, yang selanjutnya dilakukan anotasi sentimen berita. Kemudian dilakukan praproses data berita menggunakan case-folding dan penghapusan tanda baca. Pada tahap pelatihan model, data historis akan dilakukan train-test split. Sedangkan data berita akan dilakukan encoding, traintest split, dan vectorizer, yang selanjutnya akan dilakukan training model untuk mendapatkan sentimen berita. Hasil dari sentimen berita akan masuk ke dalam proses training model bersama dengan data historis. Pada tahap akhir, pengukuran evaluasi model diterapkan.

Prediction using
LSTM

Praproses Data Berita

Pendeteksian topik berita menggunakan BertTopic digunakan untuk menyaring topiktopik yang tidak terkait dengan kenaikan atau penurunan harga saham. Tahap ini dimulai dengan mendapatkan parameter terbaik guna mendapatkan segmentasi antar topik yang maksimal. Pencarian parameter terbaik ini menggunakan evaluasi coherence score, untuk mengukur sejauh mana topik yang dihasilkan saling terkait atau koheren. Parameter yang dilakukan iterasi parameter antara lain: top_n_words, n_gram_range, min_topic_size, dan nr_topics. Dapat dilihat hasil persebaran topik menggunakan BertTopic pada saham TLKM dapat dilihat pada Gambar di bawah.

Prediction using
LSTM

Dapat diketahui bahwa terdapat topik-topik yang tidak terkait dengan pergerakan harga saham, yaitu : 30nomor_cara_hangus, 34_internet_100_paket, 23_lowongan kerja_buka, dan 5_xl_cara_indoesat transfer kuota/pulsa. Berita tersebut akan dihapus secara manual karena tidak relevan dengan pergerakan harga saham.

Setelah dilakukan penghapusan topik yang tidak relevan, selanjutnya dilakukan anotasi sentimen berita secara manual. Tabel di bawah merupakan representasi dari anotasi data berita saham. Anotasi berita saham terdiri dari tiga kategori, yaitu 1 (positif), 0 (netral), dan -1 (negatif).

No.TitleSentiment
1Begini Strategi Telkom Indonesia (TLKM) Tingkatkan Kinerja Hingga Akhir 20230
2Pendapatan & Harga Saham Tren Naik, Inilah Saham Telekomunikasi yang Layak Beli1
3TLKM dan BBRI Terbesar, Cermati Saham yang Banyak Dilego Asing Saat IHSG Rebound-1
4Telkomsel dan Ericsson Jalin Kemitraan Penguatan Jaringan 4G/5G1
5Sinyal Kuat Emiten Telekomunikasi Semakin Tampak1

Data berita yang telah dianotasi akan masuk ke dalam praproses lanjutan. Praproses ini dilakukan melalui dua tahap, yaitu perubahan teks menjadi huruf kecil (case-folding) dan penghapusan tanda baca. Tabel di bawah merupakan representasi dari praproses terhadap beberapa judul berita pada saham TLKM.

No.Teks AwalPerubahan Huruf KecilPenghapusan Tanda Baca
1Begini Strategi Telkom Indonesia (TLKM) Tingkatkan Kinerja Hingga Akhir 2023begini strategi telkom indonesia (tlkm) tingkatkan kinerja hingga akhir 2023begini strategi telkom indonesia tlkm tingkatkan kinerja hingga akhir 2023
2Pendapatan & Harga Saham Tren Naik, Inilah Saham Telekomunikasi yang Layak Belipendapatan & harga saham tren naik, inilah saham telekomunikasi yang layak belipendapatan harga saham tren naik inilah saham telekomunikasi yang layak beli
3TLKM dan BBRI Terbesar, Cermati Saham yang Banyak Dilego Asing Saat IHSG Reboundtlkm dan bbri terbesar, cermati saham yang banyak dilego asing saat ihsg reboundtlkm dan bbri terbesar cermati saham yang banyak dilego asing saat ihsg rebound
4Telkomsel dan Ericsson Jalin Kemitraan Penguatan Jaringan 4G/5Gtelkomsel dan ericsson jalin kemitraan penguatan jaringan 4g/5gtelkomsel dan ericsson jalin kemitraan penguatan jaringan 4g5g
5Sinyal Kuat Emiten Telekomunikasi Semakin Tampaksinyal kuat emiten telekomunikasi semakin tampaksinyal kuat emiten telekomunikasi semakin tampak

Prediksi Sentimen Berita

Data berita yang telah dianotasi dan dibersihkan selanjutnya akan masuk ke dalam tahap prediksi sentimen. Sebelumnya, anotasi sentimen yang terdiri dari tiga kategori, akan diubah menjadi positif dan negatif saja. Hal ini dilakukan untuk meningkatkan akurasi prediksi sentimen, sebab teks yang mengandung sentimen netral memiliki cukup similaritas dengan teks yang mengandung sentimen positif. Proses dimulai dengan encoding data target yang terdiri dari sentimen positif dan negatif menjadi data numerik kategorikal. Selanjutnya, dilakukan train-test split dengan 80% data train dan 20% data test. Vectorizer juga digunakan pada data berita untuk mengubahnya menjadi representasi numerik agar dapat dipahami oleh model machine learning. Setelah semua proses feature engineering selesai, data berita akan masuk ke dalam model SVM dan BERT untuk dilakukan training model. Hasil prediksi sentimen berita ini nantinya akan digunakan sebagai input bersama data historis untuk dilakukan training model menggunakan algoritma machine learning (SVR, Prophet), deep learning (LSTM, BiLSTM, GRU), dan ensemble learning (Random Forest, CatBoost).

Praproses dan EDA Data Historis Saham

Pada data historis saham dilakukan EDA untuk mengetahui karakteristik data. Per tanggal 1 Agustus 2018—1 Agustus 2023, didapatkan karakteristik data pada saham TLKM sebagai berikut:

OpenHighLowCloseAdj CloseVolume
Count123512351235123512351.235000e+03
Mean376738093722376533581.083151e+08
Std4704684704715207.324254e+07
Min255025902450256021970.000000e+00
25%339034303350338029696.569400e+07
50%382038603780383032679.136790e+07
75%411041604060411038161.286072e+08
Max485048504720477045581.155861e+09

Diketahui bahwa selama 5 tahun terakhir, harga terendah pada Adj Close (harga penutup saham yang telah disesuaikan terhadap pengaruh nilai saham, seperti dividen dan pembagian saham) saham TLKM adalah 2.197 Rupiah, sedangkan harga tertingginya adalah 4.558 Rupiah. Harga terendah ini terjadi pada tanggal 19 Maret 2020, dan tertingginya terjadi pada tanggal 24 Agustus 2022. Terdapat 1235 baris data harga saham, dengan tanpa data pada hari libur.

Data yang digunakan pada training model machine learning nantinya akan dilakukan normalisasi terlebih dahulu, guna mengoptimalkan kinerja model. Normalisasi ini dilakukan menggunakan Standard Scaler.

Prediksi Harga Saham menggunakan Data Historis

Setelah dilakukan praproses, maka dilakukan training model menggunakan algoritma machine learning, deep learning, dan ensemble learning. Split train-test dilakukan menggunakan 80% data train dan 20% data test. Pada arsitektur LSTM, di layer pertama digunakan adalah 50 unit dan return_sequences=True, yang berarti akan mengembalikan urutan keluaran untuk setiap titik waktu dalam rangkaian input. Lapisan LSTM kedua memiliki 50 unit dan return_sequences=False, yang berarti hanya mengembalikan keluaran pada titik waktu terakhir. Kemudian, ditambahkan dua lapisan Dense, yang merupakan lapisan terhubung penuh dengan 25 dan 1 unit masing-masing. Setelah membangun arsitektur model, ditentukan optimizer 'adam' dan fungsi loss function 'mean_squared_error' untuk training. Training dilakukan dengan epochs 250 dan batch size 32. Gambar di bawah merupakan hasil prediksi menggunakan data historis saham pada LSTM.

Prediction using
LSTM

Pada algoritma Prophet digunakan parameter changepoint prior scale = 200, seasonality prior scale = 3, changepoint range = 0.9, n changepoints = 250, weekly seasonality = True, daily seasonality = True, dan yearly seasonality = True. Gambar di bawah adalah hasil dari prediksi menggunakan data historis saham pada Prophet.

Prediction using
LSTM

Pada SVR digunakan kernel ‘linear’ sebagai parameter dalam training model. Pada Gambar di bawah ini merupakan hasil prediksi saham menggunakan data historis pada SVR.

Prediction using
LSTM

Prediksi Harga Saham menggunakan Data Historis dan Sentimen Berita

Penggabungan data historis dan sentimen berita dilakukan. Data historis memiliki tipe data regresi sedangkan sentimen berita berbentuk tipe data ketegorikal. Data kategorikal ini perlu di encoding terlebih dahulu agar dapat masuk ke dalam model prediksi saham. Proses training model dilakukan dengan menambahkan dua fitur sebagai input pada model.

Pada penelitian ini digunakan tiga skenario utama. Pertama, penggunaan SVM dan BERT, beserta teknik oversampling SMOTE pada analisis sentimen. Kedua, penggunaan algoritma machine learning (SVR, Prophet), deep learning (LSTM, BiLSTM, GRU), dan ensemble learning (Random Forest, CatBoost). Ketiga, penggunaan variabel kuantitas hari (30 hari, 60 hari, dan 90 hari) pada input model. Skenario ini diharapkan dapat meningkatkan kinerja model dalam memprediksi harga saham secara akurat.

Evaluasi dan Analisis

Evaluasi akan dilakukan terhadap skenario model yang dibuat, yaitu terhadap data historis tunggal, serta gabungan data historis dan sentimen berita. Metrik evaluasi yang digunakan untuk menunjukkan akurasi model adalah MAE dan MAPE. Evaluasi dilakukan terhadap data test, maupun data asli harga saham di luar dataset. Hal ini bertujuan untuk menguji apakah model dapat diandalkan pada kasus pergerakan harga saham secara ril.

Artikel ini akan di update setelahnya

Dikarenakan penelitian ini masih dalam tahap pengajuan (proposal), maka penjelasan selanjutnya akan dijabarkan setelah penelitian selesai.

Ditulis oleh Gaudhiwaa Hendrasto