Jurnal Ilmu Komputer dan Sistem Informasi
APLIKASI PERAMALAN HARGA PENUTUPAN DAN PERKIRAAN ARAH PADA ONLINE FOREX Stevanndy Trisdiyanto 1) Chairisni Lubis 2) Bobby Tumbelaka 3) 1)2)3)
Teknik Informatika Universitas Tarumanagara Jl. Letjen S. Parman No 1, Jakarta
Email : 1)
[email protected], 2)
[email protected], 3)
[email protected]
uang akan digunakan indikator Bolliger Bands, indikator DeMarker, indikator Moving Average Convergence/Divergence (MACD) yang ada pada aplikasi online foreign exchange trading. Data masukan yang digunakan berupa nilai-nilai dari pergerakan harga yang terjadi pada hari sebelumnya. Pergerakan harga mengacu pada kombinasi antara harga pembukaan, harga tetinggi, harga terendah, harga penutupan dan volume. Kemudian akan dilakukan proses normalisasi agar data masukan dapat memiliki range nilai yang sama yaitu antara nilai 0 sampai nilai 1. Setelah itu akan dilakukan proses pembelajaran menggunakan algoritma Backpropagation Neural Network. Setelah proses pembelajaran semua data dilakukan, maka selanjutnya dilakukan proses peramalan. Setelah mendapatkan hasil keluaran berupa nilai harga penutupan hari ini, maka selanjutnya akan dikombinasikan dengan hasil perkiraan arah pergerakan harga mata uang yang didapatkan dengan menggunakan tiga indikator yaitu indikator Bolliger Bands, indikator DeMarker dan indikator Moving Average Convergence/Divergence (MACD). Sistem yang dirancang ini mempunyai kegunaan untuk meramalkan nilai harga penutupan dari suatu mata uang dan perkiraan arah pergerakan harga mata uang. Peramalan ini berfungsi untuk mempermudah dalam mendapatkan keuntungan yang maksimal dalam melakukan transaksi online foreign exchange. Hal ini akan sangat membantu dalam pengambilan keputusan dan mengurangi resiko yang akan terjadi karena kesalahan pada saat memprediksi pergerakan arah harga dari suatu mata uang.
ABSTRACT This application uses artificial neural networks that generate value of the closing price on the day and uses three indicators of technical analysis to help estimate the movement of trading foreign currency price. The data used for input values is from price movements that occurred the previous day. Closing price refers to the combination of the opening price, highest price, lowest price, closing price and volume. After getting the value of the output in the form of today's closing price, then the next will be combined with the results of the estimated direction of movement of currency rates obtained by using three indicators : indicators Bollinger Bands, indicators DeMarker and indicators Moving Average Convergence / Divergence (MACD). The test results showed that the percentage of success is good for 85.22% and get a profit $ 9,448. Keyword: Foreign Exchange Forecasting, Backpropagation Neural Network, Technical Analysis Indicators.
1. Pendahuluan Transaksi foreign exchange sekarang ini berkembang cukup pesat di Indonesia, baik sebagai pekerjaan utama atau sekedar ingin mendapatkan penghasilan tambahan. Keuntungan yang cukup besar didapatkan dalam waktu singkat pada saat melakukan transaksi foreign exchange bahkan dapat berkali lipat dari bunga deposito. Namun dibalik hal tersebut disertai juga kemampuannya untuk menyebabkan kerugian dalam waktu singkat[1]. Karena itu tidak semua bisa mendapatkan keuntungan yang maksimal melainkan kerugian yang didapat. Salah satu penyebabnya adalah karena tidak memiliki alasan yang kuat untuk membuka posisi beli atau jual pada online foreign exchange. Karena itu sebagai solusinya, dibutuhkan suatu program aplikasi untuk dapat meramalkan nilai dari harga penutupan dan perkiraan arah pergerakan mata uang pada online foreign exchange. Metode yang digunakan adalah Backpropagation Neural Network untuk meramalkan harga penutupan sedangkan untuk perkiraan arah pergerakan harga mata
2. Landasan Teori 2.1 Analisis Teknikal Analisis Teknikal adalah teknik yang menganalisa pergerakan harga masa lalu untuk memprediksi pergerakan harga dimasa depan[1]. Analisis teknikal dapat diterapkan pada saham, indeks, forex atau instrumen lain yang produknya diperdagangkan secara simultan, dimana harga dipengaruhi oleh permintaan dan penawaran[2]. Selama ini analisis teknikal digunakan hanya untuk memprediksi harga yang akan datang,
177
Jurnal Ilmu Komputer dan Sistem Informasi
apakah akan naik atau turun[3]. Dengan menghubungkan harga penutupan, analisis dapat membuat grafik yang menggambarkan waktu transaksi, volume dan harga sehingga dapat menggambaran pergerakan harga pasar secara keseluruhan. Harga penutupan hari ini mengacu pada harga pembukaan, harga tertinggi, harga terendah, harga penutupan dan volume pada hari sebelumnya.
c.
2. 2.1.1 Indikator Analisis Teknikal Pengambilan keputusan dalam melakukan transaksi hanya menggunakan indikator analisis teknikal. Ada begitu banyak analisis teknikal yang bisa digunakan, namum dalam kesempatan kali ini hanya akan menggunakan analisis melalui indikator Bollinger Bands dan indikator MACD yang sangat mudah digunakan, tetapi memiliki tingkat keakuratan yang layak untuk digunakan[3]. Kemudian akan dilakukan percobaan dengan menggabungkan indikator Bollinger Bands dan indikator MACD dengan indikator DeMarker yang berfungsi untuk mengetahui apakah pergerakan suatu harga sudah terlalu tinggi atau sudah terlalu rendah, sehingga diharapkan akan dapat mengetahui perkiraan pergerakan arah harga dengan sangat baik. Berikut adalah penjelasan mengenai ketiga indikator tersebut[3] : 1. Indikator Bollinger Bands Bollinger Bands merupakan indikator yang dibuat dari dua buah garis yang berbeda pada standar deviasi tertentu dari garis tengah. Garis tengah merupakan nama lain dari Moving Average, sehingga Bollinger Bands memiliki 3 buah garis. Bolligers Bands juga dapat digunakan untuk menentukan puncak batas atas dan bawah dari pergerakan harga[1]. Contoh indikator Bollinger Bands dapat dilihat pada Gambar 1. Bollinger Bands digunakan untuk mengetahui volatilitas suatu harga. Bollinger Bands akan melebar saat harga bergerak fluktuatif, sedangkan akan menyempit bila harga bergerak relatif datar.
dari band bawah menembus garis tengah itu berarti posisi yang diambil adalah buy. Bila sebaliknya harga dari band atas menembus garis tengah itu berarti posisi yang diambil adalah sell. Ketika harga bergerak keluar dari garis atas atau bawah, ada kemungkinan cukup besar pergerakan harga tersebut akan berlanjut.
Indikator MACD Moving Average Convergence/Divergence (MACD) adalah indikator yang sangat berguna. Indikator ini berfungsi untuk menunjukkan trend yang sedang terjadi. Didalam MACD terdapat dua garis yaitu Signal Line yang biasanya berwarna merah, dihitung dari Exponential Moving Average (EMA) dan MACD Line yang dihitung dari pengurangan Exponential Moving Average (EMA). MACD juga dapat digunakan untuk mengetahui kapan waktu untuk menjual atau membeli. Bila MACD line berada di atas signal line, maka saat itu adalah saat untuk membeli. Bila MACD line berada di bawah signal line, maka saat itu adalah saat untuk menjual[1]. Contoh indikator MACD dapat dilihat pada Gambar 2.
Gambar 2 Indikator MACD
Dengan menggabungkan kedua fungsi tersebut, akan dapat mengurangi resiko dan benar-benar yakin akan trend yang terjadi. 3.
Indikator DeMarker DeMarker (DEM) adalah indikator yang diciptakan oleh Tom Demark. Indikator ini berguna untuk mengetahui apakah harga sudah terlalu tinggi atau terlalu rendah[1]. Contoh indikator DeMarker dapat dilihat pada Gambar 3. DeMarker memiliki nilai dari 0 sampai 1. Jika indikator menunjukkan angka pergerakan harga di atas 0.7, harga mungkin sudah mencapai puncak dan berikutnya harga akan turun. Sebaliknya jika indikator menunjukkan angka pergerakan harga di bawah 0.3, harga mungkin sudah mencapai dasarnya, dan berpeluang menuju ke atas.
Gambar 1 Indikator Bollinger Bands
Berikut adalah beberapa tips untuk menggunakan indikator Bollinger Bands[1] : a. Harga selalu berada di antara garis atas dan bawah. b. Biasanya harga bergerak dari band yang satu ke band yang lain. Karena itu garis tengah dapat dijadikan sebagai patokan, dimana jika harga Gambar 3 Indikator DeMarker
178
Jurnal Ilmu Komputer dan Sistem Informasi
Langkah 2:
2.2 Backpropagation Neural Network Metode jaringan saraf tiruan yang digunakan pada aplikasi ini adalah algoritma Backpropagation Neural Network. Metode ini merupakan salah satu metode yang sangat baik dalam menangani masalah pengenalan polapola yang kompleks. Metode Backpropagation Neural Network merupakan metode yang memerlukan taget keluaran (Supervised Learning). Dalam jaringan Backpropagation Neural Network, setiap unit yang berada di lapisan masukan terhubung dengan setiap unit yang ada di lapisan tersembunyi. Setiap unit yang ada di lapisan tersembunyi terhubung dengan setiap unit yang ada di lapisan keluaran. Backpropagation Neural Network adalah sebuah algoritma yang memiliki jaringan Multi Layer. Ketika jaringan diberikan pola masukkan sebagai pola pembelajaran, maka pola tersebut menuju unit-unit lapisan tersembunyi untuk selanjutnya diteruskan pada unit-unit di lapisan keluaran. Kemudian unit-unit lapisan keluaran akan memberikan respon sebagai keluaran jaringan saraf tiruan. Saat hasil keluaran tidak sesuai dengan yang diharapkan, maka keluaran akan disebarkan mundur pada lapisan tersembunyi menuju lapisan masukan[4]. Contoh Arsitektur Backpropagation Neural Network yang digunakan dapat dilihat pada Gambar 4.
(Propagasi maju) Langkah 3:
Langkah 4:
Kerjakan langkah 3 sampai langkah 8 untuk setiap pasangan pelatihan.
Setiap unit masukan (Xi) menerima sinyal masukan xi, dan menyebarkannya ke seluruh unit pada lapisan tersembunyi. Setiap unit pada lapisan tersembunyi menjumlahkan seluruh sinyal yang masuk. _
=
+
(1)
Kemudian setiap unit pada lapisan tersembunyi memakai fungsi aktivasi untuk menghasilkan sinyal keluaran. = ( _
)
(2)
Karena yang digunakan sigmoid biner maka : ( ) =
Langkah 5:
fungsi
(3)
zj didistribusikan ke seluruh neuron pada lapisan keluaran. Setiap unit pada lapisan keluaran menjumlahkan seluruh sinyal yang masuk. _
=
+
(4)
Gambar 4 Arsitektur Backpropagation Neural Network
Setiap unit pada lapisan keluaran memakai fungsi aktifasi untuk menghasilkan sinyal keluaran.
Variabel Backpropagation Neural Network yang digunakan pada saat proses pembelajaran adalah : 1. Jumlah neuron dilapisan masukan adalah 5. 2. Jumlah neuron dilapisan keluaran adalah 1. 3. Jumlah neuron dilapisan tersembunyi 5 dan 15. 4. Learning Rate sebesar 0.1 sampai dengan 0.6. 5. Maksimum epoch sebesar 15000 dan MSE sebesar 0.001.
= ( _ (Propagasi balik) Langkah 6:
Berikut ini adalah algoritma pembelajaran Backpropagation Neural Network[5] : Langkah 0: Inisialisasi bobot keterhubungan antara neuron dengan menggunakan bilangan acak kecil (-0.5 sampai +0.5). Langkah 1: Kerjakan langkah 2 sampai langkah 9 selama kondisi berhenti yang ditentukan tidak dipenuhi.
)
(5)
Setiap unit pada lapisan keluaran menghitung informasi error antara sinyal yang dihasilkan dengan target dari pola. =(
−
) ′( _
)
(6)
Menghitung koreksi bobot. ∆
179
= #
(7)
Jurnal Ilmu Komputer dan Sistem Informasi
Menghitung koreksi bias. ∆
Langkah 7 :
= #
Winters yang dapat dipakai untuk bermacam pola. Persamaan dasar dari kedua model diatas sebagai berikut[6] : Multiplicative Model:
(8)
Mengirimkan δk ke unit yang terdapat pada lapisan tersembunyi. Setiap unit pada lapisan tersembunyi menjumlahkan seluruh sinyal yang masuk. _
=
$
(9)
Lt=∝ (Yt/St-p)+(1-∝)(Lt-1+Tt-1)
(15)
Tt= -(Lt-Lt-1)+(1- -)Tt-1
(16)
St= .(Yt/Lt)+(1- .)St-p
(17)
Ŷt=(Lt-1+Tt-1)St-p
(18)
Additive Model: Setiap unit pada lapisan tersembunyi menghitung informasi error. =
′
(
)
(10)
Menghitung koreksi bobot. = #
∆
(11)
= #
(12)
(Penyesuaian bobot) Langkah 8: Update bobot dan bias pada hubungan antar lapisan. (&'()) =
(&'()) =
(*'+') + ∆
(*'+') + ∆
(19)
Tt= -(Lt-Lt-1)+(1- -)Tt-1
(20)
St= .(Yt-Lt)+(1- .)St-p
(21)
Ŷt=Lt-1+Tt-1+St-p
(22)
Keterangan: Lt Tt St Ŷt Yt ∝ ,. ,-
Menghitung koreksi bias. ∆
Lt=∝ (Yt-St-p)+(1-∝)(Lt-1+Tt-1)
= nilai level ketika t = nilai trend ketika t = nilai seasonal ketika t = nilai ramalan ketika t = data aktual = alpha,beta,gamma pada kromosom i
2.4 Time Series Analysis Moving Average (13) Moving Average didapatkan dengan mencari nilai mean (rata-rata) untuk nilai set tertentu dan kemudian digunakan untuk peramalan periode selanjutnya. Moving Average lebih cocok digunakan untuk meramalkan data yang berpola stationer (pola yang stabil). Persamaan dasar dari model Moving Average adalah sebagai berikut[7] :
(14)
Keterangan : x = vektor input y = vektor output δk = nilai koreksi kesalahan untuk lapisan keluaran. δj = nilai koreksi kesalahan untuk lapisan tersembunyi. α = laju pembelajaran. xi = unit ke-i pada lapisan masukan. voj = nilai bias unit ke-j pada lapisan tersembunyi. zj = unit ke-j pada lapisan tersembunyi. = nilai bias pada unit keluaran. wok yk = unit ke-k pada lapisan keluaran. tk = nilai target.
Ŷt+1 =
01 01 2
⋯ 01 456
(23)
Keterangan : Ŷt+1 = Nilai peramalan untuk periode selanjutnya. Yt = Nilai sebenarnya pada periode t. k = Jumlah perlakuan dalam Moving Average. 3. Pembuatan Tahap pembuatan adalah tahap selanjutnya dari tahap perancangan sebelumnya. Pembuatan dilakukan setelah selesai mempersiapkan perangkat keras dan perangkat lunak. Spesifikasi perangkat keras yang digunakan pada tahap pembuatan adalah sebagai berikut: 1. Processor intel ® core ™ i7-2670QM CPU @ 2.20Ghz 2. Memory 8 GB RAM
2.3 Time Series Analysis Winters Metode Winters didasarkan atas tiga data persamaan pemulusan, yaitu satu untuk unsur stationer, satu untuk trend, dan satu lagi untuk seasonal. Untuk deret data seasonal, metode Winters merupakan pendekatan pemulusan yang banyak digunakan. Jika polanya tidak diketahui, maka diperlukan metode umum seperti
180
Jurnal Ilmu Komputer dan Sistem Informasi
3. 4. 5. 6.
saat epoch maksimum. Dari Tabel 2 terlihat bahwa error minimum sebesar 0.0022072 pada saat menggunakan (α=0.6).
Hardisk 720 GB Monitor 14.1” Keyboard Mouse Wireless
Tabel 1 Hasil pembelajaran dengan (α=0.5)
Perangkat lunak yang digunakan dalam proses pembuatan ini adalah 1. Sistem operasi Microsoft Windows 7 Ultimate 2. FXDD Malta - MetaTrader 4 3. Microsoft Visual Studio 2008 4. Microsoft Office Excel 2007 5. CHM Maker Pro v1.9.5
p 5 10 15
Error 0.00223 0.00224 0.0022
Tabel 2 Hasil pembelajaran dengan (p=15)
α 0.1 0.25 0.35 0.45 0.5 0.55 0.6
Langkah-langkah proses pembuatan program aplikasi peramalan nilai harga penutupan dan perkiraan arah pergerakan harga mata uang pada online foreign exchange adalah sebagai berikut: 1. Pembuatan Modul Pembelajaran Modul ini digunakan untuk melakukan proses pembelajaran. Ada 3 tombol dalam modul ini yaitu: a. “Load File” b. “Split Data” c. “Training” 2. Pembuatan Modul Peramalan Harga Modul ini berguna untuk melakukan peramalan harga. Ada 1 tombol pada modul ini, yaitu tombol Peramalan. 3. Pembuatan Modul Perkiraan Arah Modul ini berguna untuk melakukan prediksi arah pergerakan harga. Ada 1 tombol pada modul ini, yaitu tombol Prediksi. 4. Pembuatan Modul Grafik Hasil Modul ini berguna untuk menunjukkan hasil peramalan dalam bentuk grafik garis. 5. Pembuatan Modul About dan Modul Help serta memperbaiki kekurangan dari desain tampilan ataupun informasi yang ditampilkan.
Error 0.0022111 0.00220994 0.00221128 0.0022084 0.00228 0.0022076 0.0022072
Pengujian ini dilakukan untuk menghitung tingkat keberhasilan peramalan harga penutupan dan perkiraan arah pergerakan harga yang dilakukan terhadap mata uang GBPUSD (Great Britain Pound vs United States Dollar). Pengujian dilakukan selama empat bulan, yaitu pada tanggal 01 Agustus 2012 sampai dengan tanggal 30 November 2012.
Gambar 5 Grafik Hasil Peramalan dengan menggunakan Backpropagation Neural Network
4. Pengujian Pengujian proses pembelajaran dilakukan dengan menggunakan dua tahap untuk mendapatkan hasil pembelajaran Backpropagation Neural Network yang optimum. Kedua tahapan tersebut adalah sebagai berikut: 1. Tahap penentuan jumlah neuron pada lapisan tersembunyi (p) dilakukan dengan laju pembelajaran tetap (α=0.5). Jumlah data yang digunakan pada proses pembelajaran sebanyak 352 buah data yang dibagi menjadi 88 buah siklus pembelajaran. Proses pembelajaran berhenti pada saat epoch maksimum. Dari Tabel 1 terlihat bahwa error minimum sebesar 0.0022 didapat pada saat menggunakan jumlah neuron pada lapisan tersembunyi yang berjumlah 15 buah neuron. 2. Tahap penentuan laju pembelajaran (α) dilakukan dengan menggunakan jumlah neuron yang optimum dari tahap 1 sebanyak 15 neuron. Sama seperti pembelajaran tahap 1, pembelajaran berhenti pada
Gambar 6 Grafik Hasil Peramalan dengan menggunakan Time Series Analysis Winters
Gambar 7 Grafik Hasil Peramalan dengan menggunakan Time Series Analysis Moving Average
Sedangkan untuk keuntungan yang didapat dengan menggunakan kombinasi dari peramalan nilai harga penutupan yang didapat dengan menggunakan metode Backpropagation Neural Network dan Perkiraan arah pergerakan harga dari ketiga indikator sebesar $9448 sedangkan keuntungan yang didapat tanpa menggunakan
181
Jurnal Ilmu Komputer dan Sistem Informasi
[7] Hanke Jhon E. and Reitsch Arthur G., 1995, “Bussiness Forecasting”, Englewood Cliffs: A Simon & Schuster Company.
kombinasi / tidak mengetahui nilai harga penutupan sebesar $1463. 4. Kesimpulan dan Saran
Penulis pertama : mahasiswa jurusan Tarumanagara.
Kesimpulan yang diperoleh setelah melakukan proses pembelajaran dan proses peramalan adalah sebagai berikut: 1. Algoritma Backpropagation Neural Network dapat digunakan untuk melakukan proses peramalan, akan tetapi baik atau tidaknya hasil dari peramalan tersebut sangat dipengaruhi oleh penentuan parameter seperti besarnya learning rate, jumlah neuron pada lapisan tersembunyi. Untuk menentukan parameter yang baik untuk melakukan proses peramalan diperlukan waktu yang cukup lama. 2. Indikator Bollinger Bands, Indikator MACD dan Indikator DeMarker dapat digunakan untuk melakukan proses perkiraan arah pergerakan harga mata uang dan ketika dikombinasikan dengan hasil peramalan nilai harga penutupan dengan menggunakan algoritma Backpropagation Neural Network dapat menghasilkan hasil keuntungan yang lebih baik.
Stevanndy Trisdiyanto Indrajaya, Teknik Informatika Universitas
Penulis kedua : Chairisni Lubis, memperoleh gelar Sarjana Fisika (Dra), Program Studi FMIPA UI, lulus tahun 1989. Tahun 2000 memperoleh gelar Magister Komputer (M.Kom) dari Program Studi Ilmu Komputer UI. Saat ini sebagai staff pengajar Fakultas Teknologi Informasi - Universitas Tarumanagara. Penulis ketiga : Bobby Tumbelaka, memperoleh gelar Sarjana Teknik (S.T), Program Studi Teknik Informatika Universitas Tarumanagara, lulus tahun 2000. Tahun 2007 memperoleh gelar Magister Manajemen (M.M) dari Program Studi Manajemen Universitas Tarumanagara. Saat ini sebagai staff pengajar Fakultas Teknologi Informasi - Universitas Tarumanagara.
Saran yang diberikan untuk pengembangan program aplikasi peramalan nilai harga penutupan dan perkiraan arah pergerakan harga mata uang pada online foreign exchange berikutnya adalah sebagai berikut : 1. Komposisi pembagian data yang lain perlu dicoba untuk mendapatkan hasil yang lebih baik. 2. Penambahan pada lapisan tersembunyi sehingga lebih dari satu dan dilakukan kembali percobaan untuk mendapatkan komposisi parameter yang lebih baik. 3. Memasukan beberapa faktor-faktor fundamental pada saat pelatihan dengan menggunakan algoritma Backpropagation Neural Network untuk mendapatkan hasil peramalan yang lebih akurat. 4. Penambahan jumlah Indikator yang digunakan sehingga dapat memperkirakan arah pergerakan harga mata uang dengan lebih baik.
REFERENSI [1] Wira Desmond, 2011, “Analisis Teknikal untuk Profit Maksimal”, Bogor: Exceed. [2] Sinaga Benni, 2011, “Kitab Suci Pemain Saham”, Bekasi : Duajari Terangkat. [3] Salim Joko, 2012, “Jangan Coba-Coba Main Saham Sebelum Baca Buku Ini”, Jakarta : Transmedia Pustaka. [4] Rojas Raul, 1996, “Neural Networks”, Berlin: SpringerVerlag. [5] Fausett Laurent, 1994, “Fundamental of Neural Networks : Architectures, Algorithms and Applications”, Englewood Cliffs: Prentice-Hall. [6] Makridakis Spyros, WheelWright Steven C., and McGee Victor E., 1993, “Metode dan Aplikasi Peramalan Edisi Kedua”, terjemahan oleh Nur Irawan, Jakarta: Erlangga.
182