
Temukan stok yang bergerak tinggi sebelum mereka bergerak menggunakan deteksi anomali dan pembelajaran mesin. Skriver menggunakan pembelajaran mesin untuk melihat aksi volume + harga dan menyimpulkan pola yang tidak biasa yang dapat menghasilkan gerakan besar dalam stok.
| Jalur | Keterangan |
|---|---|
| Kejutan | Folder utama. |
| └ Kamus | Folder untuk menyimpan kamus data untuk digunakan nanti. |
| └ Angka | Angka untuk repositori gitub ini. |
| └ Saham | Daftar semua saham yang ingin Anda analisis. |
| data_loader.py | Modul untuk memuat data dari Yahoo Finance. |
| detection_engine.py | Modul utama untuk menjalankan deteksi anomali pada data dan menemukan stok dengan pola harga dan volume yang paling tidak biasa. |
| fitur_generator.py | Menghasilkan fitur pengembalian harga dan volume serta banyak indikator teknis. |
Anda perlu menginstal paket berikut untuk melatih dan menguji model.
Anda dapat menginstal semua paket menggunakan perintah berikut. Harap dicatat bahwa skrip ditulis menggunakan Python3.
pip install -r requirements.txt
Anda juga dapat menggunakan Docker jika Anda tahu apa itu dan memiliki pengetahuan tentang cara menggunakannya. Berikut adalah langkah -langkah untuk menjalankan alat dengan Docker.
docker build . -t surpriver<C:\path\to\this\dir> dengan direktori tempat Anda bekerja.docker-compose up -ddocker exec -it surpriver ke baris perintah Anda.Jika Anda ingin melanjutkan dan secara langsung mendapatkan stok paling anomali untuk hari ini, Anda dapat dengan sederhana menjalankan perintah berikut untuk mendapatkan stok dengan pola yang paling tidak biasa. Kami akan menyelami lebih dalam perintah di bagian berikut.
python detection_engine.py --top_n 25 --min_volume 5000 --data_granularity_minutes 60 --history_to_use 14 --is_load_from_dictionary 0 --data_dictionary_path 'dictionaries/data_dict.npy' --is_save_dictionary 1 --is_test 0 --future_bars 0
Perintah ini akan memberi Anda 25 saham teratas yang memiliki skor anomali tertinggi di 14 bar terakhir 60 menit lilin . Ini juga akan menyimpan semua data yang digunakan untuk membuat prediksi dalam folder Dictionaries/Data_dict.npy . Di bawah ini adalah penjelasan yang lebih rinci dari setiap parameter.
python detection_engine.py --top_n 25 --min_volume 5000 --data_granularity_minutes 60 --history_to_use 14 --is_load_from_dictionary 1 --data_dictionary_path 'dictionaries/data_dict.npy' --is_save_dictionary 0 --is_test 0 --future_bars 0 --output_format 'CLI'
Perhatikan perubahan dalam is_save_dictionary dan is_load_from_dictionary .
Berikut ini adalah output bagaimana prediksi tunggal itu. Harap dicatat bahwa skor negatif menunjukkan pola anomali dan tidak biasa yang lebih tinggi sementara skor positif menunjukkan pola normal. Semakin rendah semakin baik .
Last Bar Time: 2020-08-25 11:30:00-04:00
Symbol: SPI
Anomaly Score: -0.029
Today Volume (Today = Date Above): 313.94K
Average Volume 5d: 206.53K
Average Volume 20d: 334.14K
Volatility 5bars: 0.013
Volatility 20bars: 0.038
Future Absolute Sum Price Changes: 72.87
Jika Anda curiga terhadap penggunaan pembelajaran mesin dan kecerdasan buatan dalam perdagangan, Anda benar -benar dapat menguji prediksi dari alat ini pada data historis. Dua argumen baris perintah terpenting untuk pengujian adalah IS_TEST dan FOUND_BARS . Jika yang pertama diatur ke 1 dan yang kemudian diatur ke lebih dari 5, alat ini akan benar -benar meninggalkan jumlah data untuk tujuan analisis dan menggunakan data sebelum itu untuk prediksi anomali. Selanjutnya, itu akan melihat data yang tersisa untuk melihat seberapa baik prediksi tersebut. Berikut adalah contoh plot sebar dari perintah berikut.
python detection_engine.py --top_n 25 --min_volume 5000 --data_granularity_minutes 60 --history_to_use 14 --is_load_from_dictionary 0 --data_dictionary_path 'dictionaries/data_dict.npy' --is_save_dictionary 1 --is_test 1 --future_bars 25
Jika Anda telah menghasilkan kamus data, Anda dapat menggunakan perintah berikut di mana kami mengatur is_load_from_dictionary ke 1 dan is_save_dictionary ke 0.
python detection_engine.py --top_n 25 --min_volume 5000 --data_granularity_minutes 60 --history_to_use 14 --is_load_from_dictionary 1 --data_dictionary_path 'dictionaries/data_dict.npy' --is_save_dictionary 0 --is_test 1 --future_bars 25

Seperti yang dapat Anda lihat pada gambar di atas, stok anomali (skor <0) biasanya memiliki perubahan absolut yang lebih tinggi di masa depan rata -rata. Itu membuktikan bahwa prediksi sebenarnya untuk stok yang bergerak lebih dari rata -rata dalam beberapa jam/hari ke depan. Satu pertanyaan muncul di sini, bagaimana jika alat ini hanya memilih stok volatilitas tertinggi karena itu akan menghasilkan perubahan absolut masa depan yang tinggi. Untuk membuktikan bahwa itu bukan masalahnya, berikut adalah deskripsi statistik yang lebih rinci yang Anda dapatkan dari perintah di atas.
--> Future Performance
Correlation between future absolute change vs anomalous score (lower is better, range = (-1, 1)): **-0.23**
Total absolute change in future for Anomalous Stocks: **89.660**
Total absolute change in future for Normal Stocks: **43.000**
Average future volatility of Anomalous Stocks: **0.332**
Average future volatility of Normal Stocks: **0.585**
Historical volatility for Anomalous Stocks: **2.528**
Historical volatility for Normal Stocks: **2.076**
Anda dapat melihat bahwa volatilitas historis untuk stok normal vs anomali tidak jauh berbeda. Namun, perbedaan total perubahan absolut di masa depan adalah dua kali lipat untuk saham anomali dibandingkan dengan stok normal.
Anda sekarang dapat menentukan sumber data mana yang ingin Anda gunakan bersama dengan daftar stok mana yang ingin Anda gunakan.
python detection_engine.py --top_n 25 --min_volume 500 --data_granularity_minutes 60 --history_to_use 14 --is_load_from_dictionary 0 --data_dictionary_path 'dictionaries/feature_dict.npy' --is_save_dictionary 1 --is_test 0 --future_bars 0 --data_source binance --stock_list cryptos.txt
Kami akan mencoba memposting 25 hasil teratas untuk satu set parameter setiap minggu.
Alat ini hanya menemukan stok yang memiliki beberapa perilaku yang tidak biasa dalam aksi harga dan volume mereka digabungkan. Itu tidak memprediksi ke arah mana stok akan bergerak. Itu mungkin fitur yang akan saya terapkan di masa depan tetapi untuk saat ini, Anda harus melihat grafik dan melakukan DD Anda untuk mengetahuinya.
Produk berdasarkan Tradytics
Hak Cipta (C) 2020-Present, Tradytics.com