Kombinasi Naive Bayes dan Metode Time Series Sebagai

## Peramalan Pergerakan Harga pada Perdagangan Valuta Asing
Muhamat Maariful Huda 1,* , Rizki Darma Rusdiyan Yusron 2
Program Studi Ilmu Komputer, Universitas Nahdlatul Ulama Blitar, Indonesia
1 hudha.maariful@unublitar.ac.id; 2 rizkyyusron@unublitar.ac.id * corresponding author

## PENDAHULUAN
Perdagangan valuta asing atau forex trading, menjadi salah satu pasar finansial terbesar dengan  perputaran  uang  mencapai  6  trilliun  US  dollar,  dan  45  %  volume  transaksinya dilakukan  oleh  pedagang  retail[1].  Maka  dari  itu,  metode  peramalan  dalam  mentukan pergerakan  harga  adalah  metode  yang  sangat  dicari  oleh  para  pelaku  trading.  Salah  satu metode dalam peramalan yang sangat sering digunakan adalah metode time series , terdapat banyak variasi dalam metode time series , akan tetapi tujuannya tetaplah sama[2], yaitu untuk menentukan  pergerakan  harga  selanjutnya.  Metode  paling  sederhana  dalam  analisa time series adalah  simple moving  average atau  yang  lebih  dikenal  sebagai moving  average , dimana dalam perhitungannya, setiap data dianggap memiliki bobot yang sama. Satu tingkat diatas moving average adalah weighted moving average , dalam metode ini, masing masing data  yang  akan dihitung  diberikan factor pemberat  dalam setiap data  yang akan dihitung. Versi  lain  dari  metode time  series adalah exponential moving  average ,  dalam  metode  ini digunakan  fungsi  exponensial  sebagai  basis  dalam  pembentukan  factor  pembobotannya. Ketiga  metode  tersebut  sering  digunakan  dalam  peramalan  menggunakan  metode time series [3][4][5].
Dalam  penelitian  ini,  perhitungan  dengan  metode time  series ( moving  average , exponential moving  average , smoothed moving  average ),  akan  dibandingkan  dengan kombinasi  dari metode time series dan klasifikasi  naïve bayes. Pasangan  mata uang  yang digunakan sebagai penelitian adalah EUR-USD, USD-JPY dan EUR-JPY. Selanjutnya akan

## I N F O A R T I K E L A B S T R A K

## Sejarah Artikel
Diterima: 5 Juli 2020 Direvisi: 10 Agustus 2020 Diterbitkan: 30 Agustus 2020 Dalam perdagangan valuta asing, terdapat data yang dapat diakses secara bebas dan  berkelanjutan.  Data  yang  tersedia  antara  lain:  harga  pembukaan,  harga tertinggi,  harga  terendah  dan  harga  penutupan,  data  tersebut  adalah  variable penting dalam memprediksi pergerakan harga kedepan. Data yang tersedia bukan hanya dari data perdagangan valuta asing, akan tetapi juga terdapat data perilisan berita dan analisa dari ahli perdagangan valuta asing. Dari beberapa sumber, data yang didapat berupa teks dan angka. Pendekatan yang dilakukan dalam penelitian ini  adalah  peramalan  dengan  mengkombinasikan  data  teks  dan  data  numerik. Kombinasi yang digunakan dalam peramalan adalah metode text mining dengan beberapa metode dalam time series , antara lain : simple moving average, weighted moving  average dan exponential  moving  average .  Rentang  waktu  peneliatian mulai 1 Desember 2018 sampai dengan 31 Januari 2019 dengan 3 pasang mata uang, EUR-USD, USD-JPY dan EUR-JPY. Hasil dari peramalan menggunakan metode time  series akan  dibandingkan  dengan  kombinasi  dari metode time series dan  klasifikasi  naïve  bayes.  Hasil  dari  percobaan  menunjukkan bahwa  kombinasi  dari  metode time  series dan  klasifikasi  naïve  bayes memiliki akurasi peramalan yang lebih baik
Kata Kunci
Forecast Naïve Bayes Perdagangan Valas Moving average
dilakukan  perhitungan  kesalahan  menggunakan  metode mean  square  error (MSE), mean absolute percentage error (MAPE) dan mean absolute scaled error (MASE).

## METODE

