EITEN ist ein Open -Source -Toolkit von Tradytics, das verschiedene statistische und algorithmische Investitionsstrategien wie Eigenportfolios , Portfolios von maximaler Sharpe -Verhältnis und genetische Algorithmen basierende Portfolios implementiert. Sie können Ihre eigenen Portfolios mit Ihren eigenen Aktien erstellen, die den Markt übertreffen können. Das in Eiten enthaltene strenge Testframework ermöglicht es Ihnen, Vertrauen in Ihre Portfolios zu haben.
Wenn Sie diese Tools ausführlich besprechen und über weitere Tools sprechen, an denen wir arbeiten, können Sie sich Ihrem Discord -Kanal anschließen, in dem wir auch mehr Tools haben.
Weg | Beschreibung |
---|---|
Eiten | Hauptordner. |
└ Zahlen | Zahlen für diese Github -Repositories. |
└ Aktien | Ordner, um Ihre Aktienlisten zu halten, mit denen Sie Ihre Portfolios erstellen möchten. |
└ Strategien | Eine Reihe von Strategien, die in Python umgesetzt wurden. |
BackTester.py | Backtesting -Modul, das sowohl Backtests als auch vorwärts testet, testet alle Portfolios. |
Data_loader.py | Modul zum Laden von Daten aus Yahoo Finance. |
pORTFOLIO_MANAGER.PY | Hauptdatei, die eine Reihe von Argumenten aufnimmt und mehrere Portfolios für Sie generiert. |
Simulator.py | Simulator, der historische Renditen und Monte Carlo verwendet, um zukünftige Preise für die Portfolios zu simulieren. |
Strategy_Manager.py | Verwaltet die im Ordner "Strategien" implementierten Strategien. |
Sie müssen das folgende Paket installieren, um die Modelle zu trainieren und zu testen.
Sie können alle Pakete über den folgenden Befehl installieren. Bitte beachten Sie, dass das Skript mit Python3 geschrieben wurde.
pip install -r requirements.txt
Lassen Sie uns sehen, wie wir alle im Toolkit angegebenen Strategien verwenden können, um unsere Portfolios zu erstellen. Das erste, was Sie tun müssen, ist, die Datei setze.txt im Stocks -Ordner zu ändern und die Aktien Ihrer Wahl hinzuzufügen. Es wird empfohlen, die Liste klein zu halten, dh zwischen 5 und 50 Aktien sollte in Ordnung sein. Wir haben bereits eine kleine Aktienliste mit einer Reihe von Tech -Aktien wie AAPL, MSFT, TSLA usw. aufgestellt. Lassen Sie uns jetzt unsere Portfolios erstellen. Dies ist der Hauptbefehl, den Sie ausführen müssen.
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
Dieser Befehl verwendet die letzten 5 Jahre täglicher Daten ohne die letzten 90 Tage und erstellt mehrere Portfolios für Sie. Basierend auf diesen Portfolios werden sie auf den außerhalb von 90 Tagen außerhalb der Stichprobendaten getesteten und die Leistung jedes Portfolios angezeigt. Schließlich wird es auch die Leistung mit Ihrer Auswahl an Marktindex vergleichen, die hier QQQ ist. Lassen Sie uns im Detail in die einzelnen Parameter eintauchen.
Hier sind einige Beispiele zum Erstellen verschiedener Arten von Portfolios.
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
Derzeit werden vier verschiedene Portfoliostrategien vom Toolkit unterstützt.
Wenn Sie den obigen Befehl ausführen, generiert unser Tool Portfolios aus all diesen Strategien und gibt sie Ihnen. Schauen wir uns einige resultierende Portfolios an.
Für den Zweck dieser Ergebnisse verwenden wir die 9 Aktien in der Datei savel/s Stocks.txt. Wenn wir den obigen Befehl ausführen, erhalten wir zuerst die Portfoliogewichte für alle vier Strategien. Zu Testzwecken verwendete der obige Befehl bis zum 29. April die letzten fünf Jahre der täglichen Daten. Die verbleibenden Daten für dieses Jahr wurden für die Vorwärtstests verwendet, dh die Portfoliostrategien hatten keinen Zugriff darauf beim Erstellen der Portfolios.
Was ist, wenn mein Portfolio unterschiedliche Aktien benötigt? : Alles, was Sie tun müssen, ist die Aktien in der Datei setze.txt zu ändern und das Tool erneut auszuführen. Hier ist der endgültige Befehl wieder, den wir ausführen, um unsere Portfolios zu erhalten:
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
Wir können sehen, dass das Eigen -Portfolio TSLA ein großes Gewicht verleiht, während die anderen ihre Gewichte gleichmäßiger teilen. Ein interessantes Phänomen, das hier stattfindet, ist die Absicherung mit SQQQ , dass alle Strategien automatisch gelernt haben. Jedes Tool weist SQQQ ein gewisses Gewicht zu und weist auch anderen Aktien positive Gewichte zu, was darauf hinweist, dass die Strategien automatisch versuchen, die Portfolios vom Risiko abzusichern. Offensichtlich ist das nicht perfekt, aber nur die Tatsache, dass es passiert, ist faszinierend. Sehen wir uns die Ergebnisse der Backtest in den letzten fünf Jahren vor dem 29. April 2020 an.
Die Backtests sehen ziemlich ermutigend aus. Die schwarz gepunktete Linie ist der Marktindex, dh QQQ . Andere Linien sind die Strategien. Unsere implementierte genetische Algorithmus -Implementierung scheint die besten Ergebnisse zu erzielen, da es sich um eine erweiterte Version anderer Strategien handelt. Das Eigenportfolio, das TSLA am meisten wog, haben die meisten Volatilität, aber seine Gewinne sind ebenfalls sehr hoch. Schließlich hat der MVP wie erwartet die Mindestvarianz und letztendlich den geringsten Gewinn. Da die Varianz jedoch extrem niedrig ist, ist es ein gutes Portfolio für diejenigen, die in Sicherheit bleiben möchten. Der interessanteste Teil kommt als nächstes. Sehen wir uns die Vorwärts- oder zukünftigen Testergebnisse für diese Portfolios an.
Diese Ergebnisse sind vom 29. April, 2020 bis zum 4. September 2020. Das Eigenportfolio gab das Beste, aber es hatte auch viel Volatilität. Darüber hinaus sind die meisten dieser Renditen auf TSLA -Rocketing in den letzten Monaten zurückzuführen. Danach funktionierte unser GA -Algorithmus ziemlich effektiv, als er den Marktindex übertraf. Wie erwartet hatte der MVP wieder das niedrigste Risiko und die niedrigste Belohnung und stieg in 4-5 Monaten langsam auf. Dies zeigt die Wirksamkeit und Leistung dieser algorithmischen Portfolio -Optimierungsstrategien, bei denen wir verschiedene Portfolios für verschiedene Arten von Risiko- und Belohnungsprofilen entwickelt haben.
Wir freuen uns, dieses Toolkit mit der Handelsgemeinschaft zu teilen und zu hoffen, dass Menschen es mögen und dazu beitragen. Wie bei allem im Handel sind diese Strategien nicht perfekt, aber sie basieren auf strengen Theorien und einigen großartigen empirischen Ergebnissen. Bitte achten Sie beim Handel mit diesen Strategien und verwalten Sie immer Ihr Risiko. Die oben genannten Ergebnisse waren nicht von Cherry ausgewählt, aber der Markt war in den letzten Monaten sehr optimistisch, was zu den starken Ergebnissen geführt hat, die oben gezeigt wurden. Wir würden uns freuen, wenn die Community verschiedene Strategien ausprobieren und sie mit uns teilen würde.
Besonderer Dank geht an Scott Roms Blog. Die Eigenportfolios und die Mindestvarianzportfolio -Konzepte stammen aus seinen Blog -Posts. Der Code für die Filterung von Eigenwerten der Kovarianzmatrix wurde auch hauptsächlich aus einem seiner Posten erhalten.
Ein Produkt von Tradytics
Copyright (C) 2020-Present, tradytics.com