BAB III SISTEM MODEL PREDIKSI HARGA SAHAM Penelitian ini telah mengembangkan suatu sistem model untuk prediksi harga saham. Pengembangan sistem model ini didasari pada pemikiran untuk menggabungkan dua pendekatan yang berbeda yaitu pendekatan secara teknikal dan pendekatan secara fundamental. Metoda yang digunakan meggabungkan dua pendekatan tersebut adalah metoda ant system. Penjelasan lebih detil mengenai sistem model yang dikembangkan dapat dilihat pada bab ini. Ilustrasi alur system model prediksi harga saham dapat dilihat pada Gambar III.1. Pada gambar tersebut, secara singkat dapat dijelaskan bahwa perangkat lunak yang dikembangkan untuk prediksi didasarkan pada 3 pendekatan yaitu yang pertama berdasarkan pencocokan dan klasifikasi pola. Pencocokan pola ini menggunakan metoda yang disebut sebagai similar sequence matching (SSM). Seperti yang telah dijelaskan pada bab sebelumnya, metoda similar sequence matching ini melakukan pencarian dan pencocokan pola pada data terdahulu berdasarkan sampel pola yang telah ditentukan, sedangkan parameter untuk mengukur kecocokan digunakan jarak Euclidean. Setelah dikumpulkan sequence/deret data yang memiliki pola yang sama dengan sampel pola selanjutnya diklasifikasikan berdasarkan kelas yang telah ditentukan sebelumnya. Pengelompokan pola ke dalam kelas-kelas dengan cara melihat data pada waktu ke – t+1 (satu step waktu berikutnya) dari tiap pola tersebut. Pendekatan kedua adalah menghitung pengaruh kondisi terkini (antara lain parameter pengukuran kondisi perusahaan, makroekonomi, dan nonekonomi). Pendekatan ketiga merupakan metoda yang digunakan untuk mengkombinasikan dua pendekatan sebelumnya dan untuk menentukan hasil prediksi yaitu menggunakan metode max – min ant system. Penjelasan tentang tiap langkah atau pendekatan dari metodologi akan dijelaskan secara detil pada subbab berikutnya. 22 Gambar III.1 Sistem Model Prediksi Harga Saham. III.1 Representasi Data Data time series dapat dinotasikan sebagai sebuah vektor/matrik x = {xt, t=1,...,n}, dengan x merupakan data observasi yang terurut berdasarkan waktu (time series), t adalah indeks waktu, dan n adalah jumlah observasi/pengamatan. Pada data harga saham, observasi dapat dilakukan berdasarkan harga sesi pembukaan (open) atau penutupan (close), nilai return saham, volume perdagangan, dan harga tertinggi atau terendah. Dalam tesis ini, data diamati berdasarkan nilai return ( Rt ) dari harga saham pada sesi penutupan. 23 III.2 Pattern Classification (Proses 1) a) Sampel Pola Sampel pola atau Query Sequence (penamaan oleh Yang Sae Moon[35]) digunakan sebagai acuan pola untuk melakukan proses pattern classification harga saham. Penentuan sampel pola adalah sebagai berikut 1. misalkan direpresentasikan data time series sebagai x = (x1, x2,…,xn), maka current state direpresentasikan oleh nilai xn dan n menunjukkan total jumlah data observasi. Deret data juga dapat direpresentasikan sebagai fungsi waktu, misalkan xn = xt, xn-1 = xt-1, dan seterusnya, 2. kemudian menentukan nilai h dari vektor x. Nilai h merupakan jumlah banyaknya urutan data terakhir yang digunakan sebagai sampel pola. Misalkan h = 6, maka sampel pola adalah ξ = (xn-5 ,xn-4 ,xn-3 ,xn-2,x n-1, xn). b) Metoda Similar Sequence Matching (SSM) Pada tahap ini dilakukan proses pencarian pola yang sama dengan sampel pola dari data time series. Berikut ini dipaparkan algoritma SSM. Algoritma Similar Sequence Match Input : Vektor S sebagai sequence data Sawal. Vektor Q sebagai sampel pola (query sequence). Nilai J untuk penentuan sliding window Output : Matrix subsequence dari S yang ε-match dengan Q dan indeks S[j] dari subsequence S. Algoritma: 1. Hitung ukuran vektor dari Sawal. 2. Hitung ukuran vektor dari Q (=Len(Q)). 3. Bagi Sawal ke dalam subsequence berdasarkan J-sliding windows dan Len(Q). 24 4. Masukkan SiJ dalam suatu matriks dengan ukuran baris sama dengan banyak sliding window dan ukuran kolom sama dengan Len(Q). 5. Iterasikan sebanyak ukuran baris - Ambil vektor pada matriks di tiap baris - Hitung D(S[i:j,Q] dan cek apakah D ≤ ε o Jika iya maka S[i:j] adalah ε-match Q, masukkan S[i:j] ke suatu Matriks A dan catat indeks S[j] pada sequence S. 6. Return : Matriks A dan Vektor indeks dari S[j] (dari S[i:j] yang ε-match dengan Q). c) Klasifikasi Data Berdasarkan Kelas Tahap ini bertujuan untuk mengetahui frekuensi terjadinya harga saham tentu setelah terjadinya deret harga saham yang memiliki pola yang sama dengan sampel pola. Setelah ditemukan adanya deret data yang sama dengan sampel pola (pada proses SSM) dilakukan pengelompakan harga saham pada waktu berikutnya (waktu ke t+1) ke dalam kelas yang telah ditentukan. Kelas didefinisikan oleh range/selang return harga/indeks saham. Pada model ini pembagian class didefinisikan adalah sebagai berkut: • class i = harga saham dengan nilai return a-(i*0.15)≥ Rt >b-(i*0.15), dengan a = 8.1000% dan b = 7.95000% dan untuk i = 1…54, • class 55 = harga saham dengan nilai return =0%, • class i = harga saham dengan nilai return a-(i*0.15)> Rt ≥b-(i*0.15), dengan a = 0.0% dan b = -0.15% dan untuk i = 56…109. Catatan : penentuan nilai return ( Rt ) adalah Pt − Pt −1 *100% , dimana P adalah Pt −1 harga saham/indeks saham. 25 III.3 Prediksi Berdasarkan Data Terdahulu Setelah dilakukan proses mengelompokan pola, langkah selanjutnya dihitung peluang kemunculan pada tiap kelas yang mencerminkan frekuensi kemunculan harga saham/kelas tertentu. Peluang suatu kelas tertentu dihitung dengan membandingkan/membagi jumlah anggota class tersebut dengan total anggota pada semua kelas. Hasil proses ini digunakan sebagai masukan dari fungsi probabilistic transition rule di metoda ant system. III.4 Perhitungan Pengaruh Faktor Eksternal Seperti telah dijelaskan pada bab terdahulu bahwa terdapat banyak sekali faktor yang mempengaruhi pergerakan harga saham. Pada model ini, faktor kondisi terkini yang terlibat menjadi nilai heuristic dalam software adalah 1. kondisi Perusahaan a. Devidend yield (Dy). b. Devidend per Share (Dps). c. Earning per Share (Ep). d. Price Earning Ratio (Per). 2. aktifitas Makroekonomi. a. Tingkat Inflasi (In). b. Kapasitas Produksi Industri (Pi). c. Money Supply (Mo). d. Suku Bunga Bank Indonesia (Bb). e. Harga Minyak Dunia (O). f. Nilai Tukar Rupiah (Tr). 26 3. berita Nonekonomi a. Kondisi Sektor Minyak, Gas dan Pertambangan (Smg). b. Pergerakan Indeks Saham Luar Negeri (Il). c. Berita Luar Negeri (Kln). d. Kebijakan Makroekonomi Amerika Serikat (Kus). e. Berita Dalam Negeri (Pdn). f. Berita lainnya yang terkait. Faktor-faktor tersebut di atas dituliskan dalam sistem linear, sebagai berikut: Fe = α .Eee + β .Kp α +β (3.1) dengan ⎛ α .In + α2 .Pi + α3.Mo + α4 .Bb + α5 .O + α6 .Tr + α7 .Smg + α8 .Il + α9 .K ln+ α10 .Kus + α11.Pdn + α12 .Dll ⎞ Eee = ⎜ 1 ⎟ α1 + α2 + α3 + α4 + α5 + α6 + α7 + α8 + α9 + α10 + α11 + α12 ⎝ ⎠ (3.2) ⎛ β .Dy + β 2 .Dps + β 3 .Ep + β 4 .Per ⎞ Kp = ⎜ 1 ⎟ β1 + β 2 + β3 + β 4 ⎝ ⎠ (3.3) dimana Fe = Pengaruh dari faktor kondisi terkini. Eee = Pengaruh dari aktifitas makroekonomi dan berita non ekonomi Kp = Pengaruh dari kondisi perusahaan In = Tingkat Inflasi Pi = Kapasitas Produksi Industri Mo = Maney Supply 27 Bb = Suku Bunga BI O = Harga Minyak Dunia Tr = Nilai Tukar Rupiah Smg = Kondisi Sektor Minyak, Gas, dan Pertambangan Il = Pergerakan Indeks Saham Luar Negeri K ln = Berita Luar Negeri Kus = Kebijakan Makroekonomi Amerika Serikat Pdn = Berita Dalam Negeri Dll = Berita lainnya yang terkait Dy = Devidend yield Dps = Devidend per Share Ep = Earning per Share Per = Price Earning Ratio α , α1 , α 2 , α 3 , α 4 , α 5 , α 6 , α 7 , α 8 , α 9 , α10 , α11 , α12 = Koefisien faktor makroekonomi dan nonekonomi. β , β1 , β 2 , β 3 , β 4 = Koefisien faktor kondisi perusahaan Beberapa penelitian menunjukkan bahwa bobot komposisi yang menunjukkan besarnya pengaruh terhadap nilai return saham di tiap bursa berbeda-beda, bahkan untuk satu periode waktu tertentu juga berbeda-beda. Oleh karena itu, untuk merepresentasikan psikologi pasar terhadap faktor kondisi terkini maka nilai tiap faktor merupakan nilai secara kualitatif dengan selang nilai antara -1 s/d 1. Secara gradual nilai -1 menunjukkan bahwa faktor tersebut paling melemahkan harga saham atau mendorong penurunan nilai return saham, sedangkan nilai 1 menunjukkan bahwa kondisi saat ini mendorong kenaikan nilai return saham. 28 Sedangkan nilai 0 dapat menunjukkan bahwa faktor tersebut tidak berpengaruh atau tidak terdapat/diketahui datanya. Dengan penentuan bobot tiap fariabel dan nilai faktor dari masukan user, akan diperoleh suatu nilai Fe bernilai positif atau negatif dengan selang nilai antara 1 s/d -1. Jika Fe bernilai positif maka nilai Fe akan digunakan sebagai nilai heuristik untuk class yang merepresentasikan harga saham mengalami kenaikan, sedangkan jika nilai Fe bernilai negatif maka nilai ini akan digunakan sebagai nilai heuristik untuk class yang merepresentasikan harga saham mengalami penurunan. Detil perhitungan pengaruh faktor kondisi terkini pada fungsi heuristic akan dijelaskan pada subbab fungsi heuristic. III.5 Metode Max – Min Ant System Dalam bab ini akan dijelaskan tahapan dari metode Max – Min Ant System, yaitu sebagai berikut 1. konstruksi graph yang merepresentasikan masalah, 2. pengembangan model transition rule, 3. pengembangan model pheromone updating, 4. metoda pemberhentian. Metoda pemberhentian pada model ini menggunakan kriteria maksimum iterasi. Masing-masing akan dijelaskan pada tiap subbab berikutnya. III.5.1 Konstruksi Graph Permasalahan prediksi harga saham sebenarnya merupakan permasalahan kontinu, karena nilai saham yang diprediksi merupakan nilai yang kontinu. Untuk mempermudah dalam pengembangan model, maka persoalan kontinu ini ditransformasikan menjadi persoalan diskrit, yaitu dengan membagi nilai return saham yang diprediksi ke dalam class-class yang masing-masing memiliki rentang nilai return saham. Oleh karena itu, pada model ini dibangun graph 29 dengan 3 lapisan yaitu lapisan level 0, level 1, dan level 2. Level 0 merupakan representasi dari ‘current state’ atau kondisi harga terakhir. Sedangkan level 1 dan 2 merupakan kondisi prediksi yang mungkin terjadi berdasarkan pembagian class yang telah ditentukan. Berikut ini ilustrasi konstruksi graph yang digunakan dalam model. Gambar III.2 Konstruksi Graph dari Metode Ant System. Dari ilustrasi pada gambar di atas, terlihat bahwa pada level 1 terdiri dari 3 titik yaitu naik, tetap, dan turun. Hal ini merepresentasikan klasifikasi umum dari kondisi harga saham. Sedangkan pada level 2 terdiri dari 109 class. Pembagian level 2 ini berdasarkan pada pembagian class pada proses sebelumnya (proses pattern classification). III.5.2 Model Transition Rule Fungsi Heuristik (η) 30 Nilai heuristik ini diperlukan sebagai bahan pertimbangan di dalam melakukan prediksi harga saham. Dalam kasus ini, heuristik yang dipakai adalah kombinasi dari nilai peluang/frekuensi kemunculan suatu harga saham tertentu melalui proses klasifikasi pola (proses 3) dan nilai hasil perhitungan dari formula faktor kondisi terkini (current condition) (proses 4). Berdasarkan uraian sebelumnya, Fe sebagai nilai faktor kondisi terkini dengan nilai Fe berada pada selang antara - 1 dan 1. Untuk mendapatkan distribusi heuristic dari pengaruh kondisi terkini, digunakan formula sebagai berikut j = round (− Fe * 54) + 55 (3.4) ⎛ j− p ⎞ HFeij = ⎜1 − ⎟ , untuk p = j − k , p > 0, k = 1...10 ⎜ ⎟ 10 ⎝ ⎠ (3.5) dan ⎛ j− p ⎞ HFeij = ⎜1 − ⎟ , untuk p = j + k , p ≤ n, k = 1...10 ⎜ ⎟ 10 ⎝ ⎠ (3.6) dengan HFeij adalah nilai heuristic untuk kondisi terkini pada segmen yang berujung pada class j. n adalah banyaknya class yang telah ditentukan (yaitu 109 class). Jika misalkan Pc merupakan peluang/frekuensi kemunculan suatu harga saham yang merupakan hasil dari proses 3 maka akan diperoleh formula heuristic η adalah sebagai berikut ηij = a1 Pcij + a2 HFeij a1 + a2 (3.7) 31 dimana a1 dan a2 adalah bobot dari masing masing faktor (dengan nilai default adalah a1 = 1 dan a2 = 1.5). Sehingga diperoleh nilai η selalu berkisar antara 0 dan 1 untuk tiap classnya. Sedangkan nilai heuristic pada segmen/edge yang menghubungkan level 0 dan level 1 merupakan penjumlahan nilai heuristic dari η pada tiap class. Model Transition Rule Berdasarkan nilai heuristik pada persamaan 3.7, diperoleh model transition rule sebagai berikut: β ⎡ a Pc + a2 HFeij ⎤ ⎡⎣τ ij (t ) ⎤⎦ ⎢ 1 ij ⎥ a1 + a2 ⎣ ⎦ k Pij (t ) = β α ⎡ a1 Pcij + a2 HFeij ⎤ ∑ t∈ jik ⎡⎣τ ij (t )⎤⎦ ⎢ a + a ⎥ 1 2 ⎣ ⎦ α (3.8) Dimana • τ ij (t ) adalah pheromone trail, untuk iterasi pertama τ ij (t ) diinisialisasi oleh τ 0 (dengan nilai default sama dengan 0.05). • Pc adalah peluang/frekuensi kemunculan suatu harga saham tertentu melalui proses klasifikasi pola (proses 3). • HFe adalah nilai heuristic pada tiap class. • α dan β adalah parameter yang mengkontrol bobot relatif antara intensitas trail/pheromone( τ ij (t ) ) dan nilai heuristic (η) (dengan nilai default adalah α = 1 dan β = 1). III.5.3 Model Pheromone Updating Secara umum, updating pheromone pada ant system dilakukan dengan dua fase yaitu evaporation (penguapan) dan reinforcement (penambahan). Dengan mengaplikasikan ide dari ant system dengan metoda max – min[33], proses updating pheromone adalah sebagai berikut : - Evaporation (penguapan) 32 Penguapan pheromone dalam ant system dilakukan dengan mengurangi tingkat pheromone pada tiap trail, yaitu dengan mengikuti formula sebagai berikut : τ ij (t + 1) = ρ.τ ij (t ) (3.9) Dengan ρ adalah faktor evaporation, pada umumnya berkisar antara 0.8 dan 0.99[31]. - Reinforcement Pada model ini, dikembangkan dua cara untuk melakukan reinforcement, yaitu a) Reinforcement pada edge level 0 - level 1 Jenis reinforcement ini diimplementasikan ketika mendapatkan path/trail terbaik pada edge level 0 – level 1. Path terbaik ditandai dengan jumlah ant terbanyak yang melewati path yang sama. Formula reinforcement adalah sebagai berikut : ⎧ mij , jika (i, j ) ∈ P (t ) ⎪ ⎪ mtot best Δ cov (t ) = ⎨ ⎪ ⎪⎩ 0 (3.10) Dengan P (t ) adalah path terbaik yang menghubungkan level 0 – level 1, pada iterasi ke – t. b) Reinforcement untuk global path terbaik Reinforcement ini diimplementasikan pada path terbaik untuk tiap iterasi. Path ini ditandai dengan jumlah ant terbanyak yang melewati path yang sama pada tiap iterasinya. 33 ⎧ mij * (1 + ρ ), jika (i, j ) ∈ T (t ) ⎪ ⎪ mtot best Δ c (t ) = ⎨ ⎪ ⎪⎩ 0 (3.11) dengan T (t ) adalah global path terbaik pada iterasi ke-t. Latar belakang pembagian dua jenis reinforcement ini adalah untuk mengantisipasi jika semut-semut yang melewati path terbaik tidak melewati edge mayoritas terlewati pada level 0 – level 1. Dari proses evaporation dan reinforcement diatas, formula pheromone updating adalah sebagai berikut : best τ ij (t + 1) = ρ.τ ij (t ) + Δbest cov (t ) + Δ c (t ) (3.12) Batasan τ (Konsep Max – Min) Batasan dalam implementasi max – min ant system adalah adanya batasan atas τ ( τ max ) dan batas bawah τ ( τ min ). Dalam model ini, didefinisikan batasan τ sebagai berikut: τ min ⎛ τ0 ⎞ =⎜ ⎟ ⎝ (1 + ρ ) ⎠ τ max 2 ⎛ 10 ⎞ =⎜ ⎟ ⎝1− ρ ⎠ (3.13) 2 (3.14) III.6 Pengukuran Akurasi Prediksi Metoda yang digunakan untuk mengukur akurasi prediksi adalah 1. Pengukuran secara kualitatif. Kriteria pengukuran secara kualitatif adalah sebagai berikut. Pengukuran kualitatif dilakukan dengan cara membanding antara tren harga saham yang direpresentasikan dengan positif atau negatif 34 dari nilai return saham sebenarnya dengan nilai return saham hasil simulasi. a. Baik, jika nilai return sebenarnya terdapat dalam selang/range return dari hasil simulasi. b. Cukup baik, jika nilai return sebenarnya tidak terdapat dalam selang return hasil simulasi, tetapi nilai return sebenarnya memiliki tren yang sama dengan nilai return hasil simulasi. Tren nilai return saham ditandai dengan tanda positif atau negatif dari nilai return. c. Tidak baik, jika nilai return sebenarnya tidak masuk dalam selang dan tidak memiliki tren yang sama terhadap hasil simulasi. 2. Pengukuran secara kuantitatif. Pengukuran secara kuantitatif untuk model prediksi diadopsi dari pengukuran akurasi dengan formula Mean Absolute Deviation (MAD) dan rata - rata percent error, yaitu sebagai berikut: MAD = ∑ x(t ) − x(t ) = ∑ e(t ) (3.15) ⎛ x(t ) − x(t ) ⎞ ⎟ *100% ⎝ x(t ) ⎠ N (3.16) N N dan ∑ abs ⎜ e= dengan x adalah rata-rata nilai return saham hasil simulasi. x adalah nilai return saham sebenarnya. 35