Laman utama Perdagangan Sistem Siaran

Penggunaan K-Nearest Neighbors dalam Trading: Panduan untuk Trader Melayu

Lampiran
8645.zip (2.46 KB, Muat turun 4 kali)

Dalam dunia trading, penggunaan K-Nearest Neighbors (KNN) sebagai klasifikasi adalah satu pendekatan yang menarik. Namun, saya ingin berkongsi pengalaman saya yang mungkin dapat memberi manfaat kepada anda semua. Pengalaman saya dengan KNN ini tidak seperti yang diharapkan. Mungkin ia disebabkan oleh masa yang tidak mencukupi untuk mengendalikannya atau mungkin juga kurang ilmu. Walau apa pun, saya ingin memaparkan pendekatan ini untuk dibincangkan dan berharap ia akan memberi hasil yang positif.

Fungsi Euclidean_Metric adalah klasifikasi yang menggunakan vektor yang ada, sama ada menerangkan perdagangan atau situasi pasaran. Fungsi ini menentukan sama ada vektor input termasuk dalam mana-mana kelompok dalam pangkalan data. Vektor ini dibahagikan kepada kumpulan oleh pengguna. Dalam contoh ini, jika perdagangan ditutup dengan hasil positif, ia adalah kelas 1; jika hasil negatif, ia adalah kelas 0. Pencarian jiran terdekat untuk vektor multi-dimensi dilakukan menggunakan jarak Euclidean. Selepas itu, ia mengira berapa banyak vektor k tersebut yang termasuk dalam kelas 1. Kemudian, ia membahagikan nilai ini dengan jumlah jiran (iaitu k) untuk mendapatkan kebarangkalian vektor tersebut termasuk dalam kelas 1. Oleh kerana pemilihan koordinat yang tidak tepat, klasifikasi ini mungkin tidak dapat dipercayai sepenuhnya (sama ada di atas 0.5 atau di bawah 0.5). Oleh itu, nilai ambang tambahan ditetapkan; contohnya, jika kebarangkalian perdagangan yang akan datang menguntungkan lebih tinggi daripada 0.7, barulah kita masuk ke pasaran. Nisbah purata bergerak diambil sebagai ukuran (koordinat) vektor, dengan andaian bahawa nisbah ini statik dan setelah mengklasifikasikan vektor (perdagangan) sekali, klasifikasi ini boleh digunakan dalam ujian ke depan. Namun, ia tidak semudah itu :)

Kenapa K-Nearest Neighbors? Sebabnya, apabila jiran terdekat pertama dipertimbangkan, ia mungkin merupakan lonjakan abnormal nilai rawak yang akan dipilih untuk klasifikasi tanpa mengambil kira bahawa ada kumpulan vektor lain yang berlawanan di sekitarnya. Untuk maklumat lanjut, rujuk kepada buku S. Haykin «Neural Networks: A Comprehensive Foundation» (Kaedah Pembelajaran).

Masalah yang Dihadapi oleh Klasifikasi

  • 1) Mencari data statik yang menerangkan situasi pasaran (atau perdagangan akan datang) dengan ketepatan yang diperlukan atau dengan tahap klasifikasi yang betul.
  • 2) Jumlah operasi matematik yang besar, yang menyebabkan pengiraan memakan masa… (sedikit kurang daripada PNN).

Secara ringkasnya, masalah ini hampir sama dengan Trading System (TS) konvensional. Kelebihan klasifikasi ini adalah ia dapat memformalkan syarat yang mungkin tidak dapat dilihat oleh trader, tetapi akan dirasai secara intuitif bahawa beberapa nilai indikator memberi kesan kepada sama ada perdagangan perlu dibuka.

Penerapan dalam Klasifikasi

Pangkalan - true menulis fail dengan pangkalan vektor, false perdagangan dengan klasifikasi...

buy_threshold=0.6 ambang untuk semua posisi Buy.

sell_threshold=0.6 sama juga untuk sell.

inverse_position_open_?=true; Ini adalah poin menarik. Jika kebarangkalian perdagangan menguntungkan sangat kecil, kenapa tidak masuk ke pasaran dengan posisi terbalik? Bendera ini membolehkan posisi tersebut.

invers_buy_threshold=0.3 ambang, apabila kebarangkalian posisi Buy menguntungkan lebih kecil, maka buka perdagangan sell.

invers_sell_threshold=0.3; sama juga untuk...

fast=12 parameter MACD.

slow=34;

tp=40; Ambil untung.

sl=30; Henti rugi.

close_orders=false; bendera untuk membolehkan penutupan hanya pada isyarat bertentangan jika pesanan dalam keuntungan...

Penggunaan: Pertama, bendera Pangkalan - true, tetapkan sl=tp dan jalankan pada sejarah (1 kali!), fail vektor akan ditulis. Kali seterusnya, tetapkan Pangkalan - false dan disyorkan untuk mengoptimumkan ambang, saya memilihnya berdasarkan laporan pertama (tanpa klasifikasi). Jika kebarangkalian kejayaan = 0.5, maka ambang adalah 0.6 dan 0.4 (untuk membalikkan posisi).

Sekali lagi, ini adalah contoh, klasifikasi ini boleh digunakan pada TS lain dengan data input yang berbeza.

Sebelum Klasifikasi:

Selepas, dengan pengoptimuman ambang.

Siaran berkaitan

Komen (0)