Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Daten mit Python herunterladen, transformieren und in Excel schreiben || Aktienanalyse mit Python Teil 6
Daten mit Python herunterladen, transformieren und in Excel schreiben || Aktienanalyse mit Python Teil 6
Willkommen zum sechsten Teil meiner Serie über Aktienanalysen mit Python. In der Videobeschreibung finden Sie Links zu den vorherigen fünf Videos sowie einen Link zum GitHub-Repository, das den Code enthält.
Im vorherigen Teil haben wir verschiedene Möglichkeiten zur Darstellung der Schlusskurse ausgewählter Aktien untersucht. Im sechsten Teil werden wir nun einen anderen Ansatz verfolgen, um Daten zu erhalten und mit Excel-Dateien zu arbeiten. Wir erstellen eine Funktion namens „get_return_data“, die mindestens einen Ticker als Eingabe benötigt (mehrere Ticker können durch Kommas getrennt oder in einem Python-Sammlungsobjekt gespeichert werden). Darüber hinaus ermöglicht die Funktion den Benutzern, ein Datum anzugeben und zwischen dem Schlusskurs und dem angepassten Schlusskurs zu wählen. Die Daten werden in einer Excel-Datei gespeichert und können auch in einer Variablen gespeichert werden.
Zunächst müssen wir den API-Client einrichten. Wie zuvor verwenden wir die API „Historische Daten zum Tagesende“. Sie müssen die Variable „key“ durch Ihren eigenen API-Schlüssel ersetzen.
Als nächstes erstellen wir einen temporären DataFrame, um die heruntergeladenen Daten zu speichern. Wir durchlaufen die an die Funktion übergebenen Ticker und verwenden einen Try-Except-Block, um mögliche Fehler zu behandeln. Je nachdem, ob der Benutzer angepasste Schluss- oder Schlusskurse wünscht, hängen wir die entsprechende Spalte aus dem API-Aufrufergebnis an die Tickerspalte im DataFrame an.
Nachdem wir die Daten heruntergeladen und gespeichert haben, können wir beliebige Transformationen durchführen. In diesem Fall berechnen wir die momentane Rendite mit NumPy und lassen die erste Zeile weg. Wir berechnen auch die reguläre prozentuale Änderung mithilfe einer integrierten Methode.
Abschließend schreiben wir die Daten mithilfe des Pandas-Excel-Schreibobjekts in einem Kontextmanager in eine Excel-Datei. Für diesen Schritt ist die Angabe des Dateinamens und optional des Datumsformats erforderlich. Jede Variable wird in die „returns“-Datei eingefügt und eine Meldung wird gedruckt, um den Abschluss der Aufgabe anzuzeigen. Die Funktion gibt die Schlusskurse zurück und kann erweitert werden, um auch andere Daten zurückzugeben.
Wenn wir die Funktion mit vier Tickern testen, können wir die generierte Datei sehen, die die heruntergeladenen Daten enthält. Die Datei kann in Excel geöffnet werden, um die Daten anzuzeigen.
Damit ist Teil sechs der Serie abgeschlossen. Im siebten Teil werden wir untersuchen, wie man die Wertentwicklung mehrerer Aktien in einer einzigen Zahl darstellen kann.
Python für die Aktienanalyse: Darstellung des Leistungsrasters mehrerer Wertpapiere w\matplotlib || Teil 7
Python für die Aktienanalyse: Darstellung des Leistungsrasters mehrerer Wertpapiere w\matplotlib || Teil 7
Willkommen zum siebten Teil meiner Serie über die Verwendung von Python für die Aktienanalyse. In der Videobeschreibung finden Sie Links zu den vorherigen sechs Videos sowie zum GitHub-Repository, das den Code enthält.
Im sechsten Teil haben wir eine Funktion entwickelt, um Daten herunterzuladen, Transformationen durchzuführen und sie in einer Excel-Datei zu speichern. Im siebten Teil konzentrieren wir uns nun darauf, die relative Performance mehrerer Aktien in einem einzigen Diagramm darzustellen.
Zunächst lesen wir alle Dateien in einem bestimmten Ordner. In diesem Fall suchen wir im Ordner „Energie“. Wir überspringen alle Dateien, die mit Null beginnen.
Mithilfe der Matplotlib-Bibliothek erstellen wir ein Subplot-Objekt. Die Anzahl der Zeilen wird durch die Obergrenze der Länge der Dateien dividiert durch vier bestimmt, da wir vier Diagramme pro Zeile anzeigen möchten. Wir machen die Zahl groß, um potenziell viele Diagramme unterzubringen.
Als Nächstes verfolgen wir die Anzahl der hinzugefügten Diagramme und verwenden eine verschachtelte for-Schleife, um die Zeilen und Spalten der Abbildung zu durchlaufen. Wenn wir die letzte Zeile erreichen und diese nicht voll ist, behandeln wir die Ausnahme, indem wir die Anzahl erhöhen.
Innerhalb der Schleife lesen wir die Schlusskurse aus jeder Datei und wandeln die Daten in relative Performance um. Wir zeichnen die relative Leistung in den entsprechenden Achsen auf und fügen eine horizontale Linie bei 0 hinzu. Um die Daten als Prozentsatz zu formatieren, importieren wir das Tickermodul aus matplotlib.
Im Ausnahmeblock werden wir keine Maßnahmen ergreifen, da wir wissen, dass uns die Daten zum Plotten ausgehen. Wir übergeben einfach den Wert und erhöhen ihn, um mit der nächsten Datei fortzufahren.
Sobald alle Daten aufgezeichnet wurden, zeigen wir die Grafik.
Wenn wir den Code mit den Dateien im Ordner „energy“ testen, können wir das resultierende Diagramm sehen, das die relative Performance von 21 Wertpapieren über etwa ein Jahr zeigt.
Damit ist Teil sieben der Serie abgeschlossen. Im nächsten Video werden wir weitere Datenausschnitte aus der API für historische Tagesenddaten untersuchen.Laden Sie die Liste der Aktien herunter, die kurz vor Gewinn- oder Dividendenbekanntgabe stehen || Aktienanalyse mit Python Teil 8
Laden Sie die Liste der Aktien herunter, die kurz vor Gewinn- oder Dividendenbekanntgabe stehen || Aktienanalyse mit Python Teil 8
Willkommen zum achten Teil meiner Serie über die Verwendung von Python für die Aktienanalyse. In diesem Video befassen wir uns eingehender mit der API für historische End-of-Day-Daten und erkunden zusätzliche Funktionen, die über das Abrufen von Preisen hinausgehen. Die API ist umfassend und auch wenn wir nicht alles abdecken, zeige ich Ihnen ein paar Beispiele, die für Sie nützlich sein könnten. Die von der API bereitgestellte Dokumentation ist umfangreich und kann Sie bei der Erkundung verschiedener Datensätze unterstützen.
Zunächst konzentrieren wir uns darauf, Gewinndaten für Unternehmen zu erhalten, die diese Woche Bericht erstatten. Zunächst initialisieren wir unseren API-Client, indem wir unseren API-Schlüssel übergeben (ersetzen Sie ihn durch Ihren eigenen). Anschließend laden wir die Daten herunter und speichern sie in einem DataFrame.
Die Funktion, die wir für diese Aufgabe verwenden, erfordert keine Parameter. Sobald wir den DataFrame haben, extrahieren wir die Symbole der Unternehmen, die diese Woche Gewinne melden, und speichern sie in einer Liste.
Um die Daten für eine bestimmte Börse, beispielsweise die USA, zu filtern, durchlaufen wir jede Zeile im DataFrame und prüfen, ob das Symbol mit „us“ endet. Aktiensymbole werden in den historischen Tagesenddaten als Codes bezeichnet und ihre Endungen entsprechen der Börse, zu der sie gehören. Wir fügen unserer Liste die relevanten Symbole hinzu, mit Ausnahme der Börseninformationen.
Nachdem wir alle Zeilen durchgegangen sind, drucken wir die Anzahl der Unternehmen aus, die diese Woche Gewinne melden, und geben die Liste der Symbole zur weiteren Analyse zurück.
Lassen Sie uns nun untersuchen, wie Sie Dividenden für ein bestimmtes Ex-Datum abrufen können. Wir beginnen mit dem heutigen Datum. Die Funktionseinrichtung ähnelt der vorherigen, bei der wir einen API-Client erstellen und die Daten in einen DataFrame herunterladen.
Die Funktion, die wir dieses Mal verwenden werden, heißt get_bulk_market. Mit dieser Funktion können Sie verschiedene Datenpunkte abrufen, darunter auch Schlusskurse für einen gesamten Markt. Bei Dividenden geben wir die Daten, an denen wir interessiert sind, als „Dividenden“ an.
Nach dem Aufruf geben wir den resultierenden DataFrame zurück.
Wenn wir diese Funktion testen, rufen wir Dividenden mit dem heutigen Ex-Datum ab. Der Code druckt die Dividenden unter Annahme der Standardwerte für den US-Markt und des heutigen Datums.
Der resultierende DataFrame zeigt die Dividenden mit ihren jeweiligen Sätzen an. Da wir den US-Markt betrachten, werden die Dividenden in US-Dollar erfolgen. Darüber hinaus liefert der DataFrame Informationen über die Häufigkeit von Dividendenzahlungen.
Damit ist Teil acht abgeschlossen. In Teil neun schließen wir Abschnitt eins mit der Erstellung eines einfachen Screeners ab.So erstellen Sie einen Aktien-Screener mithilfe einer API || Aktienanalyse mit Python Teil 9
So erstellen Sie einen Aktien-Screener mithilfe einer API || Aktienanalyse mit Python Teil 9
Dies ist Teil 9 unserer Serie zur Aktienanalyse mit Python. Links zu den vorherigen Videos finden Sie in der Beschreibung, sowie den Code auf GitHub.
In diesem letzten Abschnitt von Abschnitt 1 werden wir ein Beispiel für einen Aktien-Screener untersuchen. Das Ziel besteht darin, einen einfachen Screener zu erstellen, der das 52-Wochen-Hoch, den aktuellen Preis und das Kurs-Gewinn-Verhältnis mehrerer Wertpapiere analysiert. Dies wird uns helfen, Wertpapiere für die weitere Analyse zu identifizieren.
Um dies zu erreichen, verwenden wir den Fundamental-Feed für historische Tagesenddaten. Beginnen wir mit der Untersuchung der Daten, die wir durch einen Aufruf dieses Feeds erhalten. Wir erstellen ein Client-Objekt und rufen grundlegende Daten für ein bestimmtes Wertpapier ab, beispielsweise Apple. Dadurch erhalten wir einen großen Datenrahmen mit verschiedenen Informationen, darunter Finanzdaten, Bilanzen und mehr. Wir können bestimmte Abschnitte mithilfe von Indexpositionen erkunden.
Als Nächstes konzentrieren wir uns auf die technischen Aspekte des Index und verwenden sowohl die Hilfsbibliothek für historische Tagesenddaten als auch einen Endpunkt zum Massen-Download der Schlusskurse für den letzten Tag. Wir speichern die Daten in einem Datenrahmen und setzen den Index zurück. Bei diesem Aufruf werden die Schlusskurse aller Wertpapiere an der US-Börse abgerufen. Anschließend können wir die Daten so filtern, dass sie nur die Wertpapiere enthalten, an denen wir interessiert sind.
Um unseren Aktien-Screener zu erstellen, erstellen wir einen Client und durchlaufen die Symbole, die wir analysieren möchten. Wir füllen ein Wörterbuch mit dem 52-Wochen-Hoch für jedes Wertpapier. Wenn für ein Wertpapier diese Informationen nicht verfügbar sind, überspringen wir sie und setzen die Schleife fort.
Nachdem wir die erforderlichen Daten erhalten haben, führen wir die Schlusskurse und 52-Wochen-Höchstkurse zusammen und berechnen das Kurs-Gewinn-Verhältnis. Wir geben den resultierenden Datenrahmen zurück, der die Wertpapiere, ihre Schlusskurse, Höchststände und Verhältnisse enthält.
Um unseren Screener zu testen, rufen wir mit der Funktion get_sp Symbole aus dem S&P 500 ab und drucken das Ergebnis aus. Hier werden die Schlusskurse, 52-Wochen-Höchstwerte und Kennzahlen für die ersten 10 Wertpapiere im S&P 500 angezeigt.
In Teil 10 werden wir uns mit der Analyse einzelner Wertpapiere befassen und mit dem Aufbau einer Klasse zu diesem Zweck beginnen. Seien Sie im nächsten Teil dabei, um mehr über die Analyse von Wertpapieren auf individueller Ebene zu erfahren.
Aktienanalyse Python: So analysieren Sie Aktien automatisch mit Python || Teil 10
Aktienanalyse Python: So analysieren Sie Aktien automatisch mit Python || Teil 10
Dies ist Teil 10 meiner Serie über Python zur Aktienanalyse. Die Links zu den vorherigen Videos finden Sie in der Beschreibung unten sowie einen Link zum GitHub-Repository, wo der gesamte Code verfügbar ist. In diesem Teil konzentrieren wir uns zunächst auf einzelne Wertpapiere statt auf ganze Börsen oder große Listen mit Aktiensymbolen.
Zu Beginn habe ich bereits die notwendigen Importe für diesen Teil eingebunden, wie Datetime, Matplotlib, Numpy, Pandas und Seaborn. Außerdem habe ich eine symbolische Konstante definiert, die ein Datum vor etwa einem Jahr darstellt, das vom Benutzer mithilfe eines ISO-formatierten Datums geändert werden kann.
Als nächstes schreibe ich eine Klasse namens „Stock“, die einzelne Wertpapiere verwaltet. Die Klasse wird mit Parametern für das Aktiensymbol, den API-Schlüssel und das Datum (mit einem Standardwert) initialisiert. Darüber hinaus ermöglicht es dem Benutzer, einen Ordner anzugeben, in dem Daten gespeichert werden können, mit dem Standardwert „Keine“.
Innerhalb der Klasse definiere ich eine Methode namens „get_data“, die die Bestandsdaten abruft. Es prüft zunächst, ob die Daten im angegebenen Ordner bereits verfügbar sind, indem es das Symbol mit den verfügbaren Dateien vergleicht. Werden die Daten gefunden, werden diese in einen DataFrame eingelesen und standardisiert. Andernfalls werden die Daten über die API abgerufen und als DataFrame zurückgegeben.
Durch die Initialisierung einer Stock-Instanz werden das Symbol, der API-Schlüssel, das Datum und die Daten als Instanzvariablen gespeichert. Um die Funktionalität zu testen, erstelle ich ein Stock-Objekt und drucke die Daten aus.
Damit ist Teil 10 der Serie abgeschlossen. In Teil 11 werden wir der Stock-Klasse weitere Datentransformationen hinzufügen.Python für die Aktienanalyse: Aktienrenditen und -volatilität automatisch berechnen und grafisch darstellen || Teil 11
Python für die Aktienanalyse: Aktienrenditen und -volatilität automatisch berechnen und grafisch darstellen || Teil 11
Willkommen zu Teil 11 meiner Serie über Python zur Aktienanalyse. Die Links zu den vorherigen Videos und dem GitHub-Repository finden Sie in der Beschreibung unten.
In Teil 10 haben wir eine einfache Klasse erstellt, um ein Aktiensymbol zu initialisieren und seine Daten entweder aus einem lokalen Ordner oder über eine API abzurufen. In diesem Teil werden wir uns eingehender mit Datentransformationen befassen und mit der Darstellung der Daten beginnen.
Zuerst füge ich eine neue Methode namens „calculate_volatility“ hinzu, die einen DataFrame als Eingabe verwendet. Um diese Methode mit der Methode „get_data“ zu integrieren, werde ich sie entsprechend ändern. Innerhalb der Methode „calculate_volatility“ füge ich dem DataFrame mehrere Spalten hinzu. Die erste Spalte enthält die Renditen, berechnet als logarithmische Differenz der Schlusskurse mit einer Genauigkeit von vier Dezimalstellen.
Als Nächstes berechne ich die rollierende Volatilität, die die Standardabweichung der Renditen über einen Zeitraum von 21 Tagen darstellt. Ich werde das Ergebnis auf vier Dezimalstellen runden. Zusätzlich füge ich die Spalten „Absolute Veränderung“, „Hoch-Tief-Spanne“ und „Erwartete Veränderung“ mit entsprechender Rundung hinzu.
Um das Ausmaß der Aktienbewegung zu analysieren, berechne ich eine Spalte namens „Größe“, die die tatsächliche Veränderung dividiert durch die erwartete Veränderung darstellt, gerundet auf zwei Dezimalstellen. Zum Schluss füge ich eine Spalte mit absoluten Werten für mögliche grafische Darstellungszwecke hinzu.
Ich lösche die ersten Zeilen, die aus den Berechnungen resultierende NaN-Werte enthalten, und rufe dann die Methode „calculate_volatility“ innerhalb der Methode „get_data“ auf.
Testen wir den Code, indem wir eine Stock-Instanz initialisieren und den DataFrame drucken.
Lassen Sie uns nun die Renditeverteilung grafisch darstellen, indem wir ein Histogramm erstellen. Ich bestimme das Start- und Enddatum und zeichne dann das Histogramm mit 20 Abschnitten und einer Kantenfarbe. Um den Titel hervorzuheben, verwende ich einen Übertitel mit zwei Zeilen, der den Datumsbereich angibt. Zum Schluss zeige ich die Handlung.
Lassen Sie uns den Code ausführen und das Histogramm untersuchen, das einen Überblick über die Renditeverteilung der Aktie im vergangenen Jahr bietet.
Damit ist Teil 11 abgeschlossen. In Teil 12 werden wir weiter an weiteren Diagrammen arbeiten, bevor wir uns anderen Datentransformationen zuwenden.So berechnen und normalisieren Sie erwartete Aktienrenditen || Python-Aktienanalyse Teil 12
So berechnen und normalisieren Sie erwartete Aktienrenditen || Python-Aktienanalyse Teil 12
Willkommen zu Teil 12 meiner Serie über Python zur Aktienanalyse. Den Code und Links zu anderen Videos finden Sie in der Beschreibung unten.
In Teil 11 haben wir grundlegende Datentransformationen in unserer Stock-Klasse durchgeführt, indem wir Spalten zum DataFrame hinzugefügt und die Verteilung der Renditen aufgezeichnet haben. In diesem Video fahren wir mit weiteren Plotoptionen fort, die für die Aktienanalyse nützlich sein können.
Lassen Sie uns zunächst die Volatilität der Aktie grafisch darstellen. Der Aufbau wird dem ähneln, was wir zuvor gemacht haben, einschließlich des Supertitels und des Start- und Enddatums. Wir erstellen ein Streudiagramm, in dem die x-Achse die Erträge und die y-Achse die absolute Größe der Änderung der Standardabweichungen darstellt. Als Referenz fügen wir horizontale und vertikale Linien hinzu.
Lassen Sie uns den Code ausführen und das Streudiagramm der Volatilität untersuchen. Wir können den Bereich der prozentualen Änderungen und die Anzahl der Standardabweichungen beobachten. Beispielsweise gab es im vergangenen Jahr keine Veränderungen über dreieinhalb Standardabweichungen hinaus.
Lassen Sie uns als Nächstes die Wertentwicklung der Aktie grafisch darstellen. Auch hier bleibt der Großteil des Codes gleich, sodass wir ihn kopieren und ein paar Anpassungen vornehmen können. Anstelle eines Streudiagramms erstellen wir ein Liniendiagramm, um die relative Leistung im Zeitverlauf zu verfolgen. Wir dividieren die Schlusskurse durch den Schlusskurs am ersten Tag, subtrahieren 1, um die prozentuale Änderung zu erhalten, multiplizieren mit 100 und formatieren sie als Prozentsatz auf der y-Achse. Wir behalten die horizontale Linie als Referenz.
Wenn Sie den Code ausführen, wird das Liniendiagramm der Wertentwicklung der Aktie angezeigt. Wir können sehen, wie sich die Aktie im gegebenen Zeitraum entwickelt hat, indem wir sie mit dem Startpreis vergleichen. In diesem Fall können wir in den letzten Monaten einen positiven Trend mit anschließendem Rückgang beobachten.
Sie können die Figurengröße jederzeit anpassen und andere Handlungsoptionen entsprechend Ihren Anforderungen erkunden.
Damit ist Teil 12 abgeschlossen. In Teil 13 werden wir uns mit weiteren Datentransformationen befassen.Python für die Aktienanalyse: Daten nach Optionsablauf und Volatilität filtern || Teil 13
Python für die Aktienanalyse: Daten nach Optionsablauf und Volatilität filtern || Teil 13
Willkommen zu Teil 13 meiner Serie über Python zur Aktienanalyse. Den Code und Links zu anderen Videos auf GitHub finden Sie in der Beschreibung unten.
In Teil 12 haben wir verschiedene Diagramme untersucht, die für die Aktienanalyse nützlich sein könnten. In diesem Video erweitern wir unsere Stock-Klasse um einige Methoden zur Untersuchung verschiedener Datenausschnitte.
Schreiben wir zunächst eine Methode, um die Tage zu identifizieren, an denen Optionen ablaufen. Dies sind die dritten Freitage jedes Monats. Wir nennen diese Methode „option_expiration“. Um dies zu erreichen, erstellen wir eine Maske mit der Funktion np.where von NumPy. Wir geben drei Bedingungen an: Der Index der Daten sollte größer als der 14. (frühestmöglicher dritter Freitag), kleiner als der 21. (spätestmöglicher dritter Freitag) sein und einem Freitag (Wochentag 4) entsprechen. Wir geben die Daten mit dieser Maske zurück, was zu einem DataFrame führt, der nur den Ablauf freitags enthält.
Als Nächstes schreiben wir unsere endgültige Methode, die bestimmt, wie lange die niedrige Volatilität seit den letzten beiden Standardabweichungsbewegungen angehalten hat. Wir nennen diese Methode „low_vol_duration“. Um dies zu implementieren, fügen wir den Daten eine Spalte mit dem Namen „Tage weniger als 2 Standardabweichung“ hinzu und initialisieren sie mit Nullen. Anschließend iterieren wir über die Daten und überprüfen die Größe jeder Zeile. Wenn die Magnitude weniger als zwei beträgt, erhöhen wir die Anzahl und aktualisieren die entsprechende Zeile in der Spalte „Tage unter 2 Standardabweichung“. Wenn die Größe zwei oder mehr beträgt, setzen wir den Zähler auf Null zurück. Zum Schluss geben wir den DataFrame zurück, der nur die Zeilen mit zwei Standardabweichungsbewegungen enthält und die Anzahl der Tage zwischen den einzelnen Bewegungen anzeigt.
Lassen Sie uns den Code ausführen und die Ergebnisse untersuchen. Wir können die Tage des Optionsverfalls sehen, die zwischen dem 15. und 21. eines jeden Monats liegen. Darüber hinaus haben wir die Dauer der niedrigen Volatilität, die die Anzahl der Tage seit den beiden vorherigen Standardabweichungsbewegungen angibt. Vor etwa einem Jahr waren beispielsweise seit den beiden vorherigen Standardabweichungsbewegungen zwei Tage vergangen, gefolgt von Perioden von 32, 41 usw.
Damit ist Teil 13 abgeschlossen und Abschnitt 2 abgeschlossen. Ich ermutige Sie, die Stock-Klasse entsprechend Ihren Anforderungen weiterzuentwickeln und zu erweitern. In Teil 14 untersuchen wir, wie wir unsere Funktionen in ein Python-Paket packen, das mit pip installiert werden kann.Python-Bestandsanalyse: Erstellen und veröffentlichen Sie Ihre eigenen benutzerdefinierten Python-Pakete mit Pip in VS-Code
Python-Bestandsanalyse: Erstellen und veröffentlichen Sie Ihre eigenen benutzerdefinierten Python-Pakete mit Pip in VS-Code
In diesem Video führe ich Sie durch den Prozess des Packens Ihres Python-Codes in eine Bibliothek, die mit pip installiert werden kann. Dies ist das letzte Video meiner Serie über Python für die Aktienanalyse, in der wir Themen wie Datenabruf, Datentransformation, Visualisierung und Datenüberprüfung behandelt haben. Links zu den vorherigen Videos finden Sie in der Beschreibung unten, sowie einen Link zum GitHub-Repository.
Das Ziel der Paketierung unseres Codes besteht darin, die Verwendung und Wiederverwendung in bestimmten Python-Projekten komfortabler zu gestalten. Obwohl ich den Prozess so demonstrieren werde, als würden wir den Code in PyPI (Python Package Index) veröffentlichen, ist es wichtig zu beachten, dass der Code möglicherweise nicht sofort für PyPI bereit ist. Wir werden es zunächst einrichten und lokal installieren, um den Prozess zu verstehen. In Zukunft könnten Sie jedoch den Code ändern und etwas erstellen, das Sie einem breiteren Publikum zugänglich machen möchten.
Der Verpackungsprozess kann je nach Komplexität des Projekts variieren. Da unser Code in unserem Fall aus zwei Modulen besteht, ist der Prozess relativ einfach. Hier ist eine Übersicht über die Schritte:
Sobald Sie die Ordner und Konfigurationsdateien eingerichtet haben, können Sie die Bibliothek lokal mit pip installieren. Öffnen Sie die Befehlszeile, navigieren Sie zum übergeordneten Ordner und führen Sie den Befehl „pip install“ aus. Dadurch wird die Bibliothek installiert, sodass von jeder Python-Umgebung aus darauf zugegriffen werden kann.
Nach der Installation können Sie die Bibliothek testen, indem Sie Python starten und das Modul „analyze“ importieren. Sie können auch die Funktion „Hilfe“ verwenden, um Metadaten zum Paket anzuzeigen.
Denken Sie daran, dass sich der Paketierungsprozess im Laufe der Zeit weiterentwickeln kann und es mehrere Möglichkeiten gibt, Code für die Installation zu packen. Die hier beschriebenen Schritte sind ein Ausgangspunkt, und Sie können zusätzliche Optionen erkunden, wenn Ihre Projekte komplexer werden.
Ich hoffe, dieses Tutorial hilft Ihnen beim Einstieg in die Erstellung Ihrer eigenen Python-Pakete.
Backtesting und Live-Handel mit Interactive Brokers unter Verwendung von Python.
Backtesting und Live-Handel mit Interactive Brokers unter Verwendung von Python.
Dr. Julio beginnt die Sitzung mit einer Einführung in den algorithmischen Handel und seine Vorteile. Er erklärt, dass der algorithmische Handel es Händlern ermöglicht, den Druck der ständigen Überwachung des Marktes zu verringern, menschliche Fehler zu minimieren und mehr freie Zeit für andere Aktivitäten zu schaffen. Er hebt die vier Hauptkomponenten des algorithmischen Handels hervor: Broker, das Internet, Programme und Computer.
Der Fokus verlagert sich dann auf Interactive Brokers (IB), das als größte elektronische Handelsplattform in den Vereinigten Staaten eingeführt wird. Dr. Julio erklärt, dass IB eine fortschrittliche API-Technologie anbietet, die es Händlern ermöglicht, Programme für den Handel zu nutzen und so wettbewerbsfähige Preise und Zugang zu globalen Märkten zu ermöglichen. Er betont, dass Python-Programme für den algorithmischen Handel mit IB genutzt werden können.
Als nächstes stellt Dr. Julio eine Python-Software namens Hybrid Fat Pack vor, die es Händlern ermöglicht, eine algorithmische Handelsplattform auf ihren lokalen oder Cloud-Computern einzurichten. Er hebt den Hauptvorteil dieser Plattform hervor, nämlich die Möglichkeit, geistiges Eigentum zu schützen, da keine Informationen im Internet offengelegt oder hochgeladen werden müssen. Händler können außerdem Backtesting und Live-Handel an einem Ort durchführen, mehrere Konten verwalten und mit verschiedenen Brokern handeln, indem sie verschiedene Python-Pakete wie TensorFlow und Scikit-learn verwenden. Er bietet Anweisungen zum Herunterladen und Einrichten der Hybrid Fat Pack-Plattform von der Website des AI Bridge PI.
Anschließend erklärt Dr. Julio die Schritte, die zum Einrichten der Tools für Backtesting und Live-Handel mit Interactive Brokers unter Verwendung von Python erforderlich sind. Er empfiehlt Benutzern, die erforderlichen Tools herunterzuladen und zu speichern, darunter Interactive Brokers, offizielle IP-Terminals und Python. Er stellt außerdem Links zu Tutorials, Dokumentationen und einem Community-Forum für zusätzliche Unterstützung bereit. Dr. Julio demonstriert die Konfiguration von WS (Workstation) und IB Gateway und zeigt, wie man mit Anaconda eine Python-Umgebung öffnet. Er führt einen Python-Code aus, um den Einrichtungsprozess zu veranschaulichen, und gibt Tipps zum Organisieren von Fenstern für eine bessere Produktivität.
Anschließend erläutert der Referent die ersten Schritte zur Verwendung von Interactive Brokers mit Python. Er weist Benutzer an, eine Datei mit dem Namen „Romina Eva“ zu öffnen und ihren Kontocode zu suchen, der in der Datei entsprechend aktualisiert werden muss. Der Referent zeigt, wie man einen Python-Code auswählt und ausführt, einen Händler initialisiert und den Kontostand, den Barwert, den Portfoliowert und ausstehende Aufträge anzeigt. Benutzer können mit Hybrid Fat Pack verschiedene Wertpapiere wie Aktien, Optionen, Futures und Forex handeln. Der Referent weist darauf hin, dass getätigte Bestellungen nicht manipuliert werden können und mit einer Genehmigungs-ID aufgeführt werden.
Der Prozess des Abrufens von Echtzeit- und historischen Preisdaten von Interactive Brokers wird demonstriert. Durch das Kommentieren/Entkommentieren bestimmter Codezeilen zeigt der Sprecher, wie man entweder Echtzeit- oder historische Daten abruft und sie in einem benutzerfreundlichen Format ausdruckt. Die Codestruktur und drei wesentliche Funktionen im Python-Code werden erläutert, darunter die Funktion „Initialisieren“, die zu Beginn ausgeführt wird, und die Funktion „Daten verarbeiten“, bei der Handelsentscheidungen standardmäßig alle 2 Sekunden getroffen und ausgeführt werden.
Dr. Julio erklärt, wie man Handelsentscheidungen mit Python und Interactive Brokers trifft. Benutzer können den Code so konfigurieren, dass er Entscheidungen nach festen Zeitplänen trifft, sei es jede Sekunde, jede Stunde, jeden Tag oder zu bestimmten Zeiten. Er stellt drei entscheidende Funktionen für die Erstellung von Handelsentscheidungen vor: Initialisierung, Datenverarbeitung und Auftragserteilung. Zur Veranschaulichung des Prozesses werden Beispielcodes bereitgestellt, um historische Daten abzurufen und den Briefkurs des I Spears ETF auszudrucken. Der Redner nutzt den Datenrahmen von Panda, um historische Daten abzurufen und auszudrucken, und zeigt, wie Python für Handelsentscheidungen genutzt werden kann.
Der Redner erläutert die Auftragserteilung mithilfe globaler Variablen und Echtzeitpreise und liefert Beispiele für den Kauf von Aktien. Über Interactive Brokers werden Wertpapiere gesucht, Filter wie der US-Großmarkt und ein Preis über 100 US-Dollar angewendet und die Cat-Scan-Ergebnisfunktion genutzt, um relevante Informationen zu erhalten. Die Schritte zum Aufbau einer Algo-Strategie werden erläutert, einschließlich der Vertragsidentifizierung, der Häufigkeit von Handelsentscheidungen mithilfe von Handle-Daten oder geplanten Funktionen, der Abfrage historischer Daten und der Auswahl des Auftragstyps. Es wird ein Beispiel für eine Daily-Close-Reversion-Strategie vorgestellt, bei der Handelsentscheidungen auf der Grundlage des Schlusskurses des Vortages getroffen werden. Eine Zeitplanfunktion ist so definiert, dass sie täglich zu einem bestimmten Zeitpunkt ausgeführt wird, um den Entscheidungsprozess und nachfolgende Aktionen auszulösen.
Das Video behandelt zwei Beispiele für Handelsstrategien in Python. Das erste Beispiel zeigt eine grundlegende Strategie, die auf den Schlusskursen zweier aufeinanderfolgender Tage basiert. Wenn der heutige Schlusskurs höher ist als der gestrige, werden alle Positionen verkauft; andernfalls wird SPY gekauft. Der Code ist erklärt und relativ einfach. Das Video stellt dann das Konzept des Backtestings vor und präsentiert ein fortgeschritteneres Beispiel einer Crossover-Strategie mit gleitendem Durchschnitt. Es wird der Prozess der Anwendung einer Strategie auf historische Daten und der Bewertung ihrer Leistung besprochen. Der Code für diese Strategie wird erklärt und bleibt einfach. Das Video behandelt außerdem das Abrufen und Verarbeiten von Daten sowie das Analysieren von Testergebnissen und das Anzeigen von Portfoliowerten.
Dr. Julio erläutert den Prozess des Backtestings und des Live-Handels mit Interactive Brokers unter Verwendung von Python. Er erklärt den Standardmodus, in dem die Handle-Data-Funktion jede Minute zu Testzwecken ausgeführt wird, und die Bedeutung eines historischen Dateninjektionsplans. Er erläutert im Detail, wie man dem Code minutengenaue und tägliche Daten zur Verfügung stellt und wie man den Zeitrahmen und die Häufigkeit für das Backtesting mit Interactive Brokers festlegt. Es wird ein Codebeispiel demonstriert, das zeigt, wie man einen Backtester durchführt, Kontoinformationen abruft und verwaltet und den Ausgabeordner auf Kontostand und Barwert überprüft.
Der Redner betont die Vorteile der Bereitstellung von vom Benutzer bereitgestellten historischen Daten zur Verbesserung der Codeleistung. Während für Debugging-Zwecke genaue Simulationsdaten von Interactive Brokers erforderlich sind, kann das Anfordern unnötiger Informationen zeitaufwändig sein. Dr. Julio schlägt vor, nur einen Teil der historischen Daten bereitzustellen oder Zufallsdaten zu verwenden, was die Codeleistung erheblich verbessern kann. Er zeigt, wie man historische Daten aus einer lokalen CSV-Datei bereitstellt, den gewünschten Zeitbereich und Datentyp angibt und Tests schneller und effizienter durchführt, indem man eine benutzerdefinierte Zeitliste und den „Render“-Datenanbieter verwendet.
Dr. Julio erörtert die Leistungsanalyse und ihre Bedeutung für die Bewertung der Leistung einer algorithmischen Handelsstrategie. Er erklärt die Notwendigkeit historischer Daten zum Testen und Verfeinern von Code und wie ein Leistungsanalysediagramm Variablen wie die Sharpe-Ratio berechnen kann, um diesen Prozess zu unterstützen. Sobald Sie mit den Backtesting-Ergebnissen zufrieden sind, empfiehlt der Redner, auf ein Papierkonto umzusteigen, um die Strategie unter realen Marktbedingungen durchzuführen. Er zeigt auch, wie man mit iBridgePy mehrere Konten verwaltet, was für Fondsmanager von entscheidender Bedeutung ist.
Dr. Julio hebt abschließend die Flexibilität und Benutzerfreundlichkeit der Hybrid Fat Pack-Software hervor, die sie zu einem leistungsstarken Werkzeug für den algorithmischen Handel macht.