Implementasi Regresi Ridge dan Regresi Kernel Ridge dalam Memprediksi Harga Saham Berbasis Indikator Teknis Alfian Rizqy Tanjung1, Zuherman Rustam1 1
Departemen Matematika, FMIPA UI, Kampus UI Depok 16424
[email protected],
[email protected] Abstrak
Terdapat beberapa cara untuk memprediksi harga saham, ada yang menggunakan analisis runtun waktu, harga saham terdahulu, maupun menggunakan indikator teknis. Indikator teknis merupakan perhitungan matematis terhadap harga atau volume transaksi saham yang hasilnya dapat digunakan untuk memahami kecenderungan harga saham. Regresi ridge merupakan suatu metode regresi yang mampu mengatasi masalah dimana variabel-variabel regresornya tidak bebas linier. Regresi kernel ridge merupakan kombinasi antara regresi ridge dengan metode kernel dengan tujuan agar dapat memberikan hasil prediksi yang lebih baik. Pada skripsi ini, metode regresi ridge dan regresi kernel ridge akan diimplementasikan untuk memprediksi harga saham pada 12 perusahaan. Hasil percobaan menunjukkan bahwa metode regresi kernel ridge memberikan akurasi yang lebih baik daripada metode regresi ridge untuk beberapa perusahaan.
Abstract There are various way for predicting stock prices, some using time series analysis, past stock prices, or technical indicator. Technical indicator is a mathematical calculation over the stock prices or stock transaction volume that can be used to understand the stock price trend. Ridge regression is a regression method that can be used to solve the problem when some of the regressor variables are linearly dependent. Kernel ridge regression is a combination of ridge regression and kernel method in purpose to get better prediction. This skripsi will implement ridge regression and kernel ridge regression for stock prices forecasting of 12 companies. The result shows that kernel ridge regression gives better accuracy for stock price forecasting than ridge regression for some companies. Keywords: technical indicator, ridge regression, kernel method, kernel ridge regression
1. PENDAHULUAN Menurut Bursa Efek Indonesia (BEI), terdapat dua buah keuntungan dan dua buah resiko bagi pemegang saham[1]. Keuntungan bagi pemegang saham adalah: 1. Menerima dividen atau pembagian keuntungan perusahaan. 2. Menerima capital gain, yaitu pada saat pemegang saham menjual saham dengan harga yang lebih tinggi daripada harga beli saham tersebut. Sedangkan resiko dari pemegang saham adalah: 1. Menerima capital loss, yaitu pada saat pemegang saham menjual saham dengan harga yang lebih rendah daripada harga beli saham tersebut. 2. Resiko likuidasi, yaitu pada saat perusahaan yang sahamnya dimiliki dinyatakan bangkrut oleh pengadilan. Dalam aktivitas perdagangan saham, hargaharga saham mengalami fluktuasi. Fluktuasi ini terjadi karena adanya penawaran dan permintaan atas saham tersebut [1]. Salah satu cara untuk
memprediksi kecenderungan harga saham adalah dengan menggunakan analisis teknis. Analisis teknis merupakan studi tentang aksi pasar menggunakan bantuan grafik dengan tujuan untuk memprediksi kecenderungan harga yang akan datang [2]. Grafik yang digunakan merupakan grafik dari nilai indikator-indikator teknis. Indikator teknis adalah perhitungan matematis yang dapat diterapkan pada harga atau volume transaksi saham [3]. Terdapat lebih dari 100 indikator teknis yang telh dikembankan untuk memperoleh informas tentang kecenderungan pasar [4]. Di sisi lain, regresi ridge merupakan salah satu metode regresi yang dapat digunakan pada datadata yang beberapa komponennya tidak saling bebas linier [5]. Regresi kernel ridge merupakan perpaduan antara regresi ridge dengan metode kernel. Pada metode kernel , data input terlebih dahulu dipetakan ke sebuah ruang fitur ℱ , lalu metode regresi ridge diterapkan pada hasil peta data input dengan cara sedemikian sehingga fungsi pemetaannya tidak perlu dihitung, tetapi yang dihitung adalah nilai fungsi kernel yang merupakan hasil kali dalam antara dua data yang diproyeksikan [6].
Implementasi Regresi ..., Alfian Rizqy Tanjung, FMIPA, 2013
Metode-metode yang pernah digunakan untuk memprediksi harga saham antara lain menggunakan neural network [7], support vector regression [4, 8], dan effective clustering method [9]. Sedangkan metode regresi kernel ridge pernah digunakan untuk memprediksi nilai variabel-variabel ekonomi makro Amerika Serikat [10]. Pada makalah ini, bagian 1 akan membahas tentang pendahuluan, bagian 2 akan membahas tentang regresi ridge dan regresi kernel ridge, bagian 3 akan membahas sekilas tentang indikator teknis yang digunakan, bagian 4 akan membahas tentang implementasi dan hasil implementasi, dan bagian 5 berisi kesimpulan dan saran.
2. REGRESI RIDGE DAN REGRESI KERNEL RIDGE 2.1 REGRESI RIDGE Regresi ridge merupakan salah satu metode yang digunakan untuk mengatasi masalah multicollinearity, dimana dua atau lebih variabel regresornya tidak bebas linier sehingga menyebabkan matriks ! ! ! tidak dapat dibalik [5]. Masalah multicollinearity dapat menyebabkan beberapa masalah, salah satunya adalah variansi dari ! menjadi terlalu besar. Jika data sampel atau data training yang berbeda dari satu populasi atau himpunan data yang sama digunakan untuk membuat model regresi, maka nilai ! antara kedua model regresi dapat berbeda jauh [5]. Regresi ridge mengatasi masalah multicollinearity dengan cara membatasi variansi dari ! . Variansi dari ! dibatasi dengan cara membatasi nilai ! ! agar selalu lebih kecil dari nilai suatu konstanta !. Sehingga untuk mencari nilai taksiran untuk ! pertama didefinisikan masalah meminimumkan jumlah error kuadrat sebagai berikut [6]: !
min ! ! = !!! !! = !! ! = ! − !! ! (! − !!) dengan kendala: ! ! < !
(2.1)
!
! − !! + λ( !
!
− !)
(2.2)
Misalkan !! merupakan penaksir untuk ! yang meminimumkan (2.2), maka dengan menurunkan (2.2) terhadap ! lalu hasil turunannya disamakan dengan !, didapat persamaan berikut [6]: !! = ! ! ! + λ!
!!
!!!
! = ! ! !!
(2.4)
2.2 METODE KERNEL Misalkan terdapat himpunan ! = [!! , ! ! , … , ! ! ] yang merupakan himpunan data input atau data hasil observasi. Anggap bahwa ! ! ∈ ! dimana ! adalah himpunan dari semua kemungkinan data hasil observasi. ! selanjutnya disebut sebagai ruang input. Mayoritas dari metode-metode yang ada untuk menganalisis data mengharuskan untuk mendefinisikan representasi dari setiap ! ! ∈ ! sebagai sebuah pemetaan sebagai berikut [11]: !: ! ⟶ ℱ (2.5) ! ⟼ !(!) Seluruh anggota dari himpunan ! kemudian dipetakan menggunakan pemetaan (2.5) sehingga didapat himpunan Selanjutnya !(!) = [!(!! ), !(! ! ), … , !(! ! )] . anggota dari himpunan !(!) inilah yang digunakan dalam algoritme atau metode untuk menganalisis data [11]. Metode kernel tidak menggunakan pepemetaan (2.5) secara eksplisit untuk merepresentasikan setiap data ! ! ∈ ! sebagai !(! ! ) ∈ ℱ, tetapi didefinisikan sebuah fungsi kernel bernilai riil [11]: ! ∶ !×! → ℝ
(2.6)
Sehingga himpunan data ! sekarang direpresentasikan sebagai sebuah matriks kernel ! berukuran !×!, dimana ! !, ! = !(! ! , !! ). Matriks kernel inilah yang selanjutnya digunakan dalam algoritme atau metode untuk menganalisis data [11]. Definisi 2.1 Sebuah fungsi ! ∶ !×! → ℝ yang simetris, yaitu ! ! ! , !! = ! !! , ! ! untuk setiap ! ! , !! ∈ !, dan semidefinit positif, yaitu: !
!
!! !! ! ! ! , !! ≥ 0
Menggunakan metode pengali Lagrange maka permasalahan (2.1) menjadi: min ! ! = ! − !!
Sehingga jika diberikan sebuah vektor !, maka nilai prediksi ! didapat dengan menghitung:
!!! !!!
untuk sebarang ! > 0, !! , ! ! , … , ! ! ∈ !, dan !! , !! , … , !! ∈ ℝ merupakan fungsi kernel yang semidefinit positif. Fungsi kernel yang semidefinit positif ini selanjutnya disebut fungsi kernel [11]. Teorema 2.2 Untuk setiap kernel ! pada ruang !, maka pasti akan ada ruang Hilbert ℱ dan sebuah pemetaan !: ! → ℱ sedemikian sehingga: ! ! ! , !! = ! ! ! , !(!! )
(2.3)
Implementasi Regresi ..., Alfian Rizqy Tanjung, FMIPA, 2013
untuk ! ! , !! ∈ !, dimana !, ! merepresentasikan hasil kali dalam pada ruang Hilbert untuk setiap !, ! ∈ ℱ [11]. Teorema 2.2 telah dibuktikan oleh Taylor dan Cristianini [6]. Proposisi 2.3 Algoritme apapun untuk data yang berbentuk vektor yang dapat diekspresikan dalam bentuk hasil kali dalam antar vektor data, dapat dilakukan secara implisit pada ruang fitur ℱ dengan mensubstitusikan nilai dari hasil kali dalam antar vektor di ruang ℱ dengan nilai fungsi ! [11]. Teorema 3.2 dan proposisi 3.3 memungkinkan untuk melakukan klasifikasi ataupun prediksi menggunakan metode tertentu dalam ruang fitur ℱ tanpa melakukan pemetaan ! secara eksplisit. Pemetaan ! secara eksplisit terkadang memberikan beban komputasi yang besar. Terdapat contoh perbandingan antara perhitungan hasil kali dalam yang menggunakan pemetaan ! secara eksplisit dibandingkan dengan hanya menghitung nilai fungsi kernel yang bersesuaian pada [10]. Pada beberapa pemetaan, datadipetakan ke ruang yang berdimensi tak-hingga, sehingga akan sangat sulit untuk menghitung hasil kali dalam antar data hasil proyeksi, tetapi hal ini dapat diselesaikan dengan menggunakan fungsi kernel yang bersesuaian. Salah satu contoh adalah fungsi kernel Gaussian [6,10]. Pada makalah ini, fungsi kernel yang akan digunakan adalah fungsi kernel Gaussian: ! ! ! − !! (2.7) ! ! ! , !! = !"# − 2! ! 2.3 REGRESI KERNEL RIDGE Pada regresi kernel ridge, pembuatan model regresi dan pencarian nilai penaksir !! dilakukan dalam ruang fitur ℱ. Berdasarkan teorema 2.2 dan proposisi 2.3, perhitungan untuk mencari nilai penaksir !! dan memprediksi data dapat dilakukan menggunakan bantuan fungsi kernel ! yang bersesuaian dengan pemetaan ! . Secara eksplisit, jika setiap data ! ! ∈ ! dipetakan ke ruang fitur ℱ menggunakan pemetaan (2.5), maka persamaan (2.3) dan persamaan (2.4) menjadi: ! = ! ! ! + λ!! !
! = ! ! !
!!
!!!
(2.8) (2.9)
Dimana ! adalah matriks yang baris-barisnya berisi pemetaan dari !! , ! ! , … , ! ! ∈ ! menggunakan pemetaan (2.5) [6] dan ! adalah penaksir untuk !.
Pada persamaan (2.8), perlu dilakukan perhitungan invers matriks berukuran !×! tergantung pendefinisian pemetaan (2.5). jika data dipetakan ke ruang yang berdimensi lebih tinggi ataupun tak hingga, maka akan sangat sulit untun dilakukan perhitungan invers. Untuk menghindari hal tersebut, dilakukan manipulasi aljabar pada persamaan (2.8) agar perhitungan invers matriks tetap dapat dilakukan dengan ukuran matriks yang hingga [10]. Sehingga didapat: ! = ! ! !! ! + λ!!
!!
!
! = ! ! ! ! ! !! ! + λ!!
(2.10) !!
!
(2.11)
Persamaan (2.11) inilah yang digunakan untuk mencari nilai prediksi jika diberikan sebuah data !.
3. INDIKATOR TEKNIS Indikator teknis adalah perhitungan matematis yang dapat diterapkan pada harga atau volume transaksi saham, hasilnya adalah sebuah nilai yang dapat digunakan untuk mengantisipasi kecenderungan harga yang akan datang [3]. Terdapat lebih dari 100 indikator teknis yang telah dikembangkan untuk mendapatkan gambaran mengenai kecenderungan pasar. Beberapa diantaranya fokus kepada fluktuasi harga sedangkan beberapa yang lainnya berfokus kepada waktu yang tepat untuk menjual atau membeli saham [4]. Indikator-indikator teknis yang akan digunakan dalam makalah ini adalah Simple Moving Average (SMA), Exponential Moving Average (EMA), Chaikin Money Flow (CMF), Relative Strength Index (RSI), Bollinger Bands® (BB), Moving Average Convergence-Divergence (MACD), dan Volume Rate-of-Change (V). Penjelasan lebih lanjut mengenai indikator-indikator ini dapat ditemukan di [2,3,12].
4. IMPLEMENTASI Pada implementasi, digunakan model heuristik sebagai model masalah memprediksi harga saham. Diasumsikan bahwa harga saham pembukaan pada suatu waktu bergantung pada nilai-nilai dari indikator teknis pada waktu sebelumnya Model heuristik ini memiliki bentuk sebagai berikut: !"#$(!) = !(1, !"!!!! , !!!! , !"!!!! , !!!!! , !"#!!!! , !"!!!! )
(4.1)
Data harga saham yang digunakan merupakan data harga saham yang diunduh dari situs finance.yahoo.com pada tanggal 10 Juni 2013. Data ini terdiri atas 12 perusahaan, yaitu:
Implementasi Regresi ..., Alfian Rizqy Tanjung, FMIPA, 2013
Nilai konstanta ! yang digunakan adalah ! = 10!! , nilai ini dipilih setelah sebelumnya dilakukan percobaan menggunakan berbagai nilai !. Nilai konstanta ! untuk fungsi kernel Gaussian pada persamaan (2.7) dipilih berdasarkan nilai ! yang memiliki hasil terbaik antara beberapa nilai !. Data training yang digunakan adalah sebesar 10%, 20%, …, 90% dari keseluruhan jumlah data pada dataset suatu perusahaan. Ukuran baik didefinisikan berdasarkan mean square error (MSE) yang paling kecil. Akurasi rata-rata dihitung menggunakan rata-rata dari error relatif yang dimodifikasi agar skalanya berubah menjadi 1 sampai 100. Jadi, untuk setiap perusahaan diimplementasikan metode regresi ridge dan metode regresi kernel ridge atas poin berikut: • Jumlah data training yang berbeda-beda • Nilai ! yang berbeda-beda (khusus untuk metode regresi kernel ridge) Berikut adalah tabel hasil rata-rata terbaik dari implementasi metode regresi ridge dan metode regresi kernel ridge atas 12 perusahaan dengan jumlah data training yang berbeda-beda:
• Activision Blizzard, Inc. • Apple Inc. • Google, Inc. • Intel Corporation • Microsoft Corporation • NVIDIA Corporation • The Boeing Company • Yahoo! Inc • Chevron Corporation • Bank Central Asia Tbk. • Indosat Tbk. • Bank Mandiri (Persero) Tbk. Selanjutnya dibentuk dataset baru yang terdiri atas sebuah vektor ! dan sebuah matriks ! dari setiap perusahaan dengan mengikuti model (4.1). data yang digunakan dalam implementasi adalah sebanyak 360 buah data yang terbaru. Dataset dari masing-masing perusahaan ini selanjutnya akan dibagi menjadi dua bagian, yaitu data training untuk mencari bentuk model regresi ridge (persamaan (2.3)) dan model regresi kernel ridge (persamaan (2.11)).
Tabel 1 Hasil implementasi metode regresi ridge dan metode regresi kernel ridge Regresi Ridge
Dataset
Akurasi
APPLE
97.95%
BCA
96.21%
MSE
Regresi Kernel Ridge Nilai !
Akurasi
MSE
292.055 314881.355
1000
98.25%
5000
83.43%
153.368 7486323.010
100
95.26%
1.502
300
96.92%
18.088
BLIZZARD
94.57%
BOEING
98.48%
0.789 3.442
CHEVRON
98.89%
3.702
300
98.25%
9.721
GOOGLE
98.52%
203.900
2000
96.93%
1234.968
INDOSAT
96.61%
70153.880
5000
93.72%
286565.882
INTEL
96.58%
1.089
100
96.99%
0.847
MANDIRI
96.06%
175799.706
5000
83.68%
6046241.356
MICROSOFT
97.49%
1.994
200
98.48%
0.356
NVIDIA
95.43%
0.570
100
96.70%
0.372
YAHOO
94.11%
2.295
100
93.68%
5.023
Rata-rata
96.74%
46778.73142
94.36%
1151712.874
Berdasarkan hasil percobaan pertama, dapat dilihat bahwa metode regresi kernel ridge belum mencapai hasil optimal pada data harga saham perusahaan dalam negeri (keoptimalan masih mungkin dicapai dengan mengganti nilai !).
Berikut adalah tabel hasil rata-rata terbaik dari implementasi metode regresi ridge dan metode regresi kernel ridge dengan tidak menyertakan hasil dari perusahaan dalam negeri:
Tabel 2 Hasil implementasi metode regresi ridge dan metode regresi kernel ridge Dataset
Regresi Ridge
Regresi Kernel Ridge
Implementasi Regresi ..., Alfian Rizqy Tanjung, FMIPA, 2013
Akurasi
MSE
Akurasi
MSE
APPLE
97.95%
292.055
1000
98.25%
153.368
BLIZZARD
94.57%
0.789
100
95.26%
1.502
BOEING
98.48%
3.442
300
96.92%
18.088
CHEVRON
98.89%
3.702
300
98.25%
9.721
GOOGLE
98.52%
203.900
2000
96.93%
1234.968
INTEL
96.58%
1.089
100
96.99%
0.847
MICROSOFT
97.49%
1.994
200
98.47%
0.356
NVIDIA
95.43%
0.570
100
96.70%
0.372
YAHOO
94.11%
2.295
100
93.68%
5.023
Rata-rata
96.89%
56.648
5. Kesimpulan Dari hasil implementasi, didapat bahwa Metode regresi kernel ridge memberikan akurasi yang lebih baik daripada metode regresi ridge pada lima dataset (APPLE, BLIZZARD, MICROSOFT, INTEL, dan NVIDIA) Pada percobaan implementasi ini metode regresi kernel ridge menghasilkan akurasi yang tidak jauh berbeda dibandingkan metode regresi ridge pada dataset harga saham perusahaan non-Indonesia. Hal yang penting adalah perubahan nilai parameter ! pada fungsi kernel Gaussian yang digunakan pada metode regresi kernel ridge mempengaruhi akurasi dari hasil prediksi
UCAPAN TERIMAKASIH Terima kasih kepada Departemen Matematika FMIPA UI yang telah memfasilitasi penyelesaian makalah ini. Terima kasih kepada Ince dan Trafalis yang makalahnya telah memberikan inspirasi dalam penulisan makalah ini.
DAFTAR ACUAN [1]
Nilai !
Bursa Efek Indonesia, Ekuitas, Bursa Efek Indonesia, http://www.idx.co.id/idid/beranda/informasi/bagiinvestor/saham.aspx , 2013. [2] J.J. Murphy, Technical Analysis of the Financial Market, New York Institute of Finance, New York (1999). [3] S.B. Achelis, Analysis from A to Z (2nd ed), Equis International (2000). [4] H. Ince, and T.B. Trafalis, Kernel principal component analysis and support vector machines for stock price prediction. Proceedings of the 2004 International Joint
96.83% 158.250 Conference, volume 3, 2053-2058. IEEE, 2004. [5] D.C. Montgomery and E.A. Peck, Introduction to Linear Regression Analysis (2nd ed), John Wiley & Sons, Canada (1995). [6] J. Shawe-Taylor and N. Cristianini, Kernel Methods for Pattern Analysis, Cambridge University Press, New York (2004). [7] A. Chen, M.T. Leung, and H. Daouk, Application of neural networks to an emerging market: forecasting and trading the Taiwan Stock Index, Computers & Operation Research. 30 (2003) 901-923. [8] C. Yeh, C. Huang, and S. Lee, A multiplekernel support vector regression approach for stock market price forecasting, Expert System with Applications. 38 (2011) 2177-2186 [9] M.S. Babu, N. Geethanjali, and B. Satyanarayana, Clustering approach to stock market prediction, Advanced Networking and Applications. 03 (2011) 1281-1291. [10] P. Exterkate, P.J.F. Groenen, C. Heij, and D.J.C. Van Dijk, Nonlinear forecasting with many predictors using kernel ridge regression, Tinbergen Instituut Discussion Paper. 11007/4 (2011). [11] J. Vert, T. Koji, & B. Schölkopf (ed), Kernel Method in Computational Biology, MIT Press, Massachusetts (2004). [12] A. Hill, Indicator Analysis, http://wwwstockcharts.com/education/Indicat orAnalysis/index.html.
Implementasi Regresi ..., Alfian Rizqy Tanjung, FMIPA, 2013