Selasa, 02 April 2013

Neural Network Untuk Prediksi Saham Tertentu




Dalam bursa saham, prediksi pasar saham merupakan isu yang penting bagi pelaku transaksi modal untuk membantu mereka mengambil keputusan yang tepat dalam bertransaksi. Prediksi pasar saham dilakukan dengan memanfaatkan teknologi data mining. Data mining untuk prediksi pasar saham merupakan contoh aplikasi next generation data mining karena data yang ditangani dalam data mining untuk prediksi pasar saham bersifat time series.

Ada tiga prediksi yang dapat dilakukan dalam pasar saham, yaitu prediksi level atau harga indeks saham pada suatu waktu, prediksi arah gerak saham dan prediksi return sebuah saham. Prediksi pasar saham yang dibahas dalam makalah ini dibatasi untuk prediksi level atau harga indeks saham dan prediksi arah gerak saham. Untuk menangani data pasar saham yang bersifat time series, diperlukan beberapa modifikasi pada neural network yang digunakan untuk melakukan prediksi dalam pasar saham.

Time series data merupakan sekuens data yang nilainya berubah setiap interval waktu tertentu. Time series data dapat dipresentasikan dalam bentuk grafik atau kurva yang menunjukkan fungsi sebuah variabel data terhadap satuan waktu. Grafik yang dibangun dapat dimanfaatkan untuk menganalisis trend atau pola pada time-series data.



Ada dua tujuan utama analisis trend yaitu untuk memodelkan time series data dan untuk memprediksi time series data. Yang dimaksud dengan memodelkan time series data adalah menemukan mekanisme atau faktor-faktor yang menyebabkan terbentuknya time series. Yang dimaksud dengan memprediksi time series data adalah memprediksi nilai variabel time series pada suatu waktu yang akan datang.

Neural network merupakan model learning yang menyerupai sistem neuron pada makhluk hidup. Pembelajaran dengan neural network awalnya dikembangkan oleh para psikolog dan neurobiolog yang ingin membuat dan menguji komputasi dengan menggunakan analogi neuron.

Neural network terdiri atas sekumpulan unit input dan output yang terhubung satu dengan lainnya dan masing-masing hubungan antar unit mempunyai bobot. Setiap unit input dan output pada network merupakan bagian dari sebuah lapisan/layer dalam network. Sebuah neural network dapat mempunyai tiga atau lebih lapisan, yaitu satu lapisan input, satu atau lebih lapisan tersembunyi dan satu lapisan output.

Tahap learning pada neural network mencakup evaluasi dan penyesuaian kembali bobot setiap hubungan antar unit di dalam network sehingga tuple-tuple data yang masuk ke dalam network dapat diberi kelas atau label yang tepat.

Neural network dapat digunakan baik untuk memprediksi level atau harga indeks saham, arah gerak saham, maupun return yang diperoleh dari saham. Prediksi yang akan dibahas pada makalah ini adalah prediksi level atau harga indeks saham pada suatu waktu tertentu dan prediksi arah gerak saham.



Prediksi pertama yang akan dilakukan adalah prediksi level atau harga indeks saham pada suatu waktu tertentu di masa yang akan datang. Data yang digunakan untuk melakukan prediksi ini adalah data salah satu perdagangan saham pada batasan waktu tertentu.

Neural network yang digunakan untuk melakukan prediksi level atau harga indeks saham adalah backpropagation network. Langkah pertama yang dilakukan adalah membangun neural network. Berdasarkan data training yang digunakan, lapisan input pada network hanya terdiri atas tiga unit neuron. Lapisan output network terdiri atas sembilan neuron. Artinya, ada sembilan kemungkinan nilai hasil prediksi yang dapat diperoleh dari tiga nilai masukan data ke lapisan input. Untuk menentukan jumlah neuron pada lapisan tersembunyi network, digunakan teorema Kolmogorov.

Sesuai dengan algoritma backpropagation, setelah data diproses dalam network dan keluar di lapisan output, dilakukan penghitungan kesalahan dari lapisan output terus sampai ke lapisan input. Dari penghitungan kesalahan yang terjadi, bobot pada setiap hubungan antar neuron diperbaiki. Biasanya dalam penghitungan bobot yang baru pada network dimanfaatkan aturan Widrow-Hoff atau aturan Least Mean Square. Namun, pada eksperimen dengan time series data ini, aturan yang digunakan adalah Delta Rule dengan momentum α.

Momentum α pada penghitungan bobot ini menyatakan sebuah konstanta. Jika pengubahan bobot terakhir mengarah pada satu arah tertentu, maka momentum α akan mempunyai kecenderungan untuk membuat pengubahan bobot berikutnya mengarah ke arah yang sama.

Berdasarkan hasil eksperimen dengan menggunakan learning rate = 1 dan momentum α = 0.7 saat training, diperoleh hasil prediksi yang cukup akurat.

Selain dengan backpropagation network, prediksi level atau harga indeks saham dapat pula memanfaatkan model neural network lainnya. Model lain yang dapat digunakan adalah feed forward network, multilayer perceptron network dan generalized feed forward network.

Prediksi yang selanjutnya akan dilakukan adalah prediksi arah gerak saham. Prediksi arah gerak saham bertujuan untuk menentukan perilaku yang dilakukan terhadap sebuah saham berdasarkan posisi harganya. Biasanya perilaku yang dilakukan dapat berupa membeli, menjual atau menahan kepemilikan akan saham tersebut.

Model neural network yang digunakan untuk memprediksi saham ini adalah feed forward neural network (FNN). Model learning FNN tidak banyak berbeda dengan model learning Backpropagation Neural Network. Hanya saja, pada FNN, penghitungan bobot yang optimal untuk setiap penghubung dalam network tidak dilakukan secara mundur seperti pada backpropogation neural network.

Model FNN akan menghasilkan output berupa nilai harga indeks saham, yang selanjutnya menentukan kelas arah gerak yang sesuai. Ada tiga kelas arah gerak yang didefinisikan, yaitu buy, hold, dan sell. Masing-masing kelas ini didefinisikan sebagai arah gerak pasar saham apabila harga indeks saham mencapai ambang batas tertentu. Nilai ambang batas tersebut ditentukan sendiri oleh pihak yang melakukan transaksi modal, berdasarkan pengalaman dan pengetahuannya.

Langkah pertama yang dilakukan dalam prediksi arah gerak saham dengan menggunakan FNN adalah membangun model klasifikasi FNN yang digunakan. Setelah lapisan output menghasilkan nilai keluaran, dilakukan penghitungan kesalahan dalam jaringan yang akan digunakan untuk menghitung kembali bobot setiap penghubung dalam jaringan.

Fungsi penghitungan kesalahan yang digunakan dalam prediksi ini dimodifikasi dari fungsi penghitungan kesalahan Ordinary Least Squares (OLS)  yang banyak digunakan pada FNN. Modifikasi dilakukan dengan tujuan menitikberatkan penghitungan untuk memprediksi arah gerak time series dan bukannya nilai time series.

Jika biasanya pembobotan dilakukan dengan memberi penalti besar pada prediksi yang bernilai salah, maka pada eksperimen ini skema pembobotan yang dilakukan adalah : bobot bernilai δ jika arah gerak hasil prediksi benar, dan 1 jika arah gerak hasil prediksi salah. Nilai δ bergantung kepada distribusi data yang digunakan untuk membangun model FNN.

Dengan menggunakan pembobotan  di atas, dilakukan modifikasi terhadap fungsi penghitungan kesalahan. Selain modifikasi fungsi penghitungan kesalahan, proses training FNN pada prediksi ini juga menggunakan algoritm optimasi global dengan memperhitungkan pengaruh kondisi antar bursa saham.

Jika dibandingkan dengan algoritma FNN yang biasa, performansi algoritma yang dimodifikasi lebih baik untuk memprediksi arah gerak saham.





Tidak ada komentar:

Posting Komentar