Prediksi Harga Saham Di Indonesia Menggunakan Algoritma Long . - CORE

8d ago
0 Views
0 Downloads
631.28 KB
6 Pages
Last View : 8d ago
Last Download : n/a
Upload by : Asher Boatman
Transcription

View metadata, citation and similar papers at core.ac.ukbrought to you byCOREprovided by STMIK Jakarta Journal OnlineSeminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327Prediksi Harga Saham Di Indonesia Menggunakan Algoritma LongShort-Term MemoryAdhib Arfan1 dan Lussiana ETP.2(1)Universitas GunadarmaJl. Margonda Raya No. 100, Depok, Jawa Barat 16424(2)STMIK Jakarta STI&KJl. BRI No.17, Radio Dalam Kebayoran Baru Jakarta Selatan [email protected], [email protected] adalah hak yang dimiliki seseorang terhadap perusahaan dikarenakan penyerahan modal baik itusebagian maupun keseluruhan. Para investor melakukan investasi saham dan berupaya untukmendapatkan hasil secara maksimal, akan tetapi banyak investor masih ragu dengan risiko dalamberinvestasi. Telah banyak dikembangkan metode untuk memperkirakan harga saham yang akan datangnamun masih memiliki keterbatasan diantaranya adalah ketergantungan jangka panjang.Pada tahun 1997mulai dikembangkan model baru yang bekerja untuk menangani masalah ketergantungan jangka panjangdan dikenal dengan Long Short-Term memory (LSTM). Tujuan penelitian yang ingin dicapai adalahmenghasilkan model peramalan harga saham yang lebih efektif dan memberikan hasil yang akurat.Tahapan yang dilakukan terdiri dari pengumpulan data, preprocessing data, pembagian data,perancangan LSTM, training LSTM dan melakukan pengujian.Paremeter yang digunakan untuk melakukanprediksi harga saham dengan LSTM adalah data yang digunakan, hidden layer, neuron, epoch dan batchsize. Pengujian tersebut mendapatkan hasil terbaik menggunakan data latih 2014-2016 dan data uji 20172019 yaitu dengan menggunakan parameter 2 hidden layer, 125 neuron, 10 epoch, 200 batch size denganhasil waktu training 18.2s dengan hasil MSE sebesar 0.0015. Berdasarkan hasil pengujian, LTSM mampumemprediksi harga saham pada tahun 2017-2019 dengan performa yang baik dan tingkat kesalahan yangrelatif kecil, sedangkan pengujian menggunakan metode Support Vector Regression (SVR) hanya mampumemprediksi 30 hari ke depan. Dengan demikian dapat disimpulkan bahwa LSTM mampu menanggulangiketergantungan jangka panjang dan mampu memprediksi harga saham dengan hasil yang akurat.Kata Kunci : prediksi, saham, jaringan syaraf tiruan, long short term memoryDalam rangka meyakinkan caloninvestor terhadap keuntungan yang didapat,telah banyak dikembangkan metode untukmemperkirakan harga saham yang akandatang. Metode Back Propagation (BP)yang digunakan dalam pemodelannya[4].Hasilnya menyatakan bahwa hasil prediksimendekati kenyataan, sehingga tidak jauhberbeda dengan tren indeks harga sahamBursa Efek Indonesia (BEI), namun hasiltersebut masih terdapat error yang besar.Selanjutnyadikembangkan model denganmenggabungkan metode BP dengan ParticleSwarm Optimization (PSO) untuk peramalanindeks harga saham BEI[5], hasilnya dapatmemperkecil waktu komputasi dan errordibandingkan dengan model BP saja, tetapitidak dijelaskan periode saham yangdigunakan. Kemudian penelitian tentangpenggabungan Support Vector Regression(SVR) dan Jaringan Syaraf Tiruan (JST)untuk memprediksi indeks harga saham[6].Hasil pengembangan ini dapat menunjukkanPENDAHULUANDewasa ini dalam melakukaninvestasi, tersedia banyak pilihan bagiinvestor. Investasi bisa berbagai macambentuknya, salah satu diantaranya adalahinvestasi saham. Saham adalah hak yangdimiliki seseorang terhadap perusahaankarena penyerahan modal baik itu sebagianmaupun keseluruhan[1]. Para investormelakukan investasi saham dan berupayauntukmendapatkanhasilyangdiinvestasikan secara maksimal, akan tetapibanyak investor masih ragu dengan risikodalamberinvestasi,khawatiryangdiinvestasikan tidak sesuai dengan harapan[2]. Keraguan calon investor dalamberinvestasi dikarenakan fluktuasi indeksharga saham dalam waktu yang singkat.Dalam penelitian [3], tentang dampak nilaikurs dan suku bunga dijelaskan bahwa nilaikurs maupun tingkat suku bunga memilikipengaruh negatif terhadap pasar saham.225

Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327performa yang cukup baik, tingkat kesalahanmetode SVR-JST pada hasil MAPE danRMSE lebih kecil dibandingkan denganmetode JST pada 3, 7, 10, 15, dan 30 harikedepan, namun semakin besar nilai n-hariyang diprediksi menghasilkan tingkatkesalahan semakin besar.Seiring dengan pengembanganpemodelan dengan menggunakan JST, padatahun 1997 mulai dikembangkan model baruyang bekerja untuk menangani masalahketergantungan jangka panjang dan dikenaldengan Long Short-Term memory (LSTM)yang merupakan unit spesial dari RecurrentNeural Network (RNN). Mengacu anjangkapanjang[7].Tujuan penelitian ini melakukanperamalan indeks harga saham denganmenggunakan LSTM, tujuan khusus yangingin dicapai adalah menghasilkan modelperamalan harga saham yang lebih efektifdan memberikan hasil yang akurat.METODE PENELITIANGambar 1. Tahapan penelitianGambar 1 merupakan skematahapan penelitian yang dilakukan. Secaraumum terdiri dari identifikasi masalah,pengumpulan data, preprocessing data,pembagian data, perancangan LSTM,training LSTM dan melakukan pengujian.Dalam sistem yang dibangun, dataset terdiridari data saham dan kurs Dollar terhadapRupiah yang diolah terlebih dahulumenggunakan normalisasi min max scaling.Selanjutnya dilakukan uji pada model yangtelah didapatkan dari proses trainingterhadap data testing. Proses tersebutdiulang hingga mendapatkan output denganakurasi yang dapat diterima.Long Sort Term MemoryLong Short Term Memory networks(LSTM) merupakan sebuah evolusi dariarsitektur RNN, dimana pertama kalidiperkenalkanolehHochreiter&Schmidhuber (1997). Hingga penelitian inidilakukan banyak para peneliti yang terusmengembangkan arsitektur LSTM diberbagai bidang seperti dalam bidangspeech recognition dan forecasting.[8]RNNmemilikikekurangan,kekurangan itu dapat dilihat pada inputan๐‘ฅ0 , ๐‘‹๐‘ฅ1 memiliki rentang informasi yangsangat besar dengan ๐‘‹ ๐‘ฅ๐‘ก , ๐‘ฅ๐‘ก 1 sehinggaketika h memerlukan informasi yangrelevan dengan ๐‘ฅ0 , ๐‘ฅ1 . RNN tidak dapatuntuk belajar menghubungkan informasikarena memori lama yang tersimpan akansemakin tidak berguna dengan seiringnyawaktu berjalan karena tertimpa atautergantikandenganmemoribaru,permasalahan ini ditemukan oleh Bengio, etal. (1994). Berbeda dengan RNN, LSTMtidak memiliki kekurangan tersebut karenaLSTM dapat mengatur memori pada setiapmasukannya dengan menggunakan memorycells dan gate unitsPengumpulan DataPenelitian ini menggunakan dua datasekunder yaitu data indeks harga saham daninformasi kurs USD terhadap IDR. Dataindeks harga saham yang digunakan adalahdata yang diperoleh dari situs Yahoo !Finance, sedangkan data informasi kursyang digunakan adalah data yang diperolehdari OFX (https://www.ofx.com).Preprocessing DataData yang diperoleh pada tahapanpengumpulan data masih berupa datamentah, artinya data tersebut belum bisadiolah karena ada beberapa data yang tidakmenampilkan tanggal tertentu. sehinggadiperlukan tahapan preprocessing data.Preprocessing data ini meliputi:1. Join dataProses join data merupakan prosespenggabungan antara harga sahamdengan currency226

Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-23272. Fill null valueSetelah proses join data, dilanjutkandengan proses fill null value, yaitudengan menggunakan forward fill,forward fill merupakan proses yangdilakukan dengan mengganti nilai nulldengan nilai pada tanggal sebelumnya3. Split dataSplit data atau pembagian datadigunakan untuk membedakan antaradata yang digunakan untuk prosespelatihan dan data yang digunakanuntuk proses pengujian. Tahapanpembagian data dibagi menjadi 2 yaitudata latih dan data uji.4. Normalize dataUntuk meminimalkan error, dilakukannormalisasi pada dataset denganmengubah data aktual menjadi nilaidengan rangeinterval [0,1]. aling.Adapun untuk rumus normalisasi minmax scaling adalah :(๐‘ฅ ๐‘š๐‘–๐‘›๐‘ฅ )๐‘ฅ ๐‘š๐‘–๐‘›๐‘ฅ )๐‘ฅ โ€ฒ (๐‘š๐‘Ž๐‘ฅ7. data y - append(data[i look back, 0])Penjelasan:nilai look back nilai rentang data.Misalnya nilai dari look back adalah 1,artinya data 1 hari yang digunakan untukprediksi hari berikutnya.1. Lakukan perulangan untuk i sampainilai (len(data) - look back - 1)2. a nilai data pada index ke i sampai i look back3. simpan nilai a ke array data x4. simpan nilai data pada index [i look back, 0].Perancangan model LSTMGambar 2. Alur kerja LSTMPada gambar 2 menjelaskanbagaimana alur kerja memory cellspada setiap neurons LSTM bekerja.Terdapat empat proses fungsi aktivasipada setiap masukan pada neuronsyang selanjutnya disebut sebagai gatesunits. Gates units tersebut ialah forgetgates, input gates, cell gates, danoutput gates.Pada forget gates informasipada setiap data masukan diolah dandipilih data mana saja yang akandisimpan atau dibuang pada memorycells. Fungsi aktivasi yang digunakanpada forget gates ini adalah fungsiaktivasi sigmoid. Dimana hasilkeluarannya antara 0 dan 1. Jikakeluarannya adalah 1 maka semua dataakan disimpan dan sebaliknya jikakeluarannya 0 maka semua data akandibuang. Dengan rumus sebagaiberikut[9]:(1)keterangan :๐‘ฅ : data yang dinormalisasi๐‘ฅโ€ฒ: data setelah dinormalisasi๐‘š๐‘–๐‘›: nilai minimum dari keseluruhandata๐‘š๐‘Ž๐‘ฅ: nilai maksimum dari keseluruhandata5. Pembuatan datasetDataset merupakan objek yangmerepresentasikan data dan relasinyadengan mengelompokan input dantarget output. Dataset adalah data yangdigunakan/diolah. Langkah dalammembuat dataset dijelaskan denganpseudo codedibawah ini:Input: data, look back1. i - 02. data x - array3. data y - array4. for i - (len(data) - look back - 1)do5. a - data[i to (i look back)]6. data x - append(a)๐‘“๐‘ก ๐œŽ (๐‘ค๐‘“ . [โ„Ž๐‘ก 1 , ๐‘ฅ๐‘ก ] ๐‘๐‘“ )(2)Pada input gates terdapat duagates yang dilaksanakan, pertamadiputuskan nilai mana yang diperbarui227

Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327menggunakan fungsi aktivasi sigmoid.Selanjutnya fungsi aktivasi tanhmembuat vector nilai baru yangdisimpan pada memory cell, dari keduabagian tersebut digabungkan untukmembuat pembaharuan memory cell.Dengan rumus sebagai berikut[9]:๐‘–๐‘ก ๐œŽ (๐‘ค๐‘– . [โ„Ž๐‘ก 1 , ๐‘ฅ๐‘ก ] ๐‘๐‘– )๐ถโ€ฒ๐‘ก ๐‘ก๐‘Ž๐‘›โ„Ž (๐‘ค๐‘ . [โ„Ž๐‘ก 1 , ๐‘ฅ๐‘ก ] ๐‘๐‘ )1๐‘›๐‘€๐‘†๐ธ ๐‘›๐‘– 1(๐‘“๐‘– ๐‘ฆ๐‘– )25. Perhitungangradientuntukmenentukan nilai bobot supayahasil loss mendekati 0 denganmenggunakan BackpropagationThrough Time(BTTP)6. Setelahmendapatkannilaigradient, maka dilanjutkan denganoptimasi RMSProp dan updatebobot.7. Kembali ke langkah dua sebanyakepoch yang telah ditentukan.(3)Pada cell gates mengganti nilai padamemory cell sebelumnya dengan nilaimemory cell yang baru. Dimana nilaiini didapatkan dari menggabungkannilai yang terdapat pada forget gatedan input gate. Dengan rumus sebagaiberikut[9] :๐ถ๐‘ก ๐‘“๐‘ก ๐ถ๐‘ก 1 ๐‘–๐‘ก ๐ถ ฬ๐‘กPengujianPengujian ini dengan mengambildata testing kemudian dibandingkan dengandata yang dihasilkan dengan metode LSTMpada rentang waktu yang ditentukan denganmetodeakurasiyangdigunakanmenggunakan MSE.(4)Pada output gates terdapat duagates yang dilaksanakan, pertamadiputuskan nilai pada bagian memorycell mana yang dikeluarkan denganmenggunakan fungsi aktivasi sigmoid.Selanjutnya ditempatkan nilai padamemory cell dengan menggunakanfungsi aktivasi tanh. Terakhir keduagates tersebut di dikalikan sehinggamenghasilkan nilai yang dikeluarkan.Dengan rumus sebagai berikut [9]:๐‘œ๐‘ก ๐œŽ (๐‘ค๐‘œ . [โ„Ž๐‘ก 1 , ๐‘ฅ๐‘ก ] ๐‘๐‘œ )โ„Ž๐‘ก ๐‘œ๐‘ก ๐‘ก๐‘Ž๐‘›โ„Ž (๐ถ๐‘ก )(6)HASIL DAN PEMBAHASANDatasetBerikut ini adalah komposisi datayang digunakan:Tabel 1. Komposisi data yang digunakanNo1(5)Data Latih09 Jun 2014 30 Desember 2016Data Uji02 Januari 201706 Juni 2019Skenario PengujianPengujian yang dilakukan adalahdengan menggunakan parameter sebagaiberikut :1. Data yang digunakan adalah data padatabel 1.2. Jumlah hidden layer : 2, 3, 4, 5, 63. Jumlah Neuron pada hidden layer : 20,30, 40, 50, 604. epoch 10, 20, 30, 40, 505. batch size 50, 100, 150, 200, 250Training model LSTMBeberapa tahapan dalam prosestraining model LSTM adalah :1. Inisialisasi bobot awal denganmenggunakanXavier/GlorotInitialization2. Input data training3. Perhitungan LSTM pada setiapinput yaitu dimulai dengan forgetgates, fungsi inputgates,fungsi cellgates dan yang terakhir fungsioutput gates.4. Perhitungan mean squared error(MSE) untuk mendapatkan nilaiselisih antara nilai LSTM dengantarget output. Berikut ini adalahrumus dari MSE.Untuksetiapparameterdikombinasikan dan dilakukan observasisebanyak 5 kali. Hal ini dilakukan karenabobot awal dihasilkan secara random,sehingga tidak cukup dilakukan observasihanya sekali saja, karena hasil yang228

Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327Tabel 4. Kombinasi parameter epochdidapatkan bisa saja kebetulan baik ataupunburuk.Menganalisis parameter dengan jumlahhidden layerParameter jumlah hidden layeryang digunakan adalah 2, 3, 4, 5, dan 6.Berdasarkan Tabel 4, menunjukkanbahwa epoch 50 memiliki nilai loss yangpaling kecil namun waktu training yangdigunakan sangat tinggi, begitu juga denganepoch 10 yang memiliki waktu trainingrendah namun memiliki nilai loss yangpaling tinggi. Epoch tidak boleh terlalubesar dan terlalu kecil untuk menemukansolusi optimum, tidak ada aturan yang pastimengenai besarnya epoch yang palingoptimal sehingga nilai epoch yangdidapatkan dengan melakukan percobaan.Tabel 2. Kombinasi parameter hidden layerBerdasarkanlampiranTabel2,menunjukkan bahwa hidden layer 6memiliki nilai loss yang paling kecil namunmemiliki waktu training yang paling tinggi.Begitu juga dengan hidden layer 2 yangmemiliki nilai loss terbesar dengan waktutrainingyang paling kecil. Semakin banyakhidden layer yang digunakan maka semakinlama waktu training yang dibutuhkan.Menganalisis parameter dengan jumlahneuronParameter jumlah neuronyangdigunakan adalah 25, 50, 75, 100 dan 125neuronMenganalisisparameterdenganjumlahbatch sizeParameter batch size yangdigunakan adalah 50, 100, 150, 200, 250Tabel 5. Komposisi batch size yang digunakanTabel 3. Kombinasi parameter neuronBerdasarkan tabel 5, menunjukkanbahwa batch size 250 memiliki waktutraining paling rendah, namun nilai lossyang dihasilkan paling tinggi. Semakinbesar nilai batch size yang digunakan makawaktu training semakin rendah.Prediksi harga saham denganmenggunakan algoritma LSTM denganmenggunakan data latih 2014-2016 dan datauji 2017-2019 dengan pengujian parametermenggunakan hidden layer,neuron padahidden layer, epoch dan batch size. Hasilyang terbaik dari peramalan harga sahamtidak tergantung dari banyaknya nilai padasetiap parameter, karena setiap parametermemiliki ketergantuan satu sama lain.Pengujian tersebut mendapatkan hasilterbaik yaitu dengan menggunakanparameter 2 hidden layer, 125 neuron, 10epoch, 200 batch size dengan hasil waktuBerdasarkan lampiran Tabel 3,menunjukkan bahwa jumlah neuron 125mempunyai waktu training yang palinglama namun memiliki nilai loss yang palingkecil. Sedangkan neuron 25 memilikiwaktu training paling cepat namunmemiliki nilai loss yang paling tinggi. Nilaineuron sebanding dengan nilai hidden layer,semakin besar nilai yang digunakan makasemakin lama waktu training ochParameter epoch yang digunakanadalah 10, 20, 35, 40 dan 50 epoch229

Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327training 18.2s dengan hasil MSE sebesar0.0015. Berikut ini adalah perbandingangrafik data asli dengan grafik data prediksi.[5] . Wartati, D. and Aini Masruroh, N.โ€œAplikasi Jaringa Saraf Tiruan danParticle Swarm Optimization UntukPeramalan Indeks Harga Saham BursaEfek Indonesiaโ€, Jurnal Teknosains,6:22, 2017[6] . Evalina Siahaan, L. โ€œPrediksi indeksharga saham dengan metode gabungansupport vector regression dan jaringansyaraf tiruanโ€, Indonesian Journal onComputing (Indo-JC), 2:21, 2017[7] . Hochreiter, S. and Schmidhuber, J.โ€œLong Short-Term Memoryโ€. NeuralComput., 9(8):1735โ€“1780. 1997[8] . CharacterRecognitionDenganMenggunakan Jaringan Syaraf Tiruan.Jurnal TIMES, Vol. III, No. 2, Pp. 1-5.[9] . Roondiwala, M., Patel, H., and Varma,S. โ€œPredicting stock prices using lstmโ€.International Journal of Science andResearch (IJSR), 6, 2017Gambar 3. Hasil prediksi harga saham denganLSTMPada gambar 3 terdapat dua warnagrafik yaitu grafik warna biru dan jingga.Grafik warna biru adalah grafik data aslisedangkan grafik warna biru adalah grafikdata prediksi. Kedua grafik tersebutmemiliki pola yang sama,dengan hasil MSEsebesar 0.0015 terhadap data asli.PENUTUPBerdasarkan hasil pengujian, LTSMmampu memprediksi harga saham padatahun 2017-2019 dengan performa yangbaik,haliniditunjukkandengantingkatkesalahan yangkecil. Dengan demikiandapat disimpulkan bahwa LSTM mampumenanggulangi ketergantungan jangkapanjang dan mampu memprediksi hargasaham dengan hasil yang akurat.DAFTAR PUSTAKA[1] . Trippi, R. R. and Desieno,โ€œTradingEquity Indeks Futures With A NeuralNetworksโ€. The Journal of PortfolioManagement.1992[2] . Downes, J., Goodman, J. E., andBudhidarmo, S. โ€œKamus IstilahKeuangan dan Investasiโ€, Elex MediaKomputindo, 1999.[3] . Abd. Majid, M. S. โ€œDampak Nilai Kursdan Suku Bunga Terhadap HargaSaham di Indonesiaโ€, Jurnal Ekonomidan Bisnis, 8:51โ€“57, 2014.[4] . Bachtiar Purnama, R. Perancanganprediksi untuk menentukan indeksharga saham menggunakan jaringansyaraf tiruan. Kinetik, 2:125, 2017.230

(1)Universitas Gunadarma Jl. Margonda Raya No. 100, Depok, Jawa Barat 16424 (2)STMIK Jakarta STI&K Jl. BRI No.17, Radio Dalam Kebayoran Baru Jakarta Selatan 12140 [email protected], [email protected] ABSTRAK Saham adalah hak yang dimiliki seseorang terhadap perusahaan dikarenakan penyerahan modal baik itu sebagian maupun keseluruhan.