Eiten adalah toolkit open source oleh tradytics yang mengimplementasikan berbagai strategi investasi statistik dan algoritmik seperti portofolio eigen , portofolio varians minimum , portofolio rasio sharpe maksimum , dan portofolio berbasis algoritma genetika . Ini memungkinkan Anda untuk membangun portofolio Anda sendiri dengan set saham Anda sendiri yang dapat mengalahkan pasar. Kerangka pengujian yang ketat yang termasuk dalam Eiten memungkinkan Anda untuk memiliki kepercayaan pada portofolio Anda.
Jika Anda ingin mendiskusikan alat -alat ini secara mendalam dan berbicara tentang lebih banyak alat yang sedang kami kerjakan, jangan ragu untuk bergabung dengan saluran Perselisihan kami di mana kami memiliki banyak alat juga.
Jalur | Keterangan |
---|---|
eiten | Folder utama. |
└ Angka | Angka untuk repositori gitub ini. |
└ Saham | Folder untuk menyimpan daftar stok yang ingin Anda gunakan untuk membuat portofolio Anda. |
└ Strategi | Banyak strategi yang diterapkan dalam Python. |
Backtester.py | Modul backtesting yang menguji kembali dan menguji semua portofolio. |
data_loader.py | Modul untuk memuat data dari Yahoo Finance. |
portofolio_manager.py | File utama yang mengambil banyak argumen dan menghasilkan beberapa portofolio untuk Anda. |
simulator.py | Simulator yang menggunakan pengembalian historis dan Monte Carlo untuk mensimulasikan harga di masa depan untuk portofolio. |
Strategy_Manager.py | Mengelola strategi yang diterapkan dalam folder 'Strategi'. |
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
Mari kita lihat bagaimana kita dapat menggunakan semua strategi yang diberikan dalam toolkit untuk membangun portofolio kita. Hal pertama yang perlu Anda lakukan adalah memodifikasi file stocks.txt di folder stok dan menambahkan stok pilihan Anda. Disarankan untuk menjaga daftar kecil IE di mana saja antara 5 hingga 50 saham harus baik -baik saja. Kami telah memasukkan daftar stok kecil yang berisi banyak saham teknologi seperti AAPL, MSFT, TSLA dll. Mari kita membangun portofolio sekarang. Ini adalah perintah utama yang perlu Anda jalankan.
python portfolio_manager.py --is_test 1 --future_bars 90 --data_granularity_minutes 3600 --history_to_use all --apply_noise_filtering 1 --market_index QQQ --only_long 1 --eigen_portfolio_number 3 --stocks_file_path stocks/stocks.txt
Perintah ini akan menggunakan data harian 5 tahun terakhir tidak termasuk 90 hari terakhir dan membangun beberapa portofolio untuk Anda. Berdasarkan portofolio tersebut, kemudian akan menguji mereka pada data sampel 90 hari dan menunjukkan kepada Anda kinerja setiap portofolio. Akhirnya, ini juga akan membandingkan kinerja dengan pilihan indeks pasar pilihan Anda yang merupakan QQQ di sini. Mari selami masing -masing parameter secara detail.
Berikut adalah beberapa contoh untuk membangun berbagai jenis portofolio.
python portfolio_manager.py --is_test 1 --future_bars 30 --data_granularity_minutes 3600 --history_to_use 90 --apply_noise_filtering 1 --market_index QQQ --only_long 0 --eigen_portfolio_number 3 --stocks_file_path stocks/stocks.txt
python portfolio_manager.py --is_test 0 --future_bars 0 --data_granularity_minutes 60 --history_to_use all --apply_noise_filtering 1 --market_index SPY --only_long 1 --eigen_portfolio_number 3 --stocks_file_path stocks/stocks.txt
python portfolio_manager.py --is_test 1 --future_bars 90 --data_granularity_minutes 3600 --history_to_use all --apply_noise_filtering 0 --market_index SQQQ --only_long 1 --eigen_portfolio_number 1 --stocks_file_path stocks/stocks.txt
Empat strategi portofolio yang berbeda saat ini didukung oleh toolkit.
Saat Anda menjalankan perintah di atas, alat kami akan menghasilkan portofolio dari semua strategi ini dan memberikannya kepada Anda. Mari kita lihat beberapa portofolio yang dihasilkan.
Untuk tujuan hasil ini, kami akan menggunakan 9 saham di file stok/stocks.txt. Ketika kami menjalankan perintah di atas, pertama -tama kami mendapatkan bobot portofolio untuk keempat strategi. Untuk tujuan pengujian, perintah di atas digunakan lima tahun terakhir dari data harian hingga 29 April. Data yang tersisa untuk tahun ini digunakan untuk pengujian ke depan yaitu strategi portofolio tidak memiliki akses ke sana saat membangun portofolio.
Bagaimana jika portofolio saya membutuhkan saham yang berbeda? : Yang perlu Anda lakukan adalah mengubah stok di file stocks.txt dan menjalankan alat lagi. Ini adalah perintah terakhir lagi yang kami jalankan untuk mendapatkan portofolio kami:
python portfolio_manager.py --is_test 1 --future_bars 90 --data_granularity_minutes 3600 --history_to_use all --apply_noise_filtering 1 --market_index QQQ --only_long 1 --eigen_portfolio_number 3 --stocks_file_path stocks/stocks.txt
Kita dapat melihat bahwa portofolio eigen memberikan bobot besar untuk TSLA sementara yang lain membagi bobot mereka lebih seragam. Fenomena menarik yang terjadi di sini adalah lindung nilai dengan SQQQ yang telah dipelajari semua strategi secara otomatis. Setiap alat menetapkan beberapa bobot positif untuk SQQQ sementara juga menetapkan bobot positif untuk saham lain yang menunjukkan bahwa strategi secara otomatis mencoba untuk melakukan lindung nilai portofolio dari risiko. Jelas ini tidak sempurna, tetapi hanya fakta bahwa itu terjadi sangat menarik. Mari kita lihat hasil backtest pada lima tahun terakhir sebelum 29 April 2020.
Backtests terlihat cukup menggembirakan. Garis putus -putus hitam adalah indeks pasar yaitu qqq . Baris lain adalah strategi. Implementasi algoritma genetika khusus kami tampaknya memiliki hasil backtest terbaik karena ini adalah versi canggih dari strategi lain. Portofolio eigen yang menimbang TSLA paling volatilitas tetapi keuntungannya juga sangat tinggi. Akhirnya, seperti yang diharapkan, MVP memiliki varian minimum dan akhirnya keuntungan paling sedikit. Namun, karena variannya sangat rendah, ini adalah portofolio yang baik bagi mereka yang ingin tetap aman. Bagian yang paling menarik datang berikutnya, mari kita lihat hasil tes ke depan atau di masa depan untuk portofolio ini.
Hasil ini dari 29 April 2020 hingga 4 September 2020. Portofolio Eigen melakukan yang terbaik tetapi juga memiliki banyak volatilitas. Selain itu, sebagian besar pengembalian itu disebabkan oleh Rocketing TSLA dalam beberapa bulan terakhir. Setelah itu, algoritma GA kami bekerja cukup efektif karena mengalahkan indeks pasar. Sekali lagi, seperti yang diharapkan, MVP memiliki risiko dan hadiah terendah dan perlahan-lahan naik dalam 4-5 bulan. Ini menunjukkan efektivitas dan kekuatan strategi optimasi portofolio algoritmik ini di mana kami telah mengembangkan portofolio yang berbeda untuk berbagai jenis risiko dan profil imbalan.
Kami senang berbagi perangkat ini dengan komunitas perdagangan dan berharap orang -orang akan menyukai dan berkontribusi untuk itu. Seperti halnya dengan segala sesuatu dalam perdagangan, strategi ini tidak sempurna tetapi didasarkan pada teori yang ketat dan beberapa hasil empiris yang hebat. Harap berhati -hati saat berdagang dengan strategi ini dan selalu mengelola risiko Anda. Hasil di atas tidak dipetik ceri tetapi pasar telah sangat bullish dalam beberapa bulan terakhir yang telah menyebabkan hasil kuat yang ditunjukkan di atas. Kami akan senang bagi masyarakat untuk mencoba berbagai strategi dan membaginya dengan kami.
Terima kasih khusus kepada blog Scott Rome. Portofolio eigen dan konsep portofolio varians minimum berasal dari posting blognya. Kode untuk memfilter nilai eigen dari matriks kovarians juga sebagian besar diperoleh dari salah satu posnya.
Produk berdasarkan Tradytics
Hak Cipta (C) 2020-Present, Tradytics.com