Peramalan pasar valuta asing dengan jaringan saraf

10

Saya ingin menggunakan JST untuk mengotomatisasi mata uang perdagangan, lebih disukai USD / EUR atau USD / GBP. Saya tahu ini sulit dan mungkin tidak langsung. Saya sudah membaca beberapa makalah dan melakukan beberapa percobaan tetapi tidak berhasil. Saya ingin mendapatkan saran dari AHLI untuk membuat ini berhasil.

Inilah yang saya lakukan sejauh ini:

  1. Saya mendapat centang pada data kutu untuk bulan Juli 2013. Ini memiliki volume bid / ask / bid / volume ask.
  2. Ekstrak semua kutu untuk jangka waktu 12: 00-14: 00 untuk semua hari.
  3. Dari data ini, dibuat kumpulan data di mana setiap entri terdiri dari n nilai penawaran secara berurutan.
  4. Menggunakan data itu untuk melatih JST dengan input n-1 dan hasilnya adalah nilai penawaran ke-n yang diperkirakan.
  5. JST memiliki n-1 input neuron, (n-1) * 2 + 1 tersembunyi dan 1 neuron output. Lapisan input memiliki TF linier, tersembunyi memiliki TF log dan output memiliki TF linier.
  6. Melatih jaringan dengan back propagation dengan n-125 pertama dan kemudian 10.

Untuk kedua n, MSE tidak turun di bawah 0,5 dan tetap pada nilai itu selama pelatihan penuh. Dengan asumsi bahwa ini bisa disebabkan oleh rangkaian waktu yang benar-benar acak, saya menggunakan paket R untuk menemukan autokorelasi parsial pada kumpulan data (pacf). Ini memberikan nilai bukan nol untuk 2 dan 3 lag saja.

Pertanyaan 1: Apa artinya ini tepatnya?

Kemudian saya menggunakan eksponen hurst untuk mengevaluasi keacakan. Dalam R, hurst (nilai) menunjukkan nilai di atas 0,9.

Pertanyaan 2: Seharusnya hampir acak. Haruskah nilainya mendekati 0,5?

Saya mengulangi pelatihan JST dengan n = 3. JST dilatih dan mampu memperoleh nilai MSE yang cukup rendah. Namun, output yang dihitung dari JST ini tidak jauh berbeda dari nilai penawaran (n-1). Sepertinya ANN hanya mengambil tawaran terakhir sebagai tawaran berikutnya! Saya mencoba struktur jaringan yang berbeda (semua persepsi multilayer), parameter pelatihan yang berbeda, dll, tetapi hasilnya sama.

Pertanyaan 3: Bagaimana saya bisa meningkatkan akurasi? Apakah ada metode pelatihan lain selain backpropagation?

pengguna1300
sumber
Saya tidak yakin apakah Anda akan melakukan yang lebih baik daripada memprediksi noise 1 / f saat menggunakan nilai masa lalu sebagai indikator untuk yang akan datang. scholarpedia.org/article/1/f_noise#Stock_markets_and_the_GNP - hasil Anda sejauh ini tampaknya konsisten dengan itu. Mungkin Anda harus melihat fitur lain yang mungkin memiliki beberapa alasan untuk berkorelasi dengan nilai tukar masa depan. Jika ini mudah, akan ada lebih banyak ilmuwan data kaya.
Neil Slater
ya, mungkin variabel lain berkontribusi ke nilai berikutnya lebih dari nilai deret waktu itu sendiri .. Saya akan bereksperimen dengan itu juga. Terima kasih atas petunjuknya.
user1300

Jawaban:

6

Hasil yang Anda lihat bukan merupakan produk sampingan dari produk pelatihan Anda, tetapi itu neural netsbukan pilihan yang bagus untuk tugas ini. Neural netssecara efektif merupakan sarana untuk membuat fungsi non-linear orde tinggi dengan menyusun sejumlah fungsi sederhana. Ini sering kali merupakan hal yang sangat baik, karena memungkinkan jaring saraf cocok dengan pola yang sangat kompleks.

Namun, di bursa saham, pola apa pun yang rumit, ketika diperdagangkan akan cepat membusuk. Mendeteksi pola yang rumit umumnya tidak akan menghasilkan hasil yang bermanfaat, karena biasanya merupakan pola yang kompleks dalam jangka pendek. Selain itu, tergantung pada metrik yang Anda pilih, ada sejumlah cara untuk berkinerja baik yang sebenarnya tidak akan membuahkan hasil dalam berinvestasi (seperti hanya memprediksi nilai terakhir dalam contoh Anda).

Selain itu pasar saham sangat kacau yang dapat mengakibatkan neural netoverfitting. Ini berarti bahwa pola yang dipelajari akan menggeneralisasi dengan buruk. Sesuatu di sepanjang garis hanya melihat penurunan stok selama sehari dan secara seragam memutuskan bahwa stok akan selalu berkurang hanya karena dilihat dalam jangka waktu yang relatif singkat. Alih-alih teknik menyukai ridgedan robust regression, yang akan mengidentifikasi pola yang lebih umum, kurang kompleks, lebih baik.

Pemenang kompetisi Kaggle serupa digunakan robust regressionkarena alasan ini. Anda mungkin akan melihat hasil yang lebih baik jika Anda beralih ke model pembelajaran yang dangkal yang akan menemukan fungsi tatanan polinomial yang lebih rendah, di atas fungsi kompleks yang dalam dari jaringan saraf.

indico
sumber
Terima kasih banyak. Saya akan mengevaluasi regresi yang kuat dan melihat hasilnya.
user1300