## Moving average
Dalam metode time series , moving average adalah metode paling sederhana dan paling banyak digunakan. Setiap data dalam perhitungan metode ini memiliki bobot yang sama[6], rumus dari moving average dapat ditulis sebagai sebagaimana Persamaan (1):
𝑝 ̅ 𝑆𝑀 = 𝑃𝑚 + 𝑃𝑚 − 1 + ⋯ + 𝑃𝑚 − ( 𝑛 − 1 ) 𝑛 (1)
Dimana Pm adalah data saat ini, Pm-1 adalah data sebelumnya, n adalah banyaknya data.

## Weighted moving average
Setiap  data  yang  akan  digunakan  dalam  metode  weighted moving  average diberikan bobot,  dimana  pembobotan  dari  data  sebelumnya  lebih  kecil  dari  data  actual.  Pemberian bobot  dihitung  dari  jumlah  data  yang  digunakan  dalam  perhitungan time  series ,  cara pembobotan seperti ini dikenal juga dengan istilah ‘sum of digit’[7]. Persamaan weighted moving average ditulis sebagai Persamaan (2) berikut:
𝑊𝑀𝐴𝑚 = 𝑛𝑝𝑀+(𝑛−1)𝑝𝑀−1+⋯+2𝑝(𝑀−𝑛+2)+𝑝(𝑀−𝑛+1) 𝑛+(𝑛−1)+⋯+2+1 (2)
Dari Persamaan (2) diatas, n merujuk pada periode data yang digunakan, pM adalah nilai data pada periode m.

## Exponential moving average
Exponential moving  average memberikan  bobot  yang  lebih  ringan  kepada  data sebelumnya[8].  Pada time  series Y,  persamaan exponential moving  average secara rekursif[9] dapat ditulis sebagai Persamaan (3):
𝑆𝑡 = { 𝑌 1, 𝑡 = 1 𝛼. 𝑌𝑡 + (1 − 𝛼). 𝑆𝑡 − 1, 𝑡 > 1 (3)
Dimana Yt adalah nilai data pada saat t, St adalah nilai exponential moving average pada saat t dan α merepresentasikan konstanta dari factor penghalus dengan nilai antara 0 dan 1[10]. Nilai α dapat diestimasikan sesuai Persamaan (4):
𝛼 = 2 𝑛+1 (4)

## Naïve bayes classifier
Gambar 1. Diagram klasifikasi naïve bayes
dalam  penelitian  ini,  metode  naïve  bayes  digunakan  untuk  mendapatkan  nilai  dari sentiment  dari  data  teks  yang  dikumpulkan.  Berdasarkan  Gambar  1,  data  training  yang dikumpulkan diolah dengan algoritma machine learning, selanjutnya hasil dari pengolahan machine  learning  diproses  dalam  classifier  dengan  data  baru,  hasil  dari  proses classifier adalah prediksi dari data teks. Penggunaan naïve bayes sebagai tools klasifikasi dikarenakan kemudahannya, proses komputasinya yang efisien, memiliki tingkat akurasi yang baik, dan
Training
Data Machine Learning Algorithm
New Data Classifier
Predictio
juga  dikarenakan  banyak  digunakan  dalam  pemrosesan  data  teks  yang  tidak  sedikit[11]. Persamaan dari naïve bayes adalah sebagai Persamaan (5) :
𝑃(𝑐|𝑥) = 𝑃( 𝑥 | 𝑐 )𝑃(𝑐) 𝑃(𝑥) (5)
Dimana x adalah kata, c adalah katgori, P(x|c) adalah probabilitas kata dalam kategori c, P(x)  adalah  probabilitas  dari  kata,  dan  P(c)  adalah  probabilitas  kategori.  Atau  dalam persamaan yang lain dapat ditulis sesuai Persamaan (6) :
𝑃(𝑐|𝑋) = 𝑃(𝑥 1 |𝑐) × 𝑃(𝑥 2 |𝑐) × 𝑃(𝑥 𝑛 |𝑐) × 𝑃(𝑐) (6)

## Kombinasi time series dan naïve bayes
Setelah didapatkan sentiment dari proses klasifikasi naïve bayes dan proses dari metode time series , langkah selanjutnya adalah mengkombinasikan kedua sentiment baik dari data teks  maupun  data  angka.  Sumber  dari  data  teks  yang  didapat  adalah  dari www.investing.com/analysis/forex dimulai dari tanggal 1 desember 2018 hingga 1 januari 2019,  dengan  batasan  data  yang  dikumpulkan  adalah  artikel  analisa  teknikal,  analisa fundamental, dan signal dari ahli ahli trading. Untuk data bertipe nomor, didapat dari tanggal 1 desember 2018 hingga 31 januari 2019 dari software yang banyak digunakan oleh pelaku trading,  yaitu metatrader 4. Sebelum dikombinasikan, kedua data disaring dengan tanggal dan  jam  kemunculan  yang  sama.  Didapat  54  data  baik  teks  maupun  nomor  dengan kemunculan yang sama pada pasangan mata uang EUR-JPY, 195 data EUR-USD, 77 data USD-JPY,  dimana  masing  masing  data  berisi  harga  pembukaan,  harga  tertinggi,  harga terendah, dan harga penutupan.

## HASIL DAN PEMBAHASAN
Setelah  mendapat  sentiment  dari  proses  naïve  bayes  classifier  dan  juga  didapatkan sentiment dari proses penghitungan metode time series , maka langkah selanjutnya data text dan dana angka yang memiliki tanggal dan jam yang sama kemunculannya.  Penggabungan antara teks dan angka dapat dirumuskan sebagai Persamaan (7) :
𝐶 =   𝑁 𝑡 − 𝑁 𝑡−1 (7)
Dimana dalam persamaan diatas, C adalah derajat untuk dari sebuah nilai itu naik atau turun, Nt adalah harga mata uang pada saat ini, dan Nt-1 adalah adalah harga mata uang pada saat sebelumnya.  Sedangkan  untuk  persamaan  kombinasi  antara  teks  dan  angka  dirumuskan sebagai Persamaan (8):
𝑃𝑟𝑒𝑑𝑖𝑐𝑡𝑖𝑜𝑛 =   𝑁 𝑡 + ( 𝐶  × 𝐷𝑒𝑐𝑖𝑠𝑠𝑖𝑜𝑛  × 𝐷𝑒𝑔𝑟𝑒𝑒) (8)
Tabel 1. Kombinasi teks dan angka Text angka Text + angka Decission degree 1 1 1 0 0 0 -1 -1 -1
1 0 -1
1 0 -1 1 0 -1
2 1 0 1 0 -1 0 -1 -2 Positive Positive Stagnan
Positive Stagnan Negative Stagnan Negative negative Full (1) Half(0,5) 0 (0) Half(0,5) 0 (0) Half(0,5) 0 (0) Half(0,5) Full (1)
Pada tabel diatas, ketika teks bernilai positive (1) dan angka bernilai positive(1), maka didapat angka 2 hasil dari penjumlahan dati teks dan angka, yang artinya dalam penerapan peramalan  pergerakan  harga  akan  naik  secara  penuh (positive  full ).  Ketika  teks  bernilai
Vol. 2, No. 2, Agustus 2020, Halaman 151-155
positive  (1)  dan  angka  bernilai  stagnan  (0)  maka  didapat  angka  1  yang  artinya  adalah pergerakan  harga  mata  uang  diramalkan  akan  naik  akan  tetapi  hanya  sebagian  (  positive half). Berikut contoh penerapan peramalan:
Tabel 2. Contoh peramalan dengan decission degree No Nt Nt-1 C Decision  Degree  Prediction 1 2 3 4 5 1.13545 1.13471 1.13680 1.13798 1.13820 1.13515 1.13470 1.13680 1.13745 1.13937 0.00031 0.00001 0.00000 - 0.00053 - 0.00117 Positive Positive Stagnan Negative Negative 1 0.5 0 0.5 1 1.13564 1.13521 1.13680 1.13748 1.13920
Pada nomor 1, mata uang EUR-USD pada tanggal 5 desember 2019, harga pembukaan adalah 1.13545, dimana harga sebelumnya adalah 1.13515, dengn nilai C = 0.0031 dan nilai prediksi teks didapat positive maka permalan nilai selanjutnya adalah harga akan naik pada angka 1.13645, dengan asumsi jika positive full maka angka akan naik 100 poin, pada contoh nomor 2, dengan pendekatan yang sama dengan contoh sebelumnya, didapat nilai positive half, dimana nilai akan diramalkan naik 50 poin, pada kisaran 1.1352.
Dengan  menggunakan  data  angka  sebanyak  1.304,  didapat  dari  history  center  di metatrader 4, dengan filter kemunculan tanggal yang sama dengan data teks, ditambah data teks yang didapat dari www.investing.com/analysis/forex dengan filter untuk data teknikal, data  fundamental  dan  data  sinyal.  Setelah  digabungkan  data  teks  dengan  data  angka, kemudian dibandingkan dengan penghitungan data angka menggunakan metode time series , dilakukan  pengujian  error  dengan  tiga  metode,  diantaranya:  MAPE  ( Mean  Absolute Percentage  Error ),  MSE  ( Mean  Scale  Error ),  MADE  ( Mean  Absolute  Deviation  Error ). Didapat hasil sebagaimana Tabel 4:
Tabel 4. Perhitungan error EUR-JPY Hitung Error EUR-JPY (open) Moving average Moving average + Naïve Bayes MADE MSE MAPE 0.179196226 0.082453225 0.001431293 0.055660377 0.004952830 0.000433787 Tabel 5. Perhitungan error EUR-JPY Hitung Error EUR-JPY (open) Weighted Moving average Weighted Moving  average + Naïve Bayes MADE MSE MAPE 0.137152564 0.040575256 0.001094151 0.057692308 0.005192308 0.000458048

## Tabel 6. Perhitungan error EUR-JPY
Hitung Error EUR-JPY (open) Exponential Moving average Exponential Moving  average + Naïve Bayes MADE MSE MAPE 0.149960377 0.036000022 0.001193931 0.056603774 0.005094340 0.000449892

## KESIMPULAN
Pada  perhitungan  error  menggunakan  tiga  metode,  MADE  (Mean  Absolte  Deviation Error), MSE (Mean Squre Error)  dan MAPE (Mea Absolute Percentage Error) didapat nilai kesalahan  yang  lebih  kecil,  ini  membuktikan  bahwa  dengan  menggabungkan  metode pramalan time series ( MA, EMA dan WMA) dan peramalan teks (naïve bayes classifier), didapat hasil peramalan yang lebih baik

## REFERENSI
[1] L. Ni, Y. Li, X. Wang, J. Zhang, J. Yu, and C. Qi, “Forecasting of Forex Time series Data Based on Deep Learning,” Procedia Comput. Sci. , vol. 147, pp. 647–652, 2019.
[2] Y.  Zhu  and  G.  Zhou,  “Technical  analysis:  An  asset  allocation  perspective  on  the  use  of moving average s,” J. financ. econ. , vol. 92, no. 3, pp. 519–544, 2009.
[3] D. Kapgate, “Weighted Moving average Forecast Model based Prediction Service Broker Algorithm for Cloud Computing,” Int. J. Comput. Sci. Mob. Comput. , vol. 3, no. 2, pp. 71–79, 2014.
[4] A.  Raudys,  V.  Lenčiauskas,  and  E.  Malčius,  “ Moving  average s  for  financial  data  smoothing,” Commun. Comput. Inf. Sci. , vol. 403, pp. 34–45, 2013.
[5] X. F. Hui and Y. J. Wu, “Research on simple moving average trading system based on  SVM,” Int. Conf. Manag. Sci. Eng. - Annu. Conf. Proc. , no. 71031003, pp. 1393–1397, 2012.
[6] C. A. Ellis and S. A. Parbery, “Is smarter better? A comparison of adaptive, and simple moving average trading strategies,” Res. Int. Bus. Financ. , vol. 19, no. 3, pp. 399–411, 2005.
[7] S. Hansun, “A new approach of moving average method in time series analysis,” pp. 1–4, 2014.
[8] J. S. Hunter, “The Exponential ly  Weighted Moving  average ,” J.  Qual.  Technol. ,  vol.  18,  no.  4,  pp. 203–210, 2018.
[9] S. Hansun, “FX forecasting using B-WEMA: Variant of Brown’s Double Exponential Smoothing,” 2016 Int. Conf. Informatics Comput. ICIC 2016 , no. Icic, pp. 262–266, 2017.
[10] F.  R.  Johnston,  J.  E.  Boyland,  M.  Meadows,  and  E.  Shale,  “Some  properties  of  a  simple moving average when applied to forecasting a time series ,” J. Oper. Res. Soc. , vol. 50, no. 12, pp. 1267–1271, 1999.
[11] I. Yanuar Risca Pratiwi, R. Andrie, and F. Rahutomo, “Study of hoax news detection using naïve bayes classifier in Indonesian language,” 2017, pp. 73–78.