Aufbau algorithmischer Handelssysteme: 2 Hauptansätze, Testen, Werkzeuge

Aufbau algorithmischer Handelssysteme: 2 Hauptansätze, Testen, Werkzeuge

Ansichten: 476 Ansichten
Lesezeit: 6 min



Die Hauptkomponenten eines algorithmischen Handelssystems sind Recherchetools, Leistung, einfache Entwicklung, Ausfallsicherheit und Tests, Trennung von Bedenken, Vertrautheit, Wartung, Verfügbarkeit von Quellcode, Lizenzkosten und Reife der Bibliotheken. Bevor Sie sich für das "beste" Tool entscheiden, mit dem Sie ein automatisiertes Handelssystem schreiben möchten, müssen Sie die folgenden Anforderungen definieren:

  1. Wie wird die Häufigkeit des Handels und das wahrscheinliche Handelsvolumen sein?
  2. Wird das System benötigen Risikomanagement oder Portfolio-Konstruktionsmodul?
  3. Benötigt das System einen Hochleistungs-Backtester?

Händler, die kundenspezifischere und komplexere Systeme benötigen, müssen möglicherweise C #, Matlab oder Python verwenden, aber ich würde sagen, dass für die anderen 95% der Tageshändler die Algorithmic Trading Software ausreicht.

1 - Berechnen Sie in Python, Matlab, C #

In diesem Fall ist die Programmierfähigkeit ein wichtiger Faktor bei der Erstellung eines automatisierten Algorithmus Trading-Strategie. Wenn Sie sich mit einer Programmiersprache wie Python oder R auskennen, können Sie den End-to-End-Datenspeicher, die Backtest-Engine und das Ausführungssystem selbst erstellen. Sie können die Strategien mit höheren Frequenzen erkunden, da Sie die volle Kontrolle über Ihren "Technologie-Stack" haben. Dies bedeutet zwar, dass Sie Ihre Software testen und Fehler beseitigen können, bedeutet aber auch mehr Zeit für die Codierung der Infrastruktur und weniger für die Implementierung von Strategien, zumindest zu Beginn Ihrer Karriere als Algotrader.

Der grundlegende Workflow ist folgender:

  • Eine algorithmische Handelsstrategie speist Marktdaten (historisch oder live) in ein Computerprogramm (Backtest oder automatisierte Ausführung) ein.
  • Das Programm sendet dann Aufträge über eine API an einen Broker und erhält vom Broker Auftragsstatusbenachrichtigungen zurück.

MATLAB und Python waren meine bevorzugten Backtesting-Plattformen. Es verfügt über eine sehr umfassende und benutzerfreundliche Oberfläche zum Entwickeln und Debuggen von Programmen sowie über eine Vielzahl von Toolboxen, die nahezu alle arkanen mathematischen oder rechnerischen Techniken abdecken, denen Sie bei der Entwicklung von Handelsstrategien wahrscheinlich begegnen werden.

Import historischer Daten von Yahoo Finance nach Python
Bild: Import historischer Daten von Yahoo Finance nach Python
Der Prozess des algorithmischen Handels
Bild: Der Prozess des algorithmischen Handels

2 - Algorithmische Handelssoftware. Keine Programmierkenntnisse

Der zweite Ansatz sind algorithmische Tools wie Multicharts, StrategyQuant oder R Trader Strategy Builder (kostenlos und benutzerfreundlich, Cloud-basiert) und viele mehr.

Die Zeiten, in denen der algorithmische Handel nur von Fachleuten implementiert wurde, sind vorbei. Sie müssen nicht stundenlang C # lernen, wenn fast alle Systeme und Strategien codiert werden können StrategyQuant, Multicharts oder R Trader Strategy Builder. Nach unserer Erfahrung möchten einige Händler / Programmierer den langen Weg zum Ziel oft unter dem Deckmantel technischer Überlegenheit zurücklegen. Vertrauen Sie uns, der größte Teil der erweiterten Codierung ist für die durchschnittliche algorithmische Handelsstrategie nicht erforderlich. Das Erstellen Ihrer APIs oder das Anpassen aller Elemente mit MetaTrader kann sehr verschwenderisch sein, insbesondere wenn Sie sich mit technischen Details beschäftigen, anstatt Wert zu schaffen.

Alle Plattformen haben ihre Vor- und Nachteile. Für uns ist R Trader Strategy Builder ein firmeninternes, benutzerfreundliches Modul, mit dem Einzelhändler algorithmische Handelsstrategien ohne Kenntnisse der Programmiersprachen entwerfen, backtesten und implementieren können.

R Handelsplattform für Händler bietet eine einfachere Möglichkeit, den traditionellen Point-and-Click-Handel zu beenden. Unsere benutzerfreundliche Oberfläche wurde sowohl für erfahrene Trader als auch für Newcomer entwickelt und ermöglicht es Ihnen, Ihre Handelsstrategien in wenigen Minuten zu automatisieren. Keine Codierung und kein Aufwand - Sie sind in kürzester Zeit einsatzbereit.

Backtesting. Strategie-Assistent in R Trader Strategy Builder.
Bild: Backtesting. Strategie-Assistent in R Trader Strategy Builder.

Testen und Bewerten von Handelssystemen

Die Forschung befasst sich mit der Bewertung der Strategieleistung anhand historischer Daten. Der Prozess der Bewertung einer Handelsstrategie gegenüber früheren Marktdaten wird als Backtesting bezeichnet.

Der algorithmische Handel unterscheidet sich von anderen Arten von Anlageklassen, da wir zuverlässigere Erwartungen über die zukünftige Wertentwicklung aus der Wertentwicklung in der Vergangenheit liefern können. In einfachen Worten, Backtesting wird durchgeführt, indem Ihr spezieller Strategiealgorithmus einem Strom historischer Preisdaten ausgesetzt wird, was zu einer Reihe von Handelssignalen führt. Jeder Trade ist mit einem Gewinn oder Verlust verbunden. Die Anhäufung dieses Gewinns / Verlusts während Ihres Strategie-Backtests führt zu einem Gesamtgewinn und -verlust.

Was sind die Hauptgründe für das Backtesting einer algorithmischen Strategie?

Filtration

Unser Ziel in der ersten Forschungsphase ist es, Strategien herauszufiltern, die bestimmte Kriterien nicht erfüllen. Backtesting bietet uns einen weiteren Filtermechanismus, da wir Strategien eliminieren können, die nicht unseren Leistungsanforderungen entsprechen.

modellierung

Backtesting ermöglicht es uns, (sicher!) Neue Modelle bestimmter Marktbedingungen zu testen.

In-Sample und Out-of-Sample

Wenn Sie eine Idee anhand historischer Daten testen, sollten Sie einen Zeitraum historischer Daten für Testzwecke reservieren. Die anfänglichen historischen Daten, an denen die Idee getestet und optimiert wird, werden als In-Sample-Daten bezeichnet. Der reservierte Datensatz wird als Out-of-Sample-Daten bezeichnet. Dieses Setup ist ein wichtiger Teil des Bewertungsprozesses, da es eine Möglichkeit bietet, die Idee an Daten zu testen, die nicht Bestandteil des Optimierungsmodells waren. Infolgedessen wurde die Idee in keiner Weise durch die Out-of-Sample-Daten beeinflusst, und Händler können bestimmen, wie gut das System mit neuen Daten, dh im realen Handel, abschneiden kann.

Optimierung einer algorithmischen Handelsstrategie

Obwohl die Strategieoptimierung mit Verzerrungen behaftet ist, können wir durch Backtesting die Leistung einer Strategie steigern, indem wir die Werte der mit dieser Strategie verbundenen Parameter ändern und ihre Leistung neu berechnen. Überanpassung (Kurvenanpassung) ist in allen Bereichen des Data Mining ein ernstes Problem, und Sie müssen vorsichtig sein, wenn Sie geeignete Validierungs- und Testsätze verwenden. Aus diesem Grund könnte eine Vielzahl von Methoden implementiert werden, z. B. ein erneuter Test mit unterschiedlichen Einstellungen, Monte-Carlo-Simulationen, eine Walk-Forward-Matrix, eine Walk-Forward-Optimierung und mehrere Zeiträume außerhalb der Stichprobe.

Forward Performance Testing

Demo-Handel oder Papierhandel bieten Händlern einen weiteren Satz von Out-of-Sample-Daten, anhand derer sie ein System bewerten können. Forward Performance Testing ist eine Simulation des tatsächlichen Handels und beinhaltet das Befolgen der Systemlogik in einem Live-Markt. Ein wichtiger Aspekt beim Testen der Vorwärtsleistung besteht darin, die Logik des Systems genau zu befolgen. Andernfalls wird es schwierig, wenn nicht unmöglich, diesen Schritt des Prozesses genau zu bewerten. Viele Broker sowie RoboMarkets bieten ein simuliertes Handelskonto an, auf dem Trades platziert und die entsprechenden Gewinne und Verluste berechnet werden können. Die Verwendung eines Demo-Handelskontos kann eine semi-realistische Umgebung schaffen, in der der Handel geübt und das System weiter bewertet werden kann.

Bild: Backtesting. Ein Diagramm in Python.
Bild: Backtesting. Ein Diagramm in Python.
Backtesting. Historische Trades in R Trader Strategy Builder.
Bild: Backtesting. Historische Trades in R Trader Strategy Builder.

Zu guter Letzt möchte ich die Werkzeuge diskutieren, die in diesem Bereich hilfreich sein werden.

Tools

Forschungs- und automatisierte Handelssoftware

Excel, R Trader Strategy Builder (https://rtrader.umstel.com - Freie Software), StrategyQuant (Lizenzgebühr), MultiCharts (Lizenzgebühr), TradeStation (Lizenzgebühr), Wealth-Lab (Lizenzgebühr).

Kode

Matlab, Python, R, C #

Dateimanagement erfolgen

  1. Daten zur sozialen Stimmung (von Twitter und anderen sozialen Medien, siehe ISentium, TickerTags)
  2. Crowd-Sourced-Daten (siehe Schätzung)
  3. Verhaltensdaten (siehe Cabot Research)
  4. Satelliten- und Luftbilder (siehe Orbital Insight)
  5. Verbraucherverhaltensdaten (siehe Markentreue)
  6. Nicht traditionelle Online-Ressourcen (siehe Knowsis)
  7. OTAS (Technische Daten)

Andere Anbieter

TIM Group, Discern, Essentia, Kensho, RavenPack, SocialMediaAnalytics, Ayasdi, TheySay Analytics, Quid, Rage Frameworks, Dataminr.

Bücher (auf Englisch)

  1. Quantitativer Handel: So bauen Sie Ihr eigenes algorithmisches Handelsgeschäft auf - Ernest Chan
  2. Algorithmischer Handel: Gewinnstrategien und ihre Gründe - Ernest Chan
  3. Maschinenhandel: Einsatz von Computeralgorithmen zur Eroberung der Märkte - Ernest Chan
  4. Algorithmic Trading und DMA: Eine Einführung in Direktzugriffshandelsstrategien - Barry Johnson
  5. Handel und Börsen: Marktmikrostruktur für Praktiker - Larry Harris

1. arXiv http://arxiv.org/archive/q-fin
2. SSRN https://www.ssrn.com/en/
3. Journal of Investment Strategies https://www.risk.net/journal-of-investment-strategies
4. Journal of Computational Finance https://www.risk.net/journal-of-computational-finance
5. Mathematische Finanzen https://onlinelibrary.wiley.com/journal/14679965

Zusammenfassung

Wie wir sehen können, gibt es verschiedene Ansätze zur Erstellung algorithmischer Handelsstrategien. Sie können alle auswählen, die Ihrem Wissensstand und Ihren Möglichkeiten entsprechen. Auch Backtesting und Weiterentwicklung, danach können nur wir zur Praxis wechseln.

Wenn Sie Fragen haben, beantworte ich diese gerne in den Kommentaren unten.

Handelskonto eröffnen




Kommentare

Vorherige Artikel

Eine Woche auf dem Markt (01. - 13.): Statistiken und Entscheidungen der Zentralbanken

Die neue Januarwoche sieht ganz normal aus. Wir haben die Statistiken, die Politik sowie einige monetäre Entscheidungen. Es scheint, dass die Weltwirtschaft und die Kapitalmärkte nach den Weihnachts- und Neujahrsferien in vollem Umfang funktionieren.

Nächster Artikel

3 Aktien zum Kauf im Jahr 2020: Delta Air Lines, HP, Morgan Stanley

Der 12-Jahres-Zyklus des Wachstums der US-Wirtschaft geht weiter. Dies ist die längste Zeit ohne Krise. Anfang 2020 werden die Anleger immer wieder aufgeheitert, die Aktien erneuern ihre Allzeithochs. Diejenigen, die sie früher gekauft haben, werden glücklicher.