Python im algorithmischen Handel - Seite 16

 

Die neuesten Backtesting-Funktionen von IBridgePy von Dr. Hui Liu – 9. August 2019


Die neuesten Backtesting-Funktionen von IBridgePy von Dr. Hui Liu – 9. August 2019

Dr. Hui Liu, der Erfinder von iBridgePy, bietet einen detaillierten Überblick über die neuesten Backtesting-Features und -Funktionalitäten von iBridgePy. Er beginnt mit der Erörterung der Grundfunktionen von iBridgePy und der Erläuterung der grundlegenden Schritte beim Aufbau algorithmischer Handelsstrategien.

Dr. Liu konzentriert sich auf das Backtesting-System von iBridgePy und präsentiert zwei Beispielcodes, um dessen Verwendung zu demonstrieren. Der erste Beispielcode nutzt historische Daten von Interactive Brokers, während der zweite Beispielcode veranschaulicht, wie Benutzer ihr Backtesting-Erlebnis verbessern können, indem sie ihre eigenen historischen Daten bereitstellen. Er betont, wie wichtig es ist, die Backtesting-Leistung zu analysieren, um Bereiche für zukünftige Verbesserungen zu identifizieren.

Während der Präsentation stellt Dr. Liu die Hybrid Pie-Funktion vor, die es Benutzern ermöglicht, verschiedene von Beraterbrokern angebotene Wertpapiere oder Rohstoffe zu handeln und mehrere Konten gleichzeitig zu verwalten. Er hebt die Vorteile für Anlageberater hervor, beispielsweise die Umsetzung mehrerer Handelsstrategien und die Ausführung von Beratungsalgorithmen beim Backtesting.

Um eine Verbindung zu Brokern herzustellen und Echtzeitdaten abzurufen, zeigt Dr. Liu, wie man in iBridgePy zwischen verschiedenen Dateien wechselt, z. B. „Beispiel für Positionen anzeigen“, „Beispiel für Echtzeitpreise“ und „Historische Daten abrufen“. Benutzer können Kontocodes und Dateinamen anpassen und auf Kontostände und ausstehende Bestellungen zugreifen. Die Initialisierungsfunktion in iBridgePy deklariert globale Variablen, und Benutzer können Codeboxen verwenden und Unterstützung vom iBridgePy-Team anfordern, indem sie Hybridpaketversionen melden. Dr. Liu bietet außerdem Anleitungen zum Schließen von IBGateway und zum Öffnen der TWS Trade Workstation.

Der Referent behandelt die wichtigsten Funktionen in iBridgePy, beginnend mit der Initialisierungsfunktion, die am Anfang des Codes ausgeführt wird. Die Handle-Data-Funktion, die Handelsentscheidungen trifft, kann so geplant werden, dass sie jede Minute oder in einem konfigurierbaren Intervall ausgeführt wird. Benutzer können die Zeitplanfunktion für die Ereignisplanung verwenden, anstatt Daten zu verwalten. Mit der Funktion show_real_time_price kann auf Echtzeitpreise für bestimmte Wertpapiere zugegriffen werden, während historische Daten mit der Funktion request_historical_data abgerufen werden können. Um Wertpapiere zu kaufen oder zu verkaufen, wird die Funktion place_order verwendet. Dr. Liu bietet eine Live-Demo der Aktien-Screener-Funktion an, in der deren Funktionsweise demonstriert wird.

Dr. Liu erläutert die Aktien-Screener-Funktion in iBridgePy, die es Benutzern ermöglicht, nach Aktien basierend auf der Stimmung und dem Preis in den sozialen Medien zu suchen. Benutzer können ihre Suchparameter wie Instrumententyp, Standortcode und Scancode definieren. Als Beispiel wird das Social Sentiment Net als Scan-Code für die Suche nach US-Hauptaktien mit Kursen über 100 US-Dollar verwendet. Der Redner führt den Aktien-Screener in Aktion vor, präsentiert eine Liste der aktivsten Aktien und betont, wie die Stimmung in sozialen Medien Einblicke in die Beliebtheit von Aktien liefern kann. Abschließend betont er, wie wichtig es ist, bei der Entwicklung algorithmischer Handelsstrategien Verträge auszuwählen und Richtlinien für das Risikomanagement festzulegen.

Die grundlegenden Schritte zum Aufbau algorithmischer Handelsstrategien mit iBridgePy werden von Dr. Liu erklärt. Er bespricht die Auswahl einer Aktie, die Festlegung des Zeitintervalls für Handelsentscheidungen, die Berechnung technischer Indikatoren anhand historischer Daten, die Auswahl von Ordertypen und den Umgang mit Ausnahmen. Als Beispiel stellt er eine einfache Umkehrstrategie vor, die auf der manuellen Eingabe des SPY-Kontrakts und dem Treffen von Handelsentscheidungen anhand täglicher Schlusskurse basiert. Der Beispielcode umfasst geplante Funktionen und eine tägliche Funktion zum Treffen von Handelsentscheidungen.

Dr. Liu befasst sich intensiv mit den Backtesting-Funktionen von iBridgePy und betont die Möglichkeit, historische Daten abzurufen und einen Pandas-Datenrahmen zur Analyse der Schlusskurse von Wertpapieren zu nutzen. Er demonstriert einen Beispielcode für eine Trendstrategie unter Verwendung eines gleitenden Durchschnitts-Crossovers und erklärt die Grundlagen des Backtestings. Beim Backtesting geht es darum, eine auf historischen Daten basierende Übungsstrategie zu implementieren, um Handelsentscheidungen zu treffen und deren Leistung anhand historischer Daten zu testen. Er hebt auch die alternative Verwendung der Handle-Data-Funktion zur Steuerung des Timings der Funktionsausführung hervor und bietet eine Option zur geplanten Funktion basierend auf den Öffnungs- und Schließzeiten des US-Marktes.

Dr. Liu gibt Einblicke in das iBridgePy-Backtesting-System und den damit verbundenen Prozess. Er erklärt, dass im Backtesting-Modus mit iBridgePy die verwendeten Zeitkapseln oder Candlesticks dem Live-Handel sehr ähnlich sind. Jede Kerze enthält Informationen wie Startzeit, Eröffnungspreis, Höchstpreis, Tiefstpreis, Schlusspreis und Volumen. Allerdings beinhaltet die Zeitkapsel weder den Brief- noch den Geldkurs, da der Spread im Backtesting nicht genau modelliert werden kann.

Dr. Liu erwähnt, dass der Backtesting-Modus Market Orders, Limit Orders und Stop Orders unterstützt, Trailing Orders jedoch derzeit nicht unterstützt werden, da sie möglicherweise keine aussagekräftigen Ergebnisse liefern. Transaktionsdetails während des Backtestings werden im Ausgabeordner gespeichert, wobei der Dateiname den Zeitpunkt enthält, zu dem das Backtesting gestartet wurde.

Anschließend erklärt Dr. Liu den grundlegenden Prozess zum Einrichten einer Backtesting-Periode in iBridgePy. Benutzer können den Zeitrahmen zum Abrufen historischer Daten für bestimmte Bestände festlegen und die Zeitpunkthäufigkeit als eine Minute, eine Stunde oder einen Tag angeben. Historische Daten aus älteren Verträgen können mithilfe von Tickern wie SPY oder AAPL abgerufen werden. Der Code sollte gezielt zum spätesten Spotzeitpunkt ausgeführt werden, um sicherzustellen, dass die Daten im gewünschten Zeitrahmen verfügbar sind. Standardmäßig beginnt das Bargeld bei 10.000 US-Dollar. Anschließend demonstriert Dr. Liu anhand einer Demo, wie der Kontostand und die Position angezeigt werden.

In seiner Präsentation zeigt Dr. Liu, wie man die Backtesting-Funktionen von iBridgePy nutzt, um einen Democode für eine enge Preisumkehr zu simulieren. Er zeigt, wie man Echtzeitpreise auf der Grundlage historischer Daten nutzt und wie man das Ziel ausführt, um seine Leistung zu beobachten. Er zeigt auch, wie das Intervall geändert werden kann, um den Code stündlich statt jede Minute auszuführen. Insgesamt bietet das Video eine nützliche Demonstration, wie die Backtesting-Funktionen von iBridgePy für Anlagestrategien genutzt werden können.

Dr. Liu erläutert weiterhin, wie wichtig es ist, mithilfe von iBridgePy Verbesserungen am Backtesting-Prozess vorzunehmen. Er schlägt vor, die wiederholte Ausführung desselben Codes zum Abrufen genau derselben Daten zu vermeiden, da dies Ressourcen verschwendet und gegen die IB-Abstandsregeln verstößt. Stattdessen empfiehlt er, historische Daten mithilfe eines definierten Plans mit demselben Dateinamen abzurufen und so die Menge an Code zu reduzieren, die ausgeführt werden muss. Ein weiterer Vorschlag besteht darin, vom Benutzer bereitgestellte historische Daten zu verwenden, anstatt Daten von Interactive Brokers abzurufen, was den Backtesting-Prozess effizienter machen kann.

Darüber hinaus stellt Dr. Liu die Funktion der Bereitstellung lokaler Daten für Backtesting in iBridgePy vor. Benutzer können eine CSV-Datei mit allen erforderlichen Spalten wie Eröffnungspreis, Höchstpreis, Schlusskurs, Volumen usw. bereitstellen. iBridgePy übernimmt die Daten aus der lokalen Datei und simuliert das Backtesting entsprechend. Wenn das Volume nicht verfügbar ist, können Benutzer „-1“ als Wert eingeben. Diese Funktion gewährleistet genaue Ergebnisse für die persönlichen Strategien der Benutzer und erhöht die Effizienz von Simulationen.

Dr. Liu hebt außerdem die zusätzlichen Backtesting-Funktionen in iBridgePy hervor, wie zum Beispiel benutzerdefinierte Zeitgeneratoren und die Möglichkeit, Zufallszahlen zum Testen von Code zu verwenden. Er zeigt, wie man mit einem Python-Paket und einer benutzerdefinierten Liste eine Zeitreihe erstellt und wie man Code mit Zufallszahlen anstelle von Echtzeitpreisen testet. Er erörtert außerdem die Bedeutung der Leistungsanalyse und stellt die Verwendung einer Protokolldatei vor, um die Leistung des Backtestings zu verfolgen und zu analysieren. Diese neuen Funktionen bieten schnellere und effizientere Möglichkeiten zum Testen und Analysieren von Code in iBridgePy.

Darüber hinaus erörtert Dr. Liu weitere Funktionen des Backtestings von iBridgePy, darunter das Bilanzprotokoll, das weitere Details zum Portfoliowert und zur Liquidität liefert, sowie das Transaktionsprotokoll. Er zeigt, wie man Backtesting-Ergebnisse mithilfe von Metriken wie der Sharpe Ratio und dem Matplotlib-Paket visualisiert und analysiert, um Diagramme zu erstellen. Dr. Liu weist darauf hin, dass Benutzer, sobald sie mit ihren Ergebnissen auf einem Papierkonto zufrieden sind, zu einem Live-Konto für den echten Handel wechseln können.

Während der Frage-und-Antwort-Runde des Webinars beantwortet Dr. Liu verschiedene Fragen der Teilnehmer zu den neuesten Funktionen von iBridgePy. Eine Frage betrifft die Verwaltung der Anlagekonten anderer Personen mit iBridgePy. Dr. Liu erklärt, dass Einzelpersonen Portfolioberater werden und ein Verwaltungskonto bei Interactive Brokers einrichten können, um die Anlagekonten anderer Personen mithilfe von iBridgePy zu verwalten.

Eine weitere Frage betrifft das Herunterladen von Beispielcode für eine bestimmte Strategie. Dr. Liu schlägt vor, dass Teilnehmer den erforderlichen Beispielcode von der iBridgePy-Website erhalten oder sich an das iBridgePy-Community-Forum wenden können. Darüber hinaus berät er die Teilnehmer, wie sie historische Optionspreise und griechische Daten für das Backtesting erhalten. Dr. Liu erwähnt, dass Einzelpersonen historische Optionspreise von Interactive Brokers erhalten und Python-Code schreiben können, um griechische Daten zu nutzen, wenn sie Zugriff darauf haben.

Ein Teilnehmer fragt, ob iBridgePy eine API zum Abrufen einer Beobachtungsliste unterstützt. Dr. Liu stellt klar, dass iBridgePy derzeit keine spezifische API zum Abrufen einer Beobachtungsliste bereitstellt. Er schlägt jedoch vor, dass Benutzer manuell eine Beobachtungsliste innerhalb der Plattform von Interactive Brokers erstellen können.

Abschließend beendet Dr. Liu das Webinar, indem er die Teilnehmer dazu auffordert, weitere Fragen im iBridgePy-Community-Forum zu stellen oder ihm eine E-Mail zu senden. Er versichert den Teilnehmern, dass auf Anfrage eine Aufzeichnung des Vortrags zur Verfügung steht. Dr. Liu erinnert Benutzer außerdem daran, die iBridgePy-Website zu besuchen, um die Software herunterzuladen und auf die API-Dokumentation zuzugreifen. Er dankt den Teilnehmern für ihre Anwesenheit und Aufmerksamkeit während des gesamten Webinars.

  • 00:00:00 Dr. Hui Liu bespricht die neuesten Backtesting-Funktionen von iBridgePy und gibt einen kurzen Überblick über iBridgePy. Er geht auf die Grundfunktionen von iBridgePy ein und erklärt die grundlegenden Schritte zum Aufbau eines Algorithmus für Handelsstrategien. Anschließend konzentriert er sich auf das iBridgePy-Backtesting-System und stellt zwei Beispielcodes für das Backtesting bereit. Das erste Beispiel verwendet historische Daten von Interactive Brokers, und im zweiten Beispiel wird erläutert, wie das Backtesting-Erlebnis durch die Verwendung historischer Daten verbessert werden kann, die von Benutzern bereitgestellt werden. Dr. Liu spricht abschließend über die Bedeutung der Analyse der Backtesting-Leistung für zukünftige Verbesserungen.

  • 00:05:00 Dr. Hui Liu erläutert die neuesten Backtesting-Funktionen von IBridgePy, einschließlich der Möglichkeit, alle von Beraterbrokern angebotenen Wertpapiere oder Waren zu handeln und mit der Hybrid Pie-Funktion mehrere Konten gleichzeitig zu verwalten. Anlageberater können auch von der Fähigkeit von IBridgePy profitieren, mehrere Handelsstrategien auszuführen und während des Backtestings Beratungsalgorithmen auszuführen. Die Anweisungen zur Vorbereitung der Hybrid Pie-Funktion sind unkompliziert und umfassen das Herunterladen von IBridgePy, das Erstellen eines Papier- oder Live-Kontos bei einem Broker wie Interactive Brokers sowie die Installation der IB-Software, entweder des leichtgewichtigen IB-Gateways oder der GUI-basierten Trader-Workstation, und deren Konfiguration mit IBridgePy.

  • 00:10:00 Dr. Hui Liu demonstriert, wie man mit IBridgePy eine Verbindung zu Brokern herstellt und Echtzeitdaten erhält, indem man zwischen verschiedenen Dateien wie „Beispiel für Positionsanzeige“, „Beispiel für Echtzeitpreise“ und „Historische Daten abrufen“ wechselt “. Benutzer können Kontocodes und Dateinamen ändern und Kontostände und ausstehende Bestellungen überprüfen. Die Initialisierungsfunktion deklariert globale Variablen in IBridgePy, und Benutzer können Codefelder verwenden und das IBridgePy-Team um Hilfe bitten, indem sie Hybridpaketversionen melden. Abschließend zeigt Dr. Hui Liu, wie man IBGateway schließt und die TWS Trade Workstation öffnet.

  • 00:15:00 Der Referent geht kurz darauf ein, wie man eine Verbindung zu TWS herstellt und erklärt dann die wichtigsten Funktionen in iBridgePy. Die Initialisierungsfunktion wird so deklariert, dass sie am Anfang des Codes ausgeführt wird, während die Handle-Data-Funktion der Ort ist, an dem Handelsentscheidungen getroffen werden, und die jede Minute oder in einem konfigurierbaren Intervall ausgeführt wird. Um Ereignisse zu planen, kann der Benutzer die Zeitplanfunktion verwenden, anstatt Daten zu verarbeiten. Mit der Funktion „show_real_time_price“ kann auf den Echtzeitpreis für ein bestimmtes Wertpapier zugegriffen werden, und mit der Funktion „request_historical_data“ können historische Daten abgerufen werden. Die Funktion „place_order“ wird zum Kauf oder Verkauf von Wertpapieren verwendet, außerdem bietet der Referent eine Live-Demo der Stock-Screener-Funktion.

  • 00:20:00 Dr. Hui Liu, der Erfinder von iBridgePy, zeigt, wie man mit der Aktien-Screener-Funktion nach Aktien basierend auf der Stimmung und dem Preis in den sozialen Medien sucht. Er erklärt, dass Benutzer ihre Suchparameter für den Scanner definieren können, indem sie den Instrumententyp, den Standortcode und den Scancode angeben, anhand eines Beispiels für die Verwendung von Social Sentiment Net als Scancode für eine Suche nach US-amerikanischen Hauptaktien mit Kursen über 100 US-Dollar. Anschließend führt Dr. Liu den Aktien-Screener auf dem Live-Markt vor, zeigt eine Liste der aktivsten Aktien und zeigt, wie die Stimmung in den sozialen Medien Aufschluss über die Beliebtheit bestimmter Aktien geben kann. Abschließend skizziert er einige wichtige Überlegungen zum Aufbau algorithmischer Handelsstrategien, einschließlich der Auswahl der zu handelnden Kontrakte und der Festlegung von Risikomanagementrichtlinien.

  • 00:25:00 Dr. Hui Liu erläutert die grundlegenden Schritte zum Aufbau algorithmischer Handelsstrategien mit iBridgePy, gefolgt von einem einfachen Beispiel einer Umkehrstrategie. Zu den Schritten zum Aufbau einer Strategie gehören die Auswahl einer Aktie, die Festlegung des Zeitintervalls für Handelsentscheidungen, die Berechnung technischer Indikatoren anhand historischer Daten, die Auswahl von Auftragstypen und die Behandlung von Ausnahmen. Die einfache Umkehrstrategie beinhaltet die manuelle Eingabe des SPY-Kontrakts und das Treffen von Handelsentscheidungen auf der Grundlage der täglichen Schlusskurse. Der Beispielcode für die Strategie umfasst geplante Funktionen und eine tägliche Funktion zum Treffen von Handelsentscheidungen.

  • 00:30:00 Dr. Hui Liu erläutert die neuesten Backtesting-Funktionen von iBridgePy, einschließlich der Möglichkeit, historische Daten abzurufen und einen Pandas-Datenrahmen zur Analyse der Schlusskurse von Wertpapieren zu verwenden. Er demonstriert einen Beispielcode für eine Trendstrategie mit Crossover des gleitenden Durchschnitts und erläutert die Grundlagen des Backtestings, bei dem eine Übungsstrategie implementiert wird, bei der vergangene Daten berücksichtigt werden, um Handelsentscheidungen zu treffen, und diese dann anhand historischer Daten getestet werden, um festzustellen, ob sie zu erfolgreichen Ergebnissen führen. Liu weist außerdem darauf hin, dass die herkömmliche Funktion „Handle-Daten“ verwendet werden kann, um zu steuern, wann eine Funktion ausgeführt wird. Dies stellt eine Alternative zur geplanten Funktion dar, die auf den Öffnungs- und Schließzeiten des US-Marktes basiert.

  • 00:35:00 Dr. Hui Liu erklärt, dass im Backtesting-Modus mit Ibridgepy die verwendeten Zeitkapseln oder Candlesticks dem Live-Handel sehr ähnlich sind. Jede Kerze enthält Informationen wie Startzeit, Eröffnungspreis, Höchstpreis, Tiefstpreis, Schlusspreis und Volumen. Allerdings beinhaltet die Zeitkapsel weder den Brief- noch den Geldkurs, da der Spread im Backtesting nicht gut modelliert werden kann. Die Daten können von IB bereitgestellt werden oder ein Benutzer kann seine eigenen Datenquellen in einem beliebigen Format bereitstellen, solange Python sie lesen und in einen Pandas-Datenrahmen umwandeln kann. Der Backtesting-Modus unterstützt derzeit Market Order, Limit Order und Stop Order, jedoch nicht Trailing Order, da dieser nicht genau ist und keine aussagekräftigen Ergebnisse liefert. Schließlich werden die Transaktionsdetails im Ausgabeordner unter einem Dateinamen gespeichert, der den Zeitpunkt enthält, zu dem das Backtesting gestartet wurde.

  • 00:40:00 Dr. Hui Liu erklärt die Grundlagen des iBridgePy-Backtesting-Systems. Wenn ein simulierter Handelstag beginnt, berechnet das System den Portfoliowert und zeichnet ihn im Bilanzprotokoll auf. Anschließend demonstriert er die Verwendung historischer Daten von Interactive Brokers und das Backtesting einer Strategie namens „Close Price Reversion“. Dazu wählt er den Dateinamen aus und ändert einige Parameter, wie z. B. den Namen des Datenanbieters und den Ausführungsmodus. Er erklärt auch das Konzept eines historischen Datenaufnahmeplans, bei dem Benutzer iBridgePy mitteilen, welche Daten sie von Interactive Brokers erhalten möchten, um sie in ihrer Strategie zu verwenden. Um Backtests durchzuführen, benötigen Benutzer tägliche Balkenverlaufsdaten und eine Minute Daten, um eine Minute vor Marktschluss Informationen zum Marktschlusspreis abzurufen.

  • 00:45:00 Dr. Hui Liu erklärt den Prozess der Einrichtung einer Backtesting-Periode in iBridgePy. Der Zeitrahmen kann so eingestellt werden, dass historische Daten für bestimmte Bestände abgerufen werden, und die Zeitpunkthäufigkeit kann auf eine Minute, eine Stunde oder einen Tag eingestellt werden. Historische Daten aus alten Verträgen können mit dem SPY- oder AAPL-Ticker abgerufen werden. Der Code sollte zum aktuellsten Zeitpunkt ausgeführt werden und Daten innerhalb des richtigen Zeitrahmens sollten verfügbar sein. Das Standardgeld beginnt bei 10.000 US-Dollar und Hui zeigt anhand einer Demo, wie der Kontostand und die Position angezeigt werden.

  • 00:50:00 Dr. Hui Liu demonstriert, wie man die Backtesting-Funktionen von IBridgePy nutzt, um einen Democode für eine Umkehr des Schlusskurses zu simulieren. Er zeigt, wie man Echtzeitpreise basierend auf historischen Daten nutzt und wie man das Ziel ausführt, um zu sehen, wie es funktioniert. Er zeigt auch, wie man das Intervall ändert, um den Code jede Stunde statt jede Minute auszuführen. Insgesamt bietet das Video eine nützliche Demonstration, wie die Backtesting-Funktionen von IBridgePy für Anlagestrategien genutzt werden können.

  • 00:55:00 Dr. Hui Liu erläutert Verbesserungen am Backtesting-Prozess mithilfe von iBridgePy. Der erste Vorschlag besteht darin, zu vermeiden, dass derselbe Code wiederholt ausgeführt wird, um genau dieselben Daten abzurufen, was Ressourcen verschwendet und gegen die IB-Abstandsregeln verstößt. Stattdessen werden historische Daten mithilfe eines definierten Plans mit demselben Dateinamen abgerufen, wodurch die Menge des auszuführenden Codes reduziert wird. Der zweite Vorschlag besteht darin, vom Benutzer bereitgestellte historische Daten zu verwenden, anstatt Daten von IB abzurufen, um den Backtesting-Prozess effizienter zu gestalten.

  • 01:00:00 Dr. Hui Liu erläutert die Funktion der Bereitstellung lokaler Daten für das Backtesting in IBridgePy. Anstatt Daten vom ID-Server abzurufen, können Benutzer eine CSV-Datei mit allen erforderlichen Spalten wie Eröffnungspreis, Höchstpreis, Schlusskurs, Volumen usw. bereitstellen. IBridgePy übernimmt die Daten aus der lokalen Datei und simuliert das Backtesting entsprechend . Wenn das Volume jedoch nicht verfügbar ist, können Benutzer „-1“ als Wert eingeben. Darüber hinaus liefert diese Funktion genaue Ergebnisse für die persönlichen Strategien eines Benutzers und kann zu effizienten Simulationen führen.

  • 01:05:00 Dr. Hui Liu bespricht die neuesten Backtesting-Funktionen von IBridgePy, wie zum Beispiel benutzerdefinierte Zeitgeneratoren und die Möglichkeit, Zufallszahlen zum Testen von Code zu verwenden. Er zeigt, wie man mit einem Python-Paket und einer benutzerdefinierten Liste eine Zeitreihe erstellt und wie man Code mit Zufallszahlen statt mit Echtzeitpreisen testet. Er bespricht auch die Leistungsanalyse mithilfe einer Protokolldatei, um die Leistung des Backtestings zu verfolgen und zu analysieren. Insgesamt bieten diese neuen Funktionen schnellere und effizientere Möglichkeiten zum Testen und Analysieren von Code in IBridgePy.

  • 01:10:00 Dr. Hui Liu bespricht zusätzliche Funktionen des Backtestings von iBridgePy, einschließlich des Bilanzprotokolls, das weitere Details zum Portfoliowert und Bargeld anzeigt, sowie das Transaktionsprotokoll. Er zeigt außerdem, wie man Backtesting-Ergebnisse mithilfe des Sharpe-Ratio- und Matplotlab-Pakets visualisiert und analysiert, um Diagramme zu erstellen. Dr. Liu weist darauf hin, dass Benutzer, sobald sie mit ihren Ergebnissen auf einem Papierkonto zufrieden sind, zu einem Live-Konto wechseln können.

  • 01:15:00 Dr. Hui Liu beantwortet verschiedene Fragen von Webinar-Teilnehmern zu den neuesten Funktionen von iBridgePy. Er erwähnt, dass Einzelpersonen die Anlagekonten anderer Personen bei iBridgePy verwalten können, nachdem sie Portfolioberater geworden sind und ein Verwaltungskonto bei IB eingerichtet haben. Die Teilnehmer fragen auch nach dem Herunterladen von Beispielcode für die Strategie und nach dem Erhalt historischer Optionspreise und griechischer Daten für Backtests. Liu schlägt vor, dass Einzelpersonen historische Optionspreise von IB erhalten und Python-Code schreiben können, um die griechischen Daten zu verwenden, sofern sie darüber verfügen. Abschließend erwähnt er, dass iBridgePy keine API zum Abrufen einer Beobachtungsliste unterstützt, Einzelpersonen jedoch manuell eine in IB erstellen können.

  • 01:20:00 Dr. Hui Liu beendet das Webinar, indem er die Teilnehmer dazu auffordert, weitere Fragen im iBridgePy-Community-Forum zu stellen oder ihm eine E-Mail zu senden. Er erwähnt auch, dass eine Aufzeichnung der Präsentation auf Anfrage verfügbar sein wird und dass er in Kürze ein iBridgePy-Tutorial veröffentlichen wird, in dem die Teilnehmer den erforderlichen Code erhalten können. Dr. Liu erinnert Benutzer auch daran, dass sie die iBridgePy-Website besuchen können, um die Software herunterzuladen und die API-Dokumentation anzuzeigen. Abschließend dankt er den Teilnehmern für ihre Anwesenheit und Aufmerksamkeit.
IBridgePy’s Latest Backtesting Features By Dr. Hui Liu - August 9, 2019
IBridgePy’s Latest Backtesting Features By Dr. Hui Liu - August 9, 2019
  • 2019.09.11
  • www.youtube.com
Session outline:- IBridgePy's cornerstone functions.- Basic steps to build a trading strategy.- Backtest strategies using IB's historical data.- Backtest str...
 

Programmatischer Handel auf indischen Märkten mit Python | Kite Connect-API | Algo Trading Zerodha


Programmatischer Handel auf indischen Märkten mit Python | Kite Connect-API | Algo Trading Zerodha

Der Redner stellt Kite Connect vor, eine Plattform, die es Benutzern ermöglicht, programmgesteuert mit Python auf ihre Handelskonten zuzugreifen. Sie erklären, dass die Motivation hinter Kite Connect darin bestand, die Herausforderung einer zunehmenden Marktbeteiligung in Indien anzugehen. Sie führten das Konzept des Brokerage-as-a-Service ein und ermöglichten es Startups, die APIs von Kite Connect zu nutzen, um individuelle Handelserlebnisse für ihre Kunden zu schaffen. Dies wiederum zielt darauf ab, die nächsten 10 bis 20 Millionen Inder für Investitionen in die Märkte zu gewinnen. Der Redner hebt Zerodha außerdem als führendes Maklerunternehmen in Indien hervor, mit über 175.000 Kunden und einem erheblichen Beitrag zum indischen Aktienmarktumsatz.

Der Redner gibt Einblicke in die Ursprünge von Kite Connect, das entwickelt wurde, um Tausenden von Kunden in Indien eine einfache und erschwingliche Online-Handelsplattform bereitzustellen. Kite Connect erkennt den großen Pool an Software-Ingenieuren in Indien an, denen es oft an Möglichkeiten mangelt, ihre Fähigkeiten einzusetzen, und stellt seine APIs für Software-Ingenieure zur Verfügung, um Strategien zu testen und Positionen zu verwalten. Während die Plattform eine Gebühr für die API-Nutzung erhebt, bietet sie auch einen Rabattcode für neue Entwickler an, die sich anmelden. Anschließend stellt der Redner einen Kollegen vor, der demonstriert, wie einfach es ist, mit Kite Connect eine benutzerdefinierte Handelsplattform zu erstellen. Die Demonstration konzentriert sich auf das Erteilen von Aufträgen, das Abrufen von Positionsbeständen und schließlich auf die Entwicklung einer Handelsstrategie.

Der Redner bietet eine Schritt-für-Schritt-Anleitung zum Erhalten eines API-Schlüssels für die Kite Connect API, die für den programmatischen Handel auf dem indischen Markt mit Python von entscheidender Bedeutung ist. Sie erläutern außerdem das Konzept einer Postback-URL, mit der Benutzer über den Status ihrer Aufträge und Handelsbestätigungen informiert werden. Darüber hinaus betont der Redner die Bedeutung der Installation der Kite Connect Python-Bibliothek, die die Nutzung der API mit nur wenigen Codezeilen vereinfacht. Sie diskutieren die wesentlichen Funktionen einer Handels-App, die Bedeutung von Anfrageantworten und der Behandlung von Ausnahmen während des Entwicklungsprozesses der App sowie die Bedeutung einer sicheren Authentifizierung für jede Handels-App.

Als nächstes erklärt der Redner, wie Python mithilfe der Kite Connect API von Zerodha für den programmatischen Handel auf indischen Märkten verwendet werden kann. Der Prozess beginnt mit der Verwendung des API-Schlüssels zur Weiterleitung zur Kite-Plattform und der Anmeldung beim Benutzerkonto. Nach der Anmeldung wird ein Anforderungstoken zurückgesendet, das dann zur Authentifizierung des Benutzers und zum Erhalt eines Zugriffstokens verwendet wird. Der Referent bietet eine praktische Demonstration der Verwendung der Kite Connect-API und behandelt Schritte wie das Importieren der Bibliothek, das Speichern des API-Schlüssels und das Erhalten eines Anforderungstokens. Schließlich wird das Anforderungstoken mit dem API-Geheimnis gehasht, um ein Zugriffstoken zu erhalten.

Im Video geht es weiter um die Verwendung von Python und der Kite Connect API für den programmatischen Handel auf indischen Märkten. Es wird durch den Prozess der Einrichtung von Zugangs- und öffentlichen Token geführt, die dann zum Herstellen einer Verbindung mit der Kite Connect-API zum Streamen von Marktinformationen verwendet werden. Das Video erklärt, wie Sie eine Bestellung aufgeben, einschließlich der Angabe des Handelssymbols, der Menge, der Transaktionsart, der Auftragsart und des Produkts. Außerdem erfahren Sie, wie Sie Bestelldetails, Bestände und Positionen abrufen. Der Redner betont, dass es viele zusätzliche API-Aufrufe gibt, die über das hinausgehen, was im Video behandelt wird, aber alle sind auf der Website von Kite Connect gut dokumentiert.

Der Redner geht auf die Bedeutung von Instrumenten bei der Verwendung der Kite Connect API für den programmatischen Handel auf indischen Märkten ein. Instrumente werden zur Verarbeitung verschiedener Aktiensymbole und Verträge verwendet und erfordern eine eindeutige Instrumenten-ID, um Streaming-Daten zu abonnieren oder abzumelden. Der Referent erklärt, dass die Geräte-ID aus einer umfassenden CSV-Datei gewonnen werden kann und auch für den Zugriff auf historische Daten genutzt wird. WebSocket-Streaming wird besprochen, einschließlich verschiedener Modi des Datenempfangs wie LTP-Modus, Code-Modus und Volltextmodus. Der Referent liefert ein Beispiel dafür, wie das Streamen von Daten über WebSocket funktioniert und wie Rückrufe zum Empfangen von Daten verwendet werden können. Darüber hinaus erläutert der Referent die Verwendung von Postback und die Notwendigkeit einer öffentlichen URL für seine Implementierung.

Der Redner behandelt die Umsetzung einer Handelsstrategie anhand historischer Daten und betont die einfache Auftragserteilung mithilfe der Kite Connect API. Sie diskutieren, wie ein Startup über einen Endpunkt verfügen kann, um Postbacks vom Kite-Server zu empfangen und so unter anderem Benachrichtigungen über erfolgreiche oder fehlgeschlagene Bestellungen zu ermöglichen. Der Prozess zum Abrufen historischer Daten mithilfe der API wird demonstriert, wobei der Schwerpunkt auf dem Abonnieren der historischen Datenfunktion von Kite vor dem Anfordern der Daten liegt. Abschließend wird eine grundlegende Strategie für den gleitenden Durchschnitt vorgestellt, um die Einfachheit der Auftragserteilung mit der Kite-API zu veranschaulichen.

Der Redner teilt seine eigene Strategie für den programmatischen Handel auf indischen Märkten mit Python und der Kite Connect API. Die Strategie beinhaltet die Berechnung des gleitenden Durchschnitts und die Platzierung eines Handels bei jedem Crossover. Sie stellen die Funktion zur Auftragserteilung vor und verdeutlichen, dass für den eigentlichen Handel nur eine Codezeile erforderlich ist. Sie räumen zwar ein, dass ihre Strategie möglicherweise nicht die beste ist, betonen jedoch die einfache Implementierung und Modifikation für verschiedene Handelssymbole und Transaktionstypen. Der Redner erwähnt, dass die Kite Connect API Open Source ist und eine Anpassung und Verwendung bei der Erstellung von Handelsplattformen ermöglicht. Sie erwähnen auch die umfangreiche Dokumentation und das aktive Forum auf der Kite Connect-Website, um Benutzer bei Fragen und Problemen zu unterstützen.

Der CEO des Quant Institute (QuantInsti) stellt sein Unternehmen vor, das seit 2010 aktiv im algorithmischen und quantitativen Handel tätig ist. Sie bieten Schulungsprogramme und Veranstaltungen für Tausende von Studenten weltweit an. Der CEO bringt seine Zustimmung zum programmatischen Einsatz von Python in den im Webinar besprochenen Handelsstrategien zum Ausdruck und entschuldigt sich dafür, dass er nicht alle Fragen beantworten konnte, versichert dem Publikum jedoch, dass sein Team alle Anfragen sorgfältig prüft und beantwortet.

Der Redner erörtert die Auswirkungen des EPAT-Programms von QuantInsti, eines umfassenden sechsmonatigen Online-Kurses mit Schwerpunkt auf quantitativem und algorithmischem Handel. Das Programm deckt ein breites Themenspektrum ab, darunter Statistik, Ökonometrie, Finanzinformatik, Python, MATLAB, Backtesting-Tools und verschiedene Handelsstrategieparadigmen. Sie betonen, dass der Kurs von einer vielfältigen Gruppe erfahrener Praktiker aus der ganzen Welt unterrichtet wird. Absolventen des Programms sind gut auf den Einstieg ins Berufsleben vorbereitet, und QuantInsti bietet Karrieredienste und Beratung für diejenigen, die daran interessiert sind, ihre eigenen Trading-Desks einzurichten. Hervorgehoben wird die globale Reichweite des Programms mit Alumni in über 30 Ländern auf sechs Kontinenten.

Der Redner lädt die Zuschauer ein, an einer bevorstehenden Informationssitzung zum algorithmischen Handel teilzunehmen, die für den 3. November 2016 um 18:30 Uhr IST geplant ist. Sie ermutigen das Publikum, dem Unternehmen auf Social-Media-Plattformen wie Facebook, Twitter, LinkedIn und YouTube zu folgen, wo es Bildungsressourcen finden und an Diskussionen teilnehmen kann. Sie bieten an, Links an interessierte Teilnehmer zu senden und laden sie ein, Fragen über das bereitgestellte Formular auf borninstorms einzureichen. Abschließend erklärt der Redner, dass er nun damit beginnen werde, sich den Fragen des Publikums zu stellen.

  • 00:00:00 Der Redner stellt Kite Connect vor und erklärt, wie es Benutzern ermöglicht, programmgesteuert mit Python auf ihre Handelskonten zuzugreifen. Die Motivation hinter Kite Connect bestand darin, die Herausforderung einer wachsenden indischen Marktbeteiligung zu lösen, und das Konzept des Brokerage as a Service wurde eingeführt. Startups können die APIs von Kite Connect nutzen, um Nischen-Benutzererlebnisse für ihre Kunden zu schaffen, was dazu beitragen wird, die nächsten 10 bis 20 Millionen Inder für Investitionen in die Märkte zu gewinnen. Der Redner erwähnt auch, dass Zerodha die besten Plattformen des Landes bietet und über 175.000 Kunden hat, was zu einem erheblichen Teil des indischen Börsenumsatzes beiträgt.
    |
  • 00:05:00 Der Redner erklärt die Ursprünge von Kite Connect, das entwickelt wurde, um Tausenden von Kunden in Indien eine einfache und erschwingliche Online-Handelsplattform bereitzustellen. Kite Connect erkennt Indiens großen Pool an Software-Ingenieuren an, die häufig nicht die Möglichkeit haben, ihre Fähigkeiten einzusetzen, und stellt Software-Ingenieuren seine APIs zum Backtest von Strategien und zur Verwaltung von Positionen zur Verfügung. Die Plattform erhebt eine Gebühr für die Nutzung ihrer APIs, bietet aber auch neuen Entwicklern, die sich anmelden, einen Rabattcode an. Anschließend übergibt der Redner an einen anderen Kollegen, um zu demonstrieren, wie einfach es ist, mit Kite Connect eine individuelle Handelsplattform aufzubauen, mit dem Ziel, Aufträge zu erteilen, Positionsbestände zu erhalten und schließlich eine Strategie zu entwickeln.

  • 00:10:00 Der Referent bietet eine Schritt-für-Schritt-Anleitung zum Erhalten eines API-Schlüssels für die Kite Connect API, die für den programmatischen Handel auf dem indischen Markt mit Python unerlässlich ist. Der Referent erklärt auch die Postback-URL, die dazu dient, Benutzer über den Status ihrer Aufträge und Handelsbestätigungen zu informieren. Darüber hinaus betont der Redner, wie wichtig es ist, die Kite Connect Python-Bibliothek zu installieren, bei der es sich um einen Wrapper um die Kite Connect API handelt, der die Nutzung der API innerhalb weniger Zeilen Code vereinfachen soll. Der Redner beleuchtet auch die Aufschlüsselung der Grundfunktionen einer Handels-App und die Bedeutung von Anfrageantworten und Ausnahmen im Entwicklungsprozess der Handels-App. Hier wird auch der Anmeldevorgang erläutert, was die Bedeutung einer sicheren Authentifizierung für jede Handels-App hervorhebt.

  • 00:15:00 Der Redner erklärt, wie man Python für den programmatischen Handel auf indischen Märkten mithilfe der Kite Connect API von Zerodha verwendet. Der erste Schritt besteht darin, mit dem API-Schlüssel zur Kite-Plattform weiterzuleiten und sich beim Benutzerkonto anzumelden. Nach der Anmeldung wird ein Anforderungstoken zurückgesendet, das dann zur Authentifizierung des Benutzers und zum Erhalt eines Zugriffstokens verwendet wird. Anschließend führt der Redner eine praktische Demonstration der Verwendung der Kite Connect-API vor, einschließlich des Imports der Bibliothek, der Speicherung des API-Schlüssels und des Erhalts eines Anforderungstokens. Schließlich wird das Anforderungstoken verwendet, um ein Zugriffstoken zu erhalten, indem es mit dem API-Geheimnis gehasht wird.

  • 00:20:00 Das Video erläutert die Verwendung von Python und der Kite Connect API für den programmatischen Handel auf indischen Märkten. Das Video führt Sie durch den Prozess des Einrichtens eines Zugriffstokens und eines öffentlichen Tokens und der anschließenden Verwendung dieser Token zum Einrichten einer Verbindung mit der Kite Connect-API zum Streamen von Informationen. Das Video erklärt auch, wie man eine Bestellung aufgibt, einschließlich der notwendigen Komponenten wie Handelssymbol, Menge, Transaktionsart, Auftragsart und Produkt. Abschließend erfahren Sie im Video, wie Sie Auftragsdetails sowie Bestände und Positionen abrufen. Das Video betont, dass es über die im Video behandelten hinaus viele weitere API-Aufrufe gibt, die jedoch alle auf der Website von Kite Connect gut dokumentiert sind.

  • 00:25:00 Der Redner diskutiert die Bedeutung von Instrumenten bei der Verwendung der Kite Connect API für den programmatischen Handel auf indischen Märkten mit Python. Instrumente werden für den Umgang mit verschiedenen Aktiensymbolen und Verträgen verwendet und erfordern eine eindeutige Instrumenten-ID, um Streaming-Daten zu abonnieren oder abzumelden. Der Referent erklärt, dass die Instrumenten-ID aus einer riesigen CSV-Datei gewonnen werden kann und auch für den Zugriff auf historische Daten verwendet wird. Der Redner geht außerdem auf WebSocket-Streaming und die verschiedenen Modi ein, in denen Daten empfangen werden können, etwa LTP-Modus, Code-Modus und Volltextmodus. Der Referent liefert ein Beispiel dafür, wie das Streamen von Daten über WebSocket funktioniert und wie Rückrufe zum Empfangen von Daten verwendet werden. Abschließend erörtert der Redner die Verwendung von Postback und die Notwendigkeit einer öffentlichen URL zu seiner Implementierung.

  • 00:30:00 Der Redner bespricht die Implementierung einer Strategie unter Verwendung historischer Daten und die einfache Bestellung mithilfe der Kite Connect API. Er erklärt, wie ein Startup über einen Endpunkt verfügen kann, um Postbacks vom Kite-Server zu empfangen, mit denen unter anderem Benachrichtigungen für erfolgreiche oder fehlgeschlagene Bestellungen ausgelöst werden können. Er zeigt außerdem, wie man mithilfe der API historische Daten erhält, und betont die Notwendigkeit, die Funktion für historische Daten von Kite zu abonnieren, bevor historische Daten angefordert werden. Abschließend stellt er eine grundlegende Strategie des gleitenden Durchschnitts vor, um zu veranschaulichen, wie einfach es ist, Aufträge mit der Kite-API aufzugeben.

  • 00:35:00 Der Redner erklärt seine Strategie für den programmatischen Handel auf indischen Märkten mit Python und der Kite Connect API. Die Strategie beinhaltet die Berechnung des gleitenden Durchschnitts und die Platzierung eines Handels bei jedem Crossover. Die Funktion zur Auftragserteilung wird angezeigt, mit einer Codezeile für den eigentlichen Handel. Der Redner betont, dass ihre Strategie zwar nicht die beste auf dem Markt ist, sie aber leicht zu implementieren und für verschiedene Handelssymbole und Transaktionsarten zu modifizieren ist. Die Kite Connect-API ist Open Source und ermöglicht Änderungen und die Verwendung bei der Erstellung einer Handelsplattform. Der Redner erwähnt auch die umfangreiche Dokumentation und das aktive Forum auf der Kite Connect-Website, das bei Fragen und Problemen weiterhilft.

  • 00:40:00 Der CEO von Quantity stellt sein Unternehmen vor, das seit 2010 im algorithmischen und quantitativen Handel tätig ist und Schulungsprogramme und Veranstaltungen für Tausende von Studenten weltweit anbietet. Sie erwähnen ihre Übereinstimmung mit der programmatischen Verwendung von Python in den im Webinar besprochenen Handelsstrategien und entschuldigen sich dafür, dass sie nicht alle Fragen beantworten können, versichern dem Publikum jedoch, dass ihr Team daran arbeitet, alle Anfragen zu untersuchen und zu beantworten.

  • 00:45:00 Der Redner diskutiert die Auswirkungen des EPAT-Programms von QuantInsti, einem sechsmonatigen Online-Kurs mit Schwerpunkt auf quantitativem und algorithmischem Handel. Das Programm deckt ein breites Themenspektrum ab, darunter Statistik, Ökonometrie, Finanzinformatik, Python, MATLAB, Backtesting-Tools und verschiedene Handelsstrategieparadigmen. Der Kurs wird von einem internationalen Pool von mehr als einem Dutzend Praktikern mit umfangreicher Erfahrung in der Branche unterrichtet. Absolventen des Programms sind für den Einstieg in die Arbeitswelt bestens gerüstet, und QuantInsti bietet eine Vielzahl von Karrierediensten sowie kostenlose Beratung für diejenigen, die ihre eigenen Trading-Desks einrichten möchten. Das Programm hat eine globale Reichweite erreicht, mit Alumni in über 30 Ländern auf sechs Kontinenten.

  • 00:50:00 Der Redner lädt die Zuschauer ein, an der bevorstehenden Informationssitzung zum algorithmischen Handel teilzunehmen, die am 3. November 2016 um 18:30 Uhr IST stattfinden wird. Er ermutigt sie außerdem, dem Unternehmen auf Social-Media-Plattformen wie Facebook, Twitter, LinkedIn und YouTube zu folgen, wo sie eine Fülle von Bildungsressourcen finden und an Diskussionen teilnehmen können. Der Referent bietet außerdem an, Links an interessierte Teilnehmer zu senden und lädt sie ein, etwaige Anfrageformulare auf borninstorms auszufüllen. Abschließend sagt er, dass sie nun damit beginnen werden, Fragen aus dem Publikum zu beantworten.
Algo Trading Zerodha | Algo Trading in Indian Markets with Python | Kite Connect API
Algo Trading Zerodha | Algo Trading in Indian Markets with Python | Kite Connect API
  • 2016.10.18
  • www.youtube.com
In this comprehensive tutorial on Algo Trading Zerodha in Indian markets, we explore the power of Zerodha's KiteConnect API and Python programming language t...
 

Handel mit interaktiven Brokern mit Python | Von Dr. Hui Liu



Handel mit interaktiven Brokern mit Python | Von Dr. Hui Liu

Guten Abend alle zusammen! Willkommen zum Webinar zur Implementierung algorithmischer Handelsstrategien im Online-Markt, veranstaltet von Kuantan Ste. Mein Name ist Slow Me und ich bin hier Senior Program Manager. Wir freuen uns, dass heute Teilnehmer aus der ganzen Welt zu uns kommen, darunter auch diejenigen aus Hawaii, die es geschafft haben, hell und früh am Morgen zu uns zu kommen. Ihre Begeisterung ist wirklich inspirierend!

Unser geschätzter Redner für das heutige Webinar ist Dr. Hoyle Yu, ein renommierter Autor und Handelsexperte. Dr. Yu verfügt über einen beeindruckenden Hintergrund mit umfangreicher Erfahrung im US-Aktien- und Devisenmarkt. Er hat außerdem eine beliebte Python-Handelsplattform entwickelt, die es Händlern ermöglicht, ihre Strategien einfach umzusetzen. Mit einem Doktortitel der University of Virginia und einem Absolventen der Shanghai University bringt Dr. Yu eine Fülle von Wissen in dieses Webinar ein. Wir fühlen uns geehrt, ihn hier bei uns zu haben.

Bevor wir beginnen, möchte ich einen kurzen Überblick darüber geben, was wir im heutigen Webinar behandeln werden. Dr. Yu wird zunächst die Vorteile der Nutzung von Interactive Brokers als Handelsplattform erläutern. Anschließend wird er sich mit den Vorteilen der Verwendung von Python für den Handel befassen und sein eigenes Tool IBPY vorstellen, das den Handel mit Interactive Brokers vereinfacht. Das Webinar konzentriert sich auf Schlüsselaspekte des Echtzeithandels, einschließlich des Zugriffs auf Echtzeit-Preisdaten, des Abrufens historischer Daten und der Auftragserteilung. Dr. Yu wird außerdem die Handelsstrategie „Moving Average Crossover“ vorstellen.

Wir freuen uns, einen so angesehenen Redner und ein vielfältiges Publikum für dieses Webinar zu haben. Ohne weitere Verzögerung lade ich Dr. Hoyle Yu ein, das Wort zu ergreifen und sein Fachwissen über den Handel mit Interactive Brokers unter Verwendung von Python und IBPY zu teilen.

Heute werde ich über den Handel mit Interactive Brokers unter Verwendung von Python sprechen, insbesondere unter Verwendung von IBPY, einem von mir entwickelten Tool. Bevor wir uns mit den Details befassen, wollen wir zunächst die Vorteile von Interactive Brokers als Handelsplattform erkunden.

Interactive Brokers ist ein etabliertes Maklerunternehmen mit Sitz in den Vereinigten Staaten. Es bietet mehrere entscheidende Vorteile, die es bei Händlern zu einer beliebten Wahl machen. Erstens bietet Interactive Brokers eine robuste API für den automatisierten Handel, auf den wir uns heute konzentrieren werden. Diese API ermöglicht es Händlern, ihre Strategien effizient und effektiv umzusetzen. Zweitens bietet Interactive Brokers wettbewerbsfähige Handelskosten, was es zu einer kostengünstigen Option für Händler macht. Sie können ihre Handelskosten ganz einfach auf ihrer Website vergleichen. Basierend auf meiner persönlichen Erfahrung bieten sie kostengünstige Handelsoptionen. Drittens verfügt Interactive Brokers über eine umfassende globale Präsenz und bietet Zugang zu über hundert Marktzentren in 24 Ländern. Diese globale Reichweite ermöglicht es Händlern, verschiedene internationale Märkte zu erschließen, was eine Diversifizierung und erweiterte Handelsmöglichkeiten ermöglicht. Schließlich unterstützt Interactive Brokers eine breite Palette von Produkten, darunter Aktien, Optionen, Futures und Devisen, um den unterschiedlichen Bedürfnissen der Händler gerecht zu werden. Diese Vorteile machen Interactive Brokers für viele Händler zur bevorzugten Wahl.

Lassen Sie uns nun die Vorteile der Verwendung von Python für den Handel erkunden. Insbesondere für Einsteiger bietet Python zahlreiche Vorteile. Im Vergleich zu anderen Programmiersprachen wie Java oder C++ ist Python relativ einfach zu erlernen. Mit einigen Einführungskenntnissen kann man schnell die Grundlagen von Python verstehen und mit der Umsetzung von Handelsstrategien beginnen. Darüber hinaus ist Python eine Open-Source-Sprache, die Zugriff auf eine umfangreiche Sammlung von Modulen und Bibliotheken bietet. Diese Ressourcen können einfach heruntergeladen und in Ihre Handelssysteme integriert werden und bieten leistungsstarke Tools für die Datenanalyse, Visualisierung und den algorithmischen Handel. Das umfangreiche Ökosystem von Python macht es zu einer flexiblen und vielseitigen Sprache für Händler.

Nachdem wir nun die Vorteile von Interactive Brokers und Python verstanden haben, wollen wir uns mit den Möglichkeiten von IBPY befassen. IBPY vereinfacht den Handel mit Interactive Brokers, indem es eine benutzerfreundliche Oberfläche für Python-Entwickler bereitstellt. Es rationalisiert Aufgaben wie den Zugriff auf Echtzeit-Preisdaten, das Abrufen historischer Daten und das Aufgeben von Bestellungen. IBPY schließt die Lücke zwischen der Interactive Brokers API und Python und erleichtert Händlern die Umsetzung ihrer Strategien, ohne sich mit komplexem Code befassen zu müssen.

Eines der Hauptmerkmale von IBPY ist die Möglichkeit, auf Preisdaten in Echtzeit zuzugreifen. Händler können Live-Marktdaten, einschließlich Aktienkurse, Optionsketten und Futures-Preise, direkt in ihrer Python-Umgebung abrufen. Diese Echtzeitdaten ermöglichen es Händlern, fundierte Entscheidungen auf der Grundlage der neuesten Marktinformationen zu treffen und so ihre Erfolgschancen zu verbessern.

IBPY ermöglicht es Händlern auch, historische Daten abzurufen, die für Backtesting und Analyse von Handelsstrategien unerlässlich sind. Durch den Zugriff auf historische Preisdaten können Händler die Leistung ihrer Strategien unter verschiedenen Marktbedingungen bewerten und datengesteuerte Anpassungen vornehmen. IBPY bietet eine praktische Schnittstelle zum Abrufen historischer Daten für eine Vielzahl von Instrumenten, Zeitrahmen und Datentypen und ermöglicht so eine gründliche Analyse und Strategieverfeinerung.

Die Auftragserteilung ist ein weiterer entscheidender Aspekt des algorithmischen Handels, und IBPY vereinfacht diesen Prozess. Händler können die IBPY-API verwenden, um verschiedene Arten von Aufträgen zu übermitteln, darunter Market Orders, Limit Orders und Stop Orders. Sie können Parameter wie Menge, Preis und Auftragsart angeben und IBPY wickelt die Ausführung nahtlos ab. Diese Funktionalität ermöglicht es Händlern, ihre Handelsstrategien zu automatisieren, wodurch Zeit gespart und das Risiko manueller Fehler verringert wird.

Zusätzlich zu diesen Funktionen unterstützt IBPY eine Reihe erweiterter Handelsvorgänge. Händler können Kontoinformationen abrufen, Positionen und Portfolios verwalten, Kontoaktivitäten überwachen und Handelsbenachrichtigungen in Echtzeit erhalten. Dieser umfassende Funktionsumfang ermöglicht es Händlern, die volle Kontrolle über ihre Handelsaktivitäten zu haben und zeitnahe Entscheidungen zu treffen.

Lassen Sie uns nun kurz die Handelsstrategie „Moving Average Crossover“ besprechen, auf die Dr. Yu später im Webinar ausführlich eingehen wird. Diese Strategie basiert auf dem Konzept der gleitenden Durchschnitte, die in der technischen Analyse weit verbreitet sind. Bei der Moving-Average-Crossover-Strategie werden zwei gleitende Durchschnitte unterschiedlicher Zeiträume überwacht, typischerweise ein kurzfristiger gleitender Durchschnitt und ein längerfristiger gleitender Durchschnitt. Wenn der kurzfristige gleitende Durchschnitt den längerfristigen gleitenden Durchschnitt überschreitet, erzeugt er ein Kaufsignal, das auf einen möglichen Aufwärtstrend hinweist. Wenn umgekehrt der kurzfristige gleitende Durchschnitt den längerfristigen gleitenden Durchschnitt unterschreitet, erzeugt dies ein Verkaufssignal, das auf einen möglichen Abwärtstrend hinweist. Diese Strategie zielt darauf ab, Trends zu erfassen und Preisbewegungen auszunutzen.

Abschließend bietet das heutige Webinar wertvolle Einblicke in den Handel mit Interactive Brokers unter Verwendung von Python und IBPY. Dr. Hoyle Yu wird uns mit seinem umfassenden Wissen und seiner Expertise durch die Vorteile von Interactive Brokers, die Vorteile der Verwendung von Python für den Handel, die Möglichkeiten von IBPY und die Trading-Strategie „Moving Average Crossover“ führen. Wir hoffen, dass Sie dieses Webinar informativ und ansprechend finden. Ohne weitere Umschweife übergebe ich es an Dr. Yu, um mit seiner Präsentation zu beginnen. Vielen Dank, dass Sie heute bei uns waren, und viel Spaß beim Webinar!

Trading with Interactive Brokers using Python | By Dr. Hui Liu
Trading with Interactive Brokers using Python | By Dr. Hui Liu
  • 2016.09.29
  • www.youtube.com
Dr. Hui Liu speaks about implementing algorithmic trading strategies in live markets with Interactive Brokers using Python. This webinar is perfect for begin...
 

Automatisierter Handel mit Python | Webinar von Dr. Yves J. Hilpisch



Automatisierter Handel mit Python | Webinar von Dr. Yves J. Hilpisch

Dr. Yves J. Hilpisch wird als Gründer und geschäftsführender Gesellschafter der Python Course Group vorgestellt, einem Unternehmen, das sich auf Python und Open-Source-Technologien in der Finanzbranche konzentriert, insbesondere in den Bereichen Computational Finance und Financial Data Science. Er ist Autor mehrerer Bücher über Python und Finanzen und hat eine Plattform namens DataPark entwickelt, die es Datenwissenschaftlern ermöglicht, direkt im Browser mit strukturierten Daten zu arbeiten. Dr. Hilpisch erwähnt, dass er später in diesem Jahr ein neues Buch veröffentlichen wird und stellt außerdem TPQ vor, ein globales Netzwerk von Python-Quants und -Unternehmen.

Das Webinar beginnt damit, dass Dr. Hilpisch auf die steigende Zahl an Anfragen eingeht, die er zum Einsatz von Python im Finanzwesen erhalten hat, insbesondere von Start-ups, die Python-Entwickler für finanzbezogene Projekte gewinnen möchten. Er kündigt eine neue Funktion an, die es Benutzern ermöglicht, historische Daten von der Comm Trading Platform herunterzuladen, und skizziert die drei Hauptthemen, die im Webinar behandelt werden: Herunterladen historischer Daten, Codierung und Backtesting einer Handelsstrategie und Arbeiten mit Streaming-Daten für den algorithmischen Handel . Er betont die Bedeutung von Daten und Backtesting für die Entwicklung sinnvoller Handelsstrategien.

Anschließend demonstriert Dr. Hilpisch am Beispiel des deutschen DAX-Index, wie historische Daten mit Python abgerufen werden können. Er erklärt, dass Benutzer aus über 100 verschiedenen Instrumenten auswählen können, darunter Währungspaare und Rohstoffe wie Gold oder Silber. Durch das Abrufen von Daten in Blöcken und das Anhängen an ein DataFrame-Objekt können Benutzer die Daten für einen effizienten Abruf auf der Festplatte speichern, ohne dass wiederholte Downloads erforderlich sind. Er betont die Rolle von Daten beim Backtesting und ihre Bedeutung für die Bewertung von Handelsstrategien.

Als nächstes zeigt Dr. Hilpisch ein Beispiel für eine einfache Handelsstrategie, die auf zwei gleitenden Durchschnitten basiert: einem kürzeren (5 Minuten) und einem längeren (15 Minuten). Er erklärt, dass, wenn der kürzere Trend den längeren Trend überschreitet, ein Kaufsignal generiert wird, und wenn der kürzere Trend den längeren Trend unterschreitet, ein Verkaufssignal generiert wird. Er stellt klar, dass dies keine Investitionsberatung ist, sondern zeigt, wie die Strategie in Python mithilfe eines vektorisierten Ansatzes implementiert werden kann, wodurch der Code effizient und prägnant wird.

Dr. Hilpisch geht weiter zur Berechnung der Performance einer Handelsstrategie anhand zuvor berechneter Log-Renditen. Er erklärt, wie Händler die Leistung ihrer Strategie ermitteln können, indem sie ihre Position mit der realisierten Rendite multiplizieren. Um die Berechnung zu veranschaulichen, verwendet er ein Beispiel, bei dem man lange in den Markt investiert und auf einen Tag wartet. Er betont, wie wichtig es ist, die Handelsstrategie zu testen, um Verzerrungen innerhalb der Stichprobe zu vermeiden, und weist darauf hin, dass eine positive Leistung in einem Zeitraum keinen Erfolg in anderen Zeiträumen garantiert.

Die Diskussion verlagert sich dann auf den Vergleich der Standardabweichung der Renditen zwischen einer Marktanlagestrategie und einer trendbasierten Anlagesignalisierungsstrategie auf der Grundlage von Minutenblöcken. Dr. Hilpisch zeigt, dass die trendbasierte Strategie geringere Standardabweichungen der Renditen aufweist. Er betont die Notwendigkeit, bei der Implementierung automatisierter Handelsstrategien mit Streaming-Daten zu arbeiten und stellt die Plotly-API zur Generierung von Echtzeit-Plots vor.

Dr. Hilpisch demonstriert den Einsatz einer gefälschten API, die Daten im Echtzeitformat generiert. Obwohl es sich bei der aktuellen Demonstration nicht wirklich um Streaming handelt, erwähnt er, dass sie mit etwas zusätzlichem Aufwand zum Streamen gebracht werden kann, indem zusätzliche Objekte instanziiert und in das Jupyter-Notizbuch eingebettet werden. Er liefert ein Beispiel für eine for-Schleife, die Daten von der API sammelt und sie Punkt für Punkt in Echtzeit in einem interaktiven Visualisierungsbereich anzeigt.

Anschließend wird der automatisierte Handel mit Echtzeit- oder Streaming-Daten besprochen. Dr. Hilpisch stellt die Funktionen „Kauf“ und „Verkauf“ vor, die Marktaufträge erteilen und die Anzahl der zu handelnden Einheiten erfordern. Er stellt die Klasse „TrendTrader“ vor, die auf Trendfolgestrategien basiert und von der Streamer-Klasse der Wonder API erbt. Er erklärt die benutzerdefinierten Attribute der Klasse, wie z. B. einen leeren Datenrahmen und die Anzahl der Ticks, die zunächst auf 0 gesetzt sind. Die Klasse ermöglicht die Definition des ersten und zweiten Trends als Parameter.

Dr. Hilpisch erklärt, dass die Methode „onsuccess“ aufgerufen wird, wenn neue Daten von der Streaming-API empfangen werden, auch wenn diese sporadisch eintreffen. Die Daten werden an den zuvor instanziierten Datenrahmen angehängt und in die europäische Zeitzone konvertiert. Basierend auf den Beobachtungen werden die kurzfristigen und langfristigen Trends berechnet und entsprechend die entsprechenden Handelsmaßnahmen ergriffen. Er stellt klar, dass die vorgestellte Strategie zwar möglicherweise nicht sinnvoll ist, sein Fokus jedoch auf der Veranschaulichung des Prozesses liegt. Er geht auch auf die Methode „onerror“ ein, die alle Fehler behandelt, die während des Streaming-Vorgangs auftreten können, und die Verbindung zur API trennt.

Abschließend stellt Dr. Hilpisch die Umsetzung einer automatisierten Handelsstrategie mit Python vor. Er demonstriert, wie ein Python-Programm anhand des Vergleichs gleitender Durchschnitte automatisch Kauf- und Verkaufsaufträge generieren kann. Er betont, dass ein erfolgreicher algorithmischer Handel eine Kombination aus Finanz- und Technologiekenntnissen, einem tiefen Verständnis der Märkte, Kenntnissen in Big-Data-Statistiken und der Fähigkeit zur Automatisierung von Handelsprozessen erfordert. Das Webinar dient als Bildungsressource für Personen, die sich die notwendigen Kenntnisse und Fähigkeiten für eine Karriere im algorithmischen Handel aneignen möchten.

  • 00:00:00 Dr. Yves J. Hilpisch stellt sich vor und gibt Hintergrundinformationen zu seiner Arbeit. Er ist Gründer und geschäftsführender Gesellschafter der Python Course Group, die sich auf Python und andere Open-Source-Technologien konzentriert, die in der Finanzbranche verwendet werden, insbesondere in den Bereichen Computational Finance und Financial Data Science. Dr. Hilpisch ist Autor mehrerer Bücher über Python und Finanzen und hat eine Plattform namens DataPark entwickelt, die es Datenwissenschaftlern ermöglicht, mit strukturierten Daten im Browser zu arbeiten. Er erwähnte kurz, dass sein neues Buch später in diesem Jahr erscheinen würde, und erwähnte auch den Beginn eines globalen Netzwerks von Python-Quants und -Unternehmen namens TPQ.

  • 00:05:00 Dr. Yves J. Hilpisch beginnt das Webinar mit einer Diskussion darüber, wie er immer mehr Anfragen erhalten hat, wie Python am besten im Finanzwesen eingesetzt werden kann, und betont, dass es sich bei vielen Start-ups um ein bestimmtes Publikum handelt, das angezogen werden möchte Leute, die Python für das Finanzwesen entwickeln. Anschließend stellt Hilpisch eine neue Möglichkeit zum Herunterladen historischer Daten von der Comm Trading Platform vor und erläutert die drei Hauptthemen, die im Webinar behandelt werden, z. B. 1) das Herunterladen historischer Daten, 2) das Codieren und Backtesten einer Handelsstrategie usw 3) Wie man mit Streaming-Daten arbeitet – eine entscheidende Voraussetzung für den algorithmischen Handel. Hilpisch hält das Thema einfach und versucht, die zugrunde liegenden Ideen und Erklärungen zu den Schritten zu vermitteln, die zur Umsetzung dieser einzelnen Schritte erforderlich sind, und erläutert, dass es ohne Daten und anschließendes Backtesting keine vernünftigen Handelsstrategien geben kann.

  • 00:10:00 Dr. Yves Hilpisch erläutert den Datenabruf, indem er demonstriert, wie man historische Daten für ein Instrument, insbesondere den deutschen DAX-Index, abruft. Benutzer können ein Instrument aus mehr als 100 verschiedenen Optionen auswählen, darunter Währungspaare und Rohstoffe wie Gold oder Silber. Der Befehl führt zu einem JSON-Objekt, das zwei Beobachtungen enthält: Eröffnung, Schluss und Gebot. Da zwei tägliche Beobachtungen für ein Backtesting nicht ausreichen, weist Hilpisch darauf hin, dass er zeigen wird, wie Daten über einen längeren Zeitraum abgerufen werden können. Durch die Generierung eines Datensatzes, der länger als zwei tägliche Beobachtungen ist, und dessen Speicherung auf der Festplatte können Benutzer diese Informationen schnell abrufen, ohne die Zeit für das erneute Abrufen aufwenden zu müssen.

  • 00:15:00 Dr. Yves J. Hilpisch zeigt, wie man Finanzmarktdaten mit Python abruft und speichert. Die Daten werden in Blöcken abgerufen und an ein DataFrame-Objekt angehängt, das dann in einem Binärformat gespeichert wird. Er betont die Bedeutung von Daten beim Backtesting und wie sie die Beurteilung von Handelsstrategien ermöglichen. Darüber hinaus zeigt er ein Beispiel für eine einfache Handelsstrategie, die auf zwei verschiedenen Trends basiert, und wie man die Log-Renditen als Grundlage für die spätere Leistungsbeurteilung berechnet. Die Handelsstrategie ist nur ein Beispiel und sein Vortrag zielt darauf ab, die Python-Tools und -Techniken zu demonstrieren, die für den automatisierten Handel verfügbar sind.

  • 00:20:00 Der Referent erklärt eine einfache Handelsstrategie mit zwei gleitenden Durchschnitten, einem kürzeren (5 Minuten) und einem längeren (15 Minuten), um Signale dafür zu generieren, wann der Vermögenswert gekauft oder verkauft werden sollte. Wenn der kürzere Trend den längeren Trend von unten kreuzt, ist das ein Kaufsignal, und wenn der kürzere Trend den längeren Trend von oben kreuzt, ist das ein Verkaufssignal. Der Redner warnt davor, dass es sich dabei nicht um eine Anlageberatung handelt, und betont die Verwendung eines Backtests, um zu sehen, wie sich die Strategie in der Vergangenheit entwickelt hat. Der Referent zeigt außerdem, wie man die Strategie mithilfe eines vektorisierten Ansatzes in Python umsetzen und so effizient und prägnant gestalten kann.

  • 00:25:00 Dr. Yves J. Hilpisch erläutert, wie man die Performance einer Handelsstrategie anhand der zuvor berechneten Renditen berechnen kann. Indem Händler die zuvor eingegebene Position mit der realisierten Rendite multiplizieren, können sie die Leistung ihrer Handelsstrategie bestimmen. Am Beispiel einer langen Investition in den Markt und dem Warten auf einen Tag können Händler ihre Position mit der täglichen Marktrendite multiplizieren. Durch die Kombination der vorherigen Position und der aktuellen Rendite können Händler die Leistung ihrer Handelsstrategie über einen bestimmten Zeitraum bewerten, wobei sie darauf hinweisen, dass eine positive Leistung nicht für jeden Zeitraum eine Garantie ist. Er warnt auch davor, die Handelsstrategie zu testen, um eine Verzerrung innerhalb der Stichprobe und die Möglichkeit zu vermeiden, dass die Handelsstrategie möglicherweise keine gute Wahl für die Umsetzung ist.

  • 00:30:00 Dr. Yves J. Hilpisch diskutiert die Standardabweichung der Renditen für eine Marktinvestitionsstrategie im Vergleich zu einer trendbasierten Investmentsignalisierungsstrategie, beide basierend auf Minutenblöcken. Die trendbasierte Strategie zeigte geringere Standardabweichungen der Renditen, und Dr. Hilpisch betont, wie wichtig es ist, bei der Implementierung einer automatisierten Handelsstrategie mit Streaming-Daten zu arbeiten. Er demonstriert die Verwendung der Plotly-API zur Generierung von Echtzeitdiagrammen und erörtert die Notwendigkeit eines Systems, das Handelsentscheidungen auf der Grundlage von Echtzeitdaten verarbeiten und treffen kann.

  • 00:35:00 Dr. Yves J. Hilpisch demonstriert die Verwendung einer gefälschten API, die in Echtzeit Daten im gleichen Format wie eine tatsächliche API generiert. Die Daten werden gesammelt und in einem Datenrahmenobjekt angezeigt, das über einen interaktiven Visualisierungsbereich visualisiert werden kann. Während die aktuelle Demonstration kein echtes Streaming darstellt, merkt Dr. Hilpisch an, dass sie mit etwas mehr Aufwand zum Streamen gebracht werden kann, indem zusätzliche Objekte instanziiert und in das Jupiter-Notizbuch eingebettet werden. Er liefert ein Beispiel für eine for-Schleife, die Daten von einer API sammelt und sie Punkt für Punkt in Echtzeit im interaktiven Visualisierungsbereich anzeigt.

  • 00:40:00 Dr. Yves Hilpisch diskutiert automatisierten Handel mit Echtzeit- oder Streaming-Daten. Er führt zwei Funktionen ein, „kaufen“ und „verkaufen“, die zur Platzierung von Marktaufträgen verwendet werden und die Anzahl der gehandelten Einheiten erfordern. Die für den Handel verwendete Klasse ist der „TrendTrader“, der auf Trendfolgestrategien basiert. Diese Klasse erbt von der Streamer-Klasse der Wonder-API und enthält benutzerdefinierte Attribute wie ein leeres Datenrahmenobjekt und die Anzahl der Ticks, die zu Beginn auf 0 gesetzt ist. Der erste und zweite Trend können auch als Parameter definiert werden.

  • 00:45:00 Dr. Yves J. Hilpisch erläutert, wie die Methode onsuccess aufgerufen wird, wenn neue Daten von der Streaming-API empfangen werden, die möglicherweise sporadisch und nicht in regelmäßigen Abständen eingehen. Die Daten werden dann an einen zuvor instanziierten Datenrahmen angehängt und in die europäische Zeitzone konvertiert. Zwei Trends, t1 und t2, werden basierend auf Kurzzeit- und Langzeitbeobachtungen berechnet. Wenn der kurzfristige Trend über dem langfristigen Trend liegt und der Händler nicht investiert ist, kauft er die angegebene Anzahl an Einheiten und setzt das Flag „nicht investiert“ auf „false“. Wenn umgekehrt der kurzfristige Trend niedriger oder gleich dem langfristigen Trend ist und der Händler investiert ist, wird er verkaufen. Dr. Hilpisch erwähnt, dass diese Strategie zwar möglicherweise nicht sinnvoll ist, sein Fokus jedoch auf der Veranschaulichung der Funktionsweise des Prozesses liegt. Außerdem wird die On-Error-Methode besprochen, die eventuell auftretende Fehler abfängt und die Verbindung zum API-Streaming trennt.

  • 00:50:00 Yves Hilpisch zeigt, wie man mit Python eine automatische Handelsstrategie implementiert. Er demonstriert, wie ein Python-Programm automatisch Kauf- und Verkaufsaufträge generieren kann, die auf dem Vergleich der Durchschnittswerte von Daten aus fünf und 15 Ticks basieren. Er betont, dass algorithmischer Handel die Kombination von Fähigkeiten in den Bereichen Finanzen und Technologie, Verständnis der Märkte, Big-Data-Statistiken und Automatisierung erfordert. Das Video bietet eine Bildungsressource für Personen, die sich für die Bandbreite der Abläufe und Fähigkeiten interessieren, die für eine erfolgreiche Karriere im algorithmischen Handel erforderlich sind.
Automated Trading with Python | Webinar by Dr. Yves J. Hilpisch
Automated Trading with Python | Webinar by Dr. Yves J. Hilpisch
  • 2016.02.15
  • www.youtube.com
The video is a recording of the webinar "Automated Trading with Python" which was conducted on 10th February 2016. The webinar aimed at introducing the audie...
 

Algorithmischer Handel mit Python – Einführung



Algorithmischer Handel mit Python – Einführung

Hallo und willkommen zurück zum ersten Video der brandneuen Videoserie zum Thema Trading. In diesem Video werden wir den Zweck und Inhalt des Videostreams dieses Jahrhunderts erkunden. Das Hauptziel dieser Videoserie besteht darin, Ihnen ein umfassendes Verständnis des algorithmischen Handels zu vermitteln. Wir werden alles abdecken, von den Grundlagen bis hin zur fortgeschrittenen Implementierung, dem Testen und der Optimierung von Handelsalgorithmen.

Die Serie soll Ihnen dabei helfen, die Python-Programmierung im Kontext des algorithmischen Handels zu erlernen und anzuwenden. Wir werden verschiedene Themen wie die Generierung von Handelssignalen, die Implementierung von Strategien, Backtesting und den Einsatz von Algorithmen in Live-Handelsumgebungen untersuchen. Um dies zu erleichtern, stellen wir Ihnen eine leistungsstarke algorithmische Handelsplattform namens Contact Platform vor.

Die Contact Platform ist eine integrierte Entwicklungsumgebung, die es Ihnen ermöglicht, Ihre Handelsalgorithmen zu erstellen, zu testen und bereitzustellen. Es bietet eine benutzerfreundliche Oberfläche und unterstützt verschiedene Programmiersprachen, einschließlich Python, das wir in dieser Serie ausführlich verwenden werden. Sie können die Plattform online über die Kontakt-Website erreichen oder die Software für Windows oder Mac herunterladen.

Begleitend zur Videoreihe haben wir eine eigene YouTube-Seite erstellt, auf der Sie zusätzliche Ressourcen und Codebeispiele finden. Diese Beispiele decken eine Reihe von Themen ab, darunter Clustering-Techniken, Skripterstellung für Aktien, Anleihen, Devisen, CFDs, Optionen und mehr. Egal, ob Sie Anfänger oder erfahrener Trader sind, diese Serie ist der perfekte Ausgangspunkt, um in den algorithmischen Handel einzutauchen.

Es ist wichtig zu verstehen, wie wichtig es ist, Handelsalgorithmen zu entwickeln und zu testen, bevor sie in realen Handelsszenarien eingesetzt werden. Dies ist einer der zeitaufwändigsten Aspekte des algorithmischen Handels. Wir haben es Ihnen jedoch einfacher gemacht, indem wir Ihnen Zugang zu kostenlosen historischen Marktdaten mit hochauflösenden Minutendaten für europäische Aktienoptionen und andere wichtige internationale Märkte bieten. Dies wird eine wertvolle Ressource für Algorithmenentwickler und -forscher sein.

In der gesamten Serie werden wir leistungsstarke Bibliotheken und Tools für maschinelles Lernen, Stimmungsanalyse und Backtesting nutzen. Diese Bibliotheken wie Pandas und NumPy sind in der Handelsgemeinschaft weit verbreitet und werden für unsere Analyse von wesentlicher Bedeutung sein. Durch die Nutzung dieser Bibliotheken und der Kontaktplattform haben Sie die Flexibilität, verschiedene Handelsstrategien zu erstellen und zu testen.

In den kommenden Videos werden wir Schritt für Schritt an die Codierung von Handelsalgorithmen herangehen. Sie begleiten mich bei der Diskussion und Umsetzung verschiedener Strategien. Darüber hinaus werde ich ergänzende Materialien wie Codeausschnitte und Videos auf meinem YouTube-Kanal und in begleitenden Artikeln teilen.

Im nächsten Video werden wir tiefer in den Entwicklungsprozess eintauchen und untersuchen, wie Handelsalgorithmen funktionieren. Bleiben Sie dran und begleiten Sie uns auf dieser spannenden Reise in die Welt des algorithmischen Handels.

Algorithmic Trading Using Python - Introduction
Algorithmic Trading Using Python - Introduction
  • 2021.03.12
  • www.youtube.com
This is the first video of my algorithmic trading tutorial series in which you will learn everything you need to know to start writing your own trading bots ...
 

Algorithmischer Handel mit Python #2



Algorithmischer Handel mit Python #2

Willkommen zum zweiten Video unseres Kurses zum algorithmischen Handel. In diesem Video befassen wir uns mit dem Prozess der Algorithmusentwicklung und konzentrieren uns dabei auf die konzeptionelle Ebene. Wir begleiten Sie durch jeden Schritt, von der Ideengenerierung bis zur Live-Bereitstellung, und decken dabei wesentliche Aspekte wie Recherche, Implementierung, Backtesting und Optimierung ab.

Der Algorithmusentwicklungsprozess beginnt mit der Ideengenerierung. Wir werden verschiedene Ideenquellen untersuchen, darunter Marktbeobachtungen, Fundamentalanalysen, technische Indikatoren und quantitative Modelle. Für die Entwicklung erfolgreicher Algorithmen ist es von entscheidender Bedeutung, zu verstehen, wie Handelsideen generiert und verfeinert werden.

Sobald wir eine vielversprechende Idee haben, gehen wir in die Forschungsphase über. Dazu gehört das Sammeln relevanter Daten, die Durchführung statistischer Analysen und die Durchführung gründlicher Backtests. Wir werden die Bedeutung der Datenqualität diskutieren und wie sie sich auf die Zuverlässigkeit unserer Algorithmen auswirkt. Darüber hinaus werden wir verschiedene Leistungskennzahlen und Risikomaße untersuchen, um die Wirksamkeit unserer Strategien zu bewerten.

Nach einer gründlichen Recherche gehen wir zur Umsetzungsphase über. Hier übersetzen wir unsere Handelsideen in Code. Wir werden Programmiersprachen wie Python verwenden, um Algorithmen zu schreiben, die Daten analysieren, Handelssignale generieren und Trades automatisch ausführen können. Sie erfahren mehr über Best Practices beim Codieren und erfahren, wie Sie Ihren Code so strukturieren, dass er wartbar und skalierbar ist.

Sobald der Algorithmus implementiert ist, gehen wir zur Backtesting-Phase über. Beim Backtesting wird die Leistung des Algorithmus anhand historischer Daten simuliert. Wir werden verschiedene Backtesting-Methoden diskutieren, einschließlich In-Sample- und Out-of-Sample-Tests, um die Leistung des Algorithmus zu validieren und seine Robustheit zu bewerten.

Die Optimierung ist ein weiterer entscheidender Schritt in der Algorithmusentwicklung. Wir werden verschiedene Techniken untersuchen, um unsere Algorithmen zu verfeinern und ihre Leistung zu optimieren. Dazu gehören Parameteroptimierung, Sensitivitätsanalyse und Risikomanagementstrategien. Durch die Optimierung unserer Algorithmen wollen wir deren Rentabilität verbessern und das Risiko reduzieren.

Abschließend gehen wir auf den Live-Einsatz unserer Algorithmen ein. Wir werden Überlegungen wie die Konnektivität zu Marktdaten, die Auftragsausführung und das Risikomanagement in einer Live-Handelsumgebung diskutieren. Für den erfolgreichen algorithmischen Handel ist es wichtig, die Herausforderungen und Überlegungen des Live-Einsatzes zu verstehen.

In diesem Video geben wir Einblicke und praktische Tipps, die Sie durch den Algorithmusentwicklungsprozess führen. Am Ende verfügen Sie über ein umfassendes Verständnis dafür, wie Sie Handelsalgorithmen effektiv konzipieren, erforschen, implementieren, Backtests durchführen, optimieren und einsetzen.

Lassen Sie uns nun in die faszinierende Welt des algorithmischen Handels eintauchen und den Prozess der Algorithmusentwicklung im Detail erkunden.

Algorithmic Trading Using Python #2
Algorithmic Trading Using Python #2
  • 2021.03.19
  • www.youtube.com
In this 2nd video of this algorithmic trading course, you will learn all about the algorithm development process on a conceptual level. We will cover everyth...
 

So nutzen Sie Unterstützungswiderstandsniveaus und RSI für einen profitablen Devisenhandel




So nutzen Sie Unterstützungswiderstandsniveaus und RSI für einen profitablen Devisenhandel

Bei der Erstellung der RSI-Handelsstrategie hat sich die herkömmliche Methode zur Identifizierung überkaufter und überverkaufter Bereiche als unwirksam erwiesen. Stattdessen wird ein effektiverer Ansatz vorgeschlagen, der Unterstützungs- und Widerstandsniveaus mit dem RSI kombiniert, um die Einstiegspunkte zu verbessern. Diese alternative Methode widerspricht dem, was üblicherweise in klassischen Trading-Tutorials gelehrt wird. Beim Test mit Python waren die Ergebnisse jedoch vielversprechender.

Um diese Strategie umzusetzen, besteht der erste Schritt darin, Unterstützungs- und Widerstandsniveaus mithilfe von Fraktalen oder Kerzen zu identifizieren, die im Vergleich zu benachbarten Kerzen extrem hohe oder niedrige Werte aufweisen. Die Anzahl der zu vergleichenden Kerzen ist eine Variable im Code, was Flexibilität im Vergleichsbereich ermöglicht. Darüber hinaus kann eine Bedingung angewendet werden, um Kerzen mit erheblichen Abstoßungsbewegungen zu berücksichtigen, die dadurch angezeigt werden, dass die Dochtlänge einen bestimmten Schwellenwert überschreitet.

Sobald die Unterstützungs- und Widerstandsniveaus erkannt wurden, müssen sie möglicherweise zusammengeführt werden, wenn sie sehr nahe beieinander liegen. Dies kann durch die Berechnung der Differenz oder des Abstands zwischen den Ebenen erfolgen. Wenn der Abstand unter einem bestimmten Schwellenwert liegt, können die Ebenen zusammengeführt werden, indem sie durch den Mittelwert ersetzt oder doppelte Ebenen entfernt werden.

Nach Ermittlung der Schlüsselniveaus können Umkehrsignale auf der Grundlage von drei Annahmen berechnet werden. Erstens sollte eine Kerze einen Docht haben, der nahe an einem Unterstützungs- oder Widerstandsniveau liegt und dessen Körper von diesem Niveau begrenzt wird. Wenn es sich um eine Unterstützung handelt, sollte der Körper über dem Niveau liegen, und wenn es sich um einen Widerstand handelt, sollte der Körper unter dem Niveau liegen. Die vorherigen Kerzen sollten ebenfalls von demselben Unterstützungs- oder Widerstandsniveau begrenzt werden. Dadurch wird sichergestellt, dass das Verhalten der aktuellen Kerze mit dem Trend der umgebenden Kerzen übereinstimmt.

Beim Testen historischer Daten können die generierten Signale in einem Diagramm dargestellt werden. Ein bullisches Umkehrsignal wird durch einen violetten Signalpunkt unterhalb der Kerze dargestellt, während ein bärisches Umkehrsignal durch einen violetten Signalpunkt oberhalb der Kerze dargestellt wird. Allerdings können nicht alle Signale auf dem Chart gehandelt werden, da einige möglicherweise effektiver sind als andere. Zur Filterung der Signale wird der RSI verwendet. Wenn der RSI über einem Schwellenwert liegt, was auf eine Aufwärtstrenddynamik hinweist, werden nur bullische Signale berücksichtigt. Liegt der RSI dagegen unter einem unteren Schwellenwert, was auf eine Abwärtstrenddynamik hinweist, werden nur rückläufige Signale berücksichtigt. Auf diese Weise werden Signale am Trend ausgerichtet und Signale, die gegen den Trend laufen, herausgefiltert.

Um die Indikatoren in Python zu automatisieren und die Strategie auszuwerten, kann eine Jupyter Notebook-Datei verwendet werden. Die Euro/US-Dollar-Candlestick-Daten für den einstündigen Zeitraum zwischen 2003 und 2023 werden mithilfe der Pandas-Bibliothek geladen. Die Daten werden gefiltert, um Null-Volumen-Kerzen und Wochenenden zu entfernen, und der RSI wird mithilfe der technischen Analysebibliothek von Pandas berechnet. Die Unterstützungs- und Widerstandsniveaus werden mithilfe von Funktionen ermittelt, die die aktuelle Kerze mit benachbarten Kerzen vergleichen, und die Nähe zu den Niveaus wird mithilfe zusätzlicher Funktionen überprüft. Diese Funktionen berücksichtigen den Körper und den Docht der Kerze im Verhältnis zu den Ebenen sowie den vorangehenden Kerzen.

Sobald alle notwendigen Funktionen definiert sind, wird eine Funktion namens „check_candle_signal“ erstellt, um die Signale zu berechnen. Diese Funktion verwendet den Index der aktuellen Kerze, die Anzahl der zu berücksichtigenden Kerzen links und rechts, die Anzahl der zu überprüfenden hinteren Kerzen und den Datenrahmen als Eingaben. Es verwendet die zuvor definierten Funktionen, um die Unterstützungs- und Widerstandsniveaus zu berechnen, sie bei Bedarf zusammenzuführen und Signale basierend auf den definierten Bedingungen und RSI-Schwellenwerten zu generieren.

Die Signale werden dann gezählt und gedruckt, um die Leistung der Strategie zu bewerten. Um die Signale im Diagramm zu visualisieren, werden die entsprechenden Kerzen ausgewählt und dargestellt, wobei die Signale durch violette Punkte dargestellt werden. Die Darstellung ermöglicht eine visuelle Beurteilung der Signale und ihrer Ausrichtung auf die identifizierten Unterstützungs- und Widerstandsniveaus.

Nach dem Laden der Candlestick-Daten und der Durchführung notwendiger Datenbereinigungsschritte wie dem Entfernen von Null-Volumen-Kerzen und Wochenenden besteht der nächste Schritt darin, den Relative Strength Index (RSI) zu berechnen.

RSI ist ein beliebter Momentum-Oszillator, der zur Identifizierung überkaufter und überverkaufter Bedingungen in einem Markt verwendet wird. Es misst das Ausmaß der jüngsten Preisänderungen, um festzustellen, ob ein Vermögenswert überkauft oder überverkauft ist. RSI-Werte liegen zwischen 0 und 100, wobei Werte über 70 typischerweise als überkauft und Werte unter 30 als überverkauft gelten.

Um den RSI zu berechnen, müssen Sie eine Fenstergröße definieren, die die Anzahl der vorherigen Kerzen darstellt, die bei der Berechnung des Indikators berücksichtigt werden sollen. Die gebräuchlichste Fenstergröße ist 14, Sie können sie jedoch je nach Ihren Anforderungen und den Eigenschaften des Assets, das Sie analysieren, anpassen.

Die RSI-Berechnung umfasst die folgenden Schritte:

  1. Berechnen Sie die Preisänderung für jede Kerze. Dies ist die Differenz zwischen dem Schlusskurs der aktuellen Kerze und der vorherigen Kerze.

  2. Teilen Sie die Preisänderungen in zwei separate Serien auf: Gewinne und Verluste. Gewinne stellen positive Preisänderungen dar, während Verluste negative Preisänderungen darstellen. Ist eine Preisänderung positiv, gilt sie als Gewinn. Ist er negativ, gilt dies als Verlust.

  3. Glätten Sie die Gewinn- und Verlustreihen, indem Sie negative Werte durch Nullen und positive Werte durch ihre absoluten Werte ersetzen.

  4. Berechnen Sie den durchschnittlichen Gewinn und durchschnittlichen Verlust über die definierte Fenstergröße. Dies geschieht in der Regel mit der Methode des einfachen gleitenden Durchschnitts (SMA).

  5. Berechnen Sie die relative Stärke (RS), indem Sie den durchschnittlichen Gewinn durch den durchschnittlichen Verlust dividieren.

  6. Berechnen Sie den RSI, indem Sie die Formel anwenden: RSI = 100 – (100 / (1 + RS))

Durch die Darstellung der RSI-Werte im Zeitverlauf können Sie den überkauften und überverkauften Zustand des Vermögenswerts visuell analysieren. Händler nutzen den RSI häufig als Signal für mögliche Trendumkehrungen oder als Bestätigung für Ein- und Ausstiegspunkte.

Es ist wichtig zu beachten, dass der RSI nur einer von vielen technischen Indikatoren ist, die in der Finanzanalyse verwendet werden. Seine Wirksamkeit hängt von verschiedenen Faktoren ab, wie z. B. den Marktbedingungen, dem analysierten Vermögenswert und dem betrachteten Zeitrahmen.

How to Use Support Resistance Levels and RSI for Profitable Currency Trading
How to Use Support Resistance Levels and RSI for Profitable Currency Trading
  • 2023.05.11
  • www.youtube.com
In this Python FOREX and currency trading tutorial, we will show you how to use the Relative Strength Index (RSI) and Support/Resistance Levels for profitabl...
 

Backtest von gleitenden Durchschnitten und VWAP-Trendstrategien in Python


Backtest von gleitenden Durchschnitten und VWAP-Trendstrategien in Python

Hallo, heute vergleichen wir den V-WAP (Volume-Weighted Average Price) und den Moving Average-Indikator für den Handel und den algorithmischen Handel. Wir werden beide Indikatoren verwenden, um einen Handelsbot zu erstellen und ihn anhand von Bitcoin-Daten zu testen.

Die Gewinnrenditen der Strategien, die wir in diesem Video verwenden, können über einen Datenzeitraum von drei Jahren von rund 200 Prozent bis zu herausragenden 473 Prozent schwanken. Wenn Sie sich für den Codierungsteil interessieren, wird der Backtest mit der Python-Sprache durchgeführt und Sie können die Jupyter Notebook-Datei über den in der Beschreibung angegebenen Link herunterladen.

V-WAP ist nicht nur mein Lieblingsindikator im Handel, sondern auch deshalb wichtig, weil er Händlern dabei hilft, festzustellen, ob ein Wertpapier zum fairen Wert gehandelt wird oder nicht. Diese Informationen sind von entscheidender Bedeutung, denn wenn ein Preis über der V-WAP-Kurve oder weit über der V-WAP-Kurve gehandelt wird, könnte dies darauf hindeuten, dass er überbewertet ist. Wenn der aktuelle Preis hingegen unter der V-WAP-Kurve liegt, könnte dies darauf hindeuten, dass das Wertpapier unterbewertet ist. Kurz gesagt: Wir gehen immer davon aus, dass sich der Preis irgendwann wieder dem V-WAP-Niveau annähert. Dies lässt sich an einem Beispiel beobachten, bei dem die Differenz zwischen den Preiskerzen und der gelben V-WAP-Kurve zunahm, bevor sich der Preis wieder dem V-WAP-Niveau annäherte und wieder von der gelben Kurve abprallte. Es gibt einen deutlichen Unterschied zwischen der Kurve des gleitenden Durchschnitts und der gelben V-WAP-Kurve.

Zur Berechnung des V-WAP können wir den folgenden Ausdruck verwenden: V-WAP = Kumulierter Durchschnittspreis * Volumen / Kumuliertes Volumen. Der Durchschnittspreis ist der Durchschnittspreis zwischen Höchst-, Tiefst- und Schlusskurs. Der kumulative Teil bezeichnet die Gesamtsumme seit Eröffnung der Handelssitzung. Die Handelssitzung kann je nach angestrebtem Zeitrahmen täglich, wöchentlich oder monatlich zurückgesetzt werden. Die V-WAP-Berechnung unterscheidet sich von einem einfachen gleitenden Durchschnitt, da sie mehr Informationen über das Handelsvolumen berücksichtigt.

Wir können V-WAP auch verwenden, um optimale Ein- und Ausstiegspunkte für Trades zu bestimmen, da es als dynamisches Unterstützungs- und Widerstandsniveau fungiert, das sich zusammen mit dem Preis bewegt. Dafür werden wir V-WAP in der in diesem Video gezeigten Strategie verwenden.

Die Strategie, die wir verwenden werden, ist wie folgt: Zunächst betrachten wir eine Reihe von Kerzen, die entweder unter oder über der V-WAP-Kurve oder der Kurve des gleitenden Durchschnitts liegen, je nachdem, welchen Indikator wir für den Vergleich verwenden. Befinden sich die Kerzen unterhalb der Kurve, suchen wir nach einem Short-Signal und der Einstiegspunkt wird bestimmt, wenn eine Kerze nahe genug an der Kurve ist. Wenn die Kerzen über der Kurve liegen, suchen wir nach einem Long-Signal und der Einstiegspunkt wird bestimmt, wenn eine Kerze nahe genug an der Kurve ist. Wir werden dieselbe Strategie anwenden und zum Vergleich sowohl die Kurve des gleitenden Durchschnitts als auch die V-WAP-Kurve verwenden.

In der Jupiter Notebook-Datei laden wir die Bitcoin-US-Dollar-Candlestick-Daten mit einem 15-minütigen Zeitrahmen zwischen 2019 und 2022. Wir bereinigen die Datenformate und verwenden das technische Analysemodul von Pandas, um den V-WAP und den EMA (Exponential Moving Average) zu berechnen ). Anschließend berechnen wir das Signal sowohl für den EMA als auch für den V-WAP anhand einer bestimmten Anzahl von Rückkerzen. Die Signalwerte werden in neuen Spalten im Datenrahmen gespeichert. Zum besseren Verständnis visualisieren wir die Signalpunkte.

Für das Backtesting können wir verschiedene Trade-Management-Ansätze nutzen. In diesem Fall verwenden wir den ATR (Average True Range), um die Stop-Loss- und Take-Profit-Werte festzulegen. Das Take-Profit-Niveau wird auf der Grundlage der Stop-Loss-Distanz festgelegt, mit einem Take-Profit-Stop-Loss-Verhältnis von 2,5. Der Stop-Loss wird mit dem 0,8-fachen der ATR berechnet.

Beim Backtest durchlaufen wir jede Kerze im Datenrahmen und prüfen die Ein- und Ausstiegsbedingungen basierend auf dem vom V-WAP generierten Signal und den gleitenden Durchschnittsindikatoren. Wenn ein Handel eingeleitet wird, berechnen wir die Stop-Loss- und Take-Profit-Werte auf Basis der ATR. Wenn der Preis entweder das Stop-Loss- oder Take-Profit-Niveau erreicht, beenden wir den Handel und erfassen den Gewinn oder Verlust.

Sobald der Backtest abgeschlossen ist, berechnen wir den kumulierten Gewinn und Verlust und generieren Leistungskennzahlen wie Gesamtrendite, Jahresrendite, maximaler Drawdown und Sharpe Ratio.

Die Ergebnisse des Backtests zeigen die Leistung der Handelsstrategie unter Verwendung sowohl der V-WAP- als auch der gleitenden Durchschnittsindikatoren. Durch den Vergleich der Ergebnisse können wir beurteilen, welcher Indikator hinsichtlich Rentabilität und Risikomanagement besser abschneidet.

Bitte beachten Sie, dass die Backtest-Ergebnisse von verschiedenen Faktoren abhängen, wie z. B. den verwendeten spezifischen Parametern, dem gewählten Zeitraum und den Marktbedingungen. Es ist wichtig, die Strategie gründlich zu analysieren und gründliche Tests durchzuführen, bevor Sie sie auf den realen Handel anwenden.

Moving Average And VWAP Trend Strategies Backtest In Python
Moving Average And VWAP Trend Strategies Backtest In Python
  • 2023.04.20
  • www.youtube.com
In this video, we compare VWAP and Moving Average indicators for trading and Algorithmic trading. We use both indicators to build a trading bot, backtesting ...
 

Meistern Sie den Price Action Trading mit automatisierten Doji- und Engulfing-Mustern unter Verwendung von Python


Meistern Sie den Price Action Trading mit automatisierten Doji- und Engulfing-Mustern unter Verwendung von Python

Heute vergleichen wir zwei Kerzenmuster: die Doji- und die Engulfing-Kerze. Wir verwenden eine einfache Strategie in Kombination mit den Bollinger-Bändern und testen diese Muster anhand historischer Daten aus dem vergangenen Jahr im einstündigen Zeitrahmen. Unser Ziel ist es zu zeigen, wie die Kombination von Preisaktionsmustern mit anderen Indikatoren ein leistungsstarkes Werkzeug für den rein technischen Handel sein kann.

Zur Umsetzung dieser Strategie stellen wir den Python-Code zur Verfügung, der über den Link in der Videobeschreibung zum Download verfügbar ist. Wenn Sie den Inhalt hilfreich finden, unterstützen Sie bitte unseren Kanal, indem Sie ihn liken und ihm folgen. Wenn Sie außerdem Ideen haben, die Sie erkunden möchten, können wir diese im Kommentarbereich besprechen.

Zum Zweck dieser Demonstration konzentrieren wir uns auf zwei Arten von Mustern: eine Doji-Kerze, der eine bärische Kerze vorausgeht, gefolgt von einer Aufwärtstrend- oder bullischen Kerze, die einen zukünftigen Aufwärtstrend anzeigt. Das zweite Muster ist das Engulfing-Muster, bei dem die Eröffnungs- und Schlusskurse einer Kerze höher bzw. niedriger sind als die der vorherigen Kerze. Im Wesentlichen verschlingt die aktuelle Kerze die vorherige und bestimmt so den prognostizierten Trend für zukünftige Preise. Wir werden uns speziell Beispiele für bullische Setups für diese beiden Muster ansehen. Es lohnt sich auch, die bärischen Setups in Betracht zu ziehen, bei denen auf einen Doji eine bärische Kerze folgt oder, im Fall des Engulfing-Musters, die verschlingende Kerze eine bärische Richtung hat. Diese Setups würden auf einen zukünftigen Abwärtstrend hinweisen.

Sehen wir uns nun genauer an, wie wir diese Muster in unserer Strategie nutzen. Zuerst warten wir darauf, dass eine Preiskerze über oder unter den Bollinger-Band-Linien schließt. Wenn sich unterhalb der unteren Bollinger-Band-Linie ein bullisches Muster bildet, setzen wir ein Kaufsignal. Wenn andererseits ein rückläufiges Kerzen-Setup oberhalb der oberen Bollinger-Band-Linie auftritt, setzen wir ein Short- oder Verkaufssignal. Einfacher ausgedrückt: Wenn wir ein bullisches Muster unterhalb der Bollinger-Bänder beobachten, erwarten wir einen Preisanstieg. Wenn wir umgekehrt ein rückläufiges Muster oberhalb der Bollinger-Bänder erkennen, rechnen wir mit einem Preisrückgang. Dies ist der Aspekt, den wir mit Python untersuchen werden.

Das bereitgestellte Jupyter-Notebook demonstriert das Backtesting dieses Indikators. Der Code verwendet das Y Finance-Modul und Pandas zum Datenabruf bzw. zur Datenanalyse. Die Wechselkursdaten zwischen Euro und US-Dollar vom 1. April 2021 bis zum 19. März 2023 werden stündlich heruntergeladen.

Zur Berechnung der Bollinger-Bänder verwenden wir das technische Analysemodul von Pandas und legen eine Länge von 30 und eine Standardabweichung von 1,5 fest. Diese Parameter können für weitere Experimente angepasst werden.

Als Nächstes definieren wir die Funktion „Bollinger-Doji-Signal“, die den Datenrahmen mit den Eröffnungs-, Schluss-, Höchst- und Tiefstpreisen sowie die Daten der Bollinger-Bänder übernimmt. Wir prüfen die erste Bedingung, die ein bullisches Signal mit sich bringt. In diesem Fall suchen wir nach einem Schlusskurs der aktuellen Kerze unterhalb der unteren Bollinger-Band-Linie. Gleichzeitig sollte der aktuelle Schlusskurs über dem Eröffnungskurs liegen, was auf eine grüne Kerze oder eine Aufwärtstrendkerze vor einer Doji-Kerze hinweist. Darüber hinaus sollte die vorhergehende Kerze bärisch sein, wobei der Schlusskurs niedriger als der Eröffnungskurs ist. Diese Kombination stellt ein Umkehrmuster dar. Wenn diese Bedingungen erfüllt sind und das Muster unterhalb der unteren Bollinger-Band-Linie auftritt, setzen wir ein Kaufsignal. Umgekehrt sollte für ein bärisches Signal der Schlusskurs über der oberen Bollinger-Band-Linie liegen und die aktuelle Kerze sollte bärisch sein, wobei der Schlusskurs unter dem Eröffnungskurs liegt. Zuvor sollte es einen Aufwärtstrend oder eine grüne Kerze geben, bei der der Schlusskurs über dem Eröffnungskurs liegt.

In diesem Fall stellt die Kombination ein rückläufiges Umkehrmuster dar. Wenn diese Bedingungen erfüllt sind und das Muster oberhalb der oberen Bollinger-Band-Linie auftritt, setzen wir ein Verkaufssignal.

Die Funktion „Bollinger Doji Signal“ berechnet die Signale basierend auf den oben genannten Bedingungen und gibt einen Datenrahmen mit den Originaldaten zusammen mit der Signalspalte zurück, die angibt, ob jeweils gekauft (1), verkauft (-1) oder gehalten (0) werden soll Kerze.

Anschließend wenden wir diese Funktion auf unsere historischen Daten an und speichern die Ergebnisse in einem neuen Datenrahmen namens „signals_df“.

Um die Leistung unserer Strategie zu bewerten, berechnen wir die Renditen, indem wir die Signale mit der prozentualen Änderung des Schlusskurses multiplizieren und kumuliert summieren. Wir berechnen auch die kumulierten Renditen einer Buy-and-Hold-Strategie, bei der wir den Vermögenswert einfach über den gesamten Zeitraum halten.

Abschließend stellen wir die kumulierten Renditen beider Strategien in einem Diagramm dar, um die Leistung zu visualisieren.

Durch die Analyse der Backtest-Ergebnisse können wir die Wirksamkeit der Doji- und Engulfing-Kerzenmuster in Kombination mit dem Bollinger-Band-Indikator bei der Generierung von Handelssignalen beurteilen. Es ist wichtig zu beachten, dass es sich hierbei um ein vereinfachtes Beispiel handelt und nicht als Finanzberatung betrachtet werden sollte. Darüber hinaus können die Strategie und ihre Parameter basierend auf individuellen Präferenzen und Risikotoleranz weiter optimiert und angepasst werden.

Um den Code vollständig zu verstehen und zu replizieren, wird empfohlen, das bereitgestellte Jupyter-Notebook herunterzuladen und auszuführen, das den vollständigen Code und Erklärungen enthält.

Denken Sie daran, dass Handelsstrategien gründlich getestet und validiert werden sollten, bevor sie in realen Handelsszenarien umgesetzt werden. Es wird immer empfohlen, einen Finanzberater zu konsultieren oder umfangreiche Recherchen durchzuführen, bevor Sie Anlageentscheidungen treffen.

Wir hoffen, dass diese Erklärung Ihnen hilft, die Implementierung der Doji- und Engulfing-Kerzenmuster in Kombination mit dem Bollinger-Band-Indikator in einer Handelsstrategie besser zu verstehen.
Master Price Action Trading with Automated Doji and Engulfing Patterns using Python
Master Price Action Trading with Automated Doji and Engulfing Patterns using Python
  • 2023.03.25
  • www.youtube.com
In this informative video, we will explore the power of price action patterns in combination with Bollinger Bands for trading strategy backtesting. Specifica...
 

Strategie-Backtest des Preiskanalausbruchs in Python



Strategie-Backtest des Preiskanalausbruchs in Python

Hallo und willkommen zurück auf meinem Kanal. Im heutigen Video konzentrieren wir uns auf die Entwicklung und das Backtesting einer Strategie, die auf Preiskanalausbrüchen basiert. Wenn Sie neu hier sind, empfehle ich Ihnen, sich unsere vorherige Episode anzusehen, in der ich den Code für unseren benutzerdefinierten Python-basierten Preiskanalindikator vorgestellt und erklärt habe. Ich werde einen Link in der Beschreibung unten hinterlassen. Lassen Sie uns nun in das heutige Thema eintauchen und den Backtesting-Teil durchführen.

Im vorherigen Video haben wir den Code zur Erkennung von Preiskanälen vorgestellt. Um es noch einmal zusammenzufassen: Wir erkennen die Fraktale, die die Hoch- und Tiefpunkte der Kerzen darstellen. Ein Fraktal ist ein Punkt auf der Kerze, der gleichzeitig höher oder niedriger als alle benachbarten Kerzen ist. Wir erkennen verschiedene Fraktale, sowohl Hochs als auch Tiefs, und passen sie mithilfe der Regression in Steigungen ein. Diese Steigungen stellen den Kanal dar, der den Preiskanal definiert. Wir versuchen dann, Ausbrüche zu erkennen, wenn der Preis diesen Kanal verlässt, unter der Annahme, dass der Preis in die gleiche Richtung weitergeht.

Optisch scheint der Indikator gut zu funktionieren, aber wir sind gespannt, wie er sich bei einer langfristigen Strategie schlägt. Deshalb führen wir heute das vollständige Backtesting durch. Für den Backtest verwenden wir Python. Sie können den Code über den Link in der Beschreibung herunterladen.

Zunächst laden wir unsere Daten, wobei wir Daten von 10 bis 20 Jahren von 2003 bis 2023 verwenden, die wir auch im letzten Video verwendet haben. Wir setzen die Anzahl der Back Candles auf 45. Dies ist das Fenster, über das wir die Fraktale (Höchst- und Tiefststände) erkennen und unseren Kanal definieren.

Wir haben eine Funktion namens is_pivot, die erkennt, ob eine Kerze ein Pivot-Punkt oder ein Fraktalpunkt ist. Es werden zwei Parameter benötigt: der Kerzenindex und die Fenstergröße. Es prüft, ob die Kerze höher oder niedriger ist als alle Hochs oder Tiefs der benachbarten Kerzen innerhalb des angegebenen Fensters. Es gibt einen Wert basierend auf der Art des Pivots zurück: 1 für ein Pivot-Hoch, 2 für ein Pivot-Tief, 3 für beide und 0 für andere Fälle. Wir wenden diese Funktion auf jede Kerze in unserem Datenrahmen an und speichern die Ergebnisse in einer neuen Spalte namens „is_pivot“.

Als nächstes müssen wir die Kanäle sammeln oder erkennen. Wir schauen uns die 45 Kerzen vor der aktuellen Kerze an und prüfen, ob hohe und niedrige Fraktale vorliegen. Wenn wir mindestens drei Hochs und drei Tiefs haben, passen wir sie mithilfe der linearen Regression an und geben die Parameter der Steigungen zurück. Andernfalls geben wir Nullen zurück. Wir wenden diese Funktion unter Verwendung der angegebenen Fenstergröße auf den Datenrahmen an und die Ergebnisse werden in einer neuen Spalte namens „Kanal“ gespeichert.

Wir haben auch eine Funktion namens is_breakout, die Ausbrüche außerhalb des Preiskanals erkennt. Für jede Kerze prüfen wir, ob das Hoch der vorherigen Kerze innerhalb des Kanals liegt und ob der Schlusskurs der vorherigen Kerze unter dem Tief des Kanals liegt. Wenn beide Bedingungen erfüllt sind und die Eröffnungs- und Schlusskurse der aktuellen Kerze ebenfalls außerhalb des Kanals liegen, geben wir ein Signal zurück: 1 für ein Abwärtstrendsignal, 2 für ein Aufwärtstrendsignal und 0 für andere Fälle. Wir führen diese Funktion über alle Kerzen aus und speichern die Ergebnisse in einer neuen Spalte namens „is_breakout“.

Nachdem wir nun die Ausbruchssignale haben, können wir mit dem Backtesting fortfahren. Wir nutzen die Backtesting-Bibliothek wie gewohnt, mit einer anfänglichen Losgröße von 10 % des Eigenkapitals. Wir definieren ein Take-Profit-Stop-Loss-Verhältnis und legen die Stop-Loss- und Take-Profit-Niveaus basierend auf dem Signal fest. Wenn das Signal beispielsweise 2 (Aufwärtstrend) ist und keine Geschäfte offen sind, setzen wir den Stop-Loss auf das Tief der vorherigen Kerze und den Take-Profit auf ein Vielfaches der durchschnittlichen wahren Reichweite (ATR).

Wir durchlaufen jede Kerze im Datenrahmen und prüfen, ob es ein Ausbruchssignal gibt. Wenn ein Signal vorliegt und derzeit keine Trades offen sind, geben wir basierend auf dem Signal einen neuen Trade ein. Wir berechnen die Handelsgröße anhand der Losgröße und des verfügbaren Eigenkapitals.

Sobald ein Trade eröffnet ist, verfolgen wir seinen Fortschritt. Wir aktualisieren die Stop-Loss- und Take-Profit-Niveaus, wenn sich der Preis zu unseren Gunsten bewegt. Wenn der Preis das Stop-Loss- oder Take-Profit-Niveau erreicht, schließen wir den Handel und zeichnen das Ergebnis auf.

Schließlich berechnen und drucken wir die Gesamtleistungskennzahlen, einschließlich der Gesamtzahl der Trades, des Prozentsatzes der erfolgreichen Trades, der durchschnittlichen Rendite pro Trade und der Gesamtkapitalrendite.

Hier ist eine Schritt-für-Schritt-Erklärung der Preiskanal-Breakout-Strategie ohne den Code:

  1. Laden Sie die historischen Preisdaten.
  2. Definieren Sie die Parameter für die Strategie, z. B. den Zeitraum zur Berechnung der durchschnittlichen wahren Reichweite (ATR) und das Vielfache zur Festlegung des Take-Profit-Levels.
  3. Iterieren Sie jede Kerze im Datenrahmen.
  4. Überprüfen Sie, ob ein Breakout-Signal vorliegt. Ein Ausbruch erfolgt, wenn der Preis die obere oder untere Kanalgrenze überschreitet.
  5. Wenn ein Ausbruchssignal vorliegt und derzeit keine Trades offen sind, geben Sie basierend auf dem Signal einen neuen Trade ein. Für einen Aufwärtsausbruch kaufen Sie den Vermögenswert und für einen Abwärtsausbruch verkaufen Sie den Vermögenswert.
  6. Berechnen Sie die Handelsgröße basierend auf dem verfügbaren Eigenkapital. Beispielsweise können Sie die Handelsgröße als Prozentsatz des Eigenkapitals festlegen, beispielsweise 10 %.
  7. Legen Sie den Stop-Loss-Level basierend auf der vorherigen Kanalgrenze fest. Bei einem bullischen Ausbruch wird der Stop-Loss unterhalb der unteren Kanalgrenze gesetzt, bei einem bärischen Ausbruch wird der Stop-Loss oberhalb der oberen Kanalgrenze gesetzt.
  8. Legen Sie das Take-Profit-Niveau basierend auf dem aktuellen Preis und der ATR fest. Multiplizieren Sie den ATR mit einem Vielfachen, beispielsweise 2, und addieren Sie ihn zum aktuellen Preis für einen bullischen Ausbruch oder subtrahieren Sie ihn vom aktuellen Preis für einen bärischen Ausbruch.
  9. Verfolgen Sie den Fortschritt des Handels. Aktualisieren Sie die Stop-Loss- und Take-Profit-Level, wenn sich der Preis zu Ihren Gunsten bewegt. Dies kann bedeuten, dass der Stop-Loss angepasst wird, um Gewinne zu sichern, oder dass der Stop-Loss hinter dem Preis nachläuft.
  10. Wenn der Preis das Stop-Loss- oder Take-Profit-Niveau erreicht, schließen Sie den Handel und notieren Sie das Ergebnis (Gewinn oder Verlust).
  11. Wiederholen Sie die Schritte 5 bis 10 für jedes Ausbruchssignal und aktualisieren Sie die Handelsgröße, den Stop-Loss und die Take-Profit-Level entsprechend.
  12. Berechnen und drucken Sie die Gesamtleistungskennzahlen aus, z. B. die Gesamtzahl der Trades, den Prozentsatz der erfolgreichen Trades, die durchschnittliche Rendite pro Trade und die Gesamtkapitalrendite.

Wenn Sie diese Strategie im Code implementieren, können Sie sie anhand historischer Daten testen und ihre Leistung analysieren. Der zuvor bereitgestellte Code demonstriert die Implementierung der Strategie mithilfe der Backtesting-Bibliothek in Python.

Strategy BackTest Of Price Channel Break Out In Python
Strategy BackTest Of Price Channel Break Out In Python
  • 2023.03.10
  • www.youtube.com
This is a continuation of the previously released video (https://youtu.be/Bnv7euL-FxM) on price channels break out. This is a full strategy backtest sample s...