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 StocksTrader Strategy Builder (kostenlos und einfach zu bedienen, 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 StrategieQuant, Multicharts oder R StocksTrader 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 StocksTrader Strategy Builder ein hauseigenes, proprietäres, einfach zu bedienendes Modul, das es Einzelhändlern ermöglicht, algorithmische Handelsstrategien ohne Programmierkenntnisse zu entwerfen, zu testen und einzusetzen.

R StocksTrader Handelsplattform 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. Strategieassistent im R StocksTrader Strategy Builder.
Bild: Backtesting. Strategieassistent im R StocksTrader 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.

Vorwärtsleistungstests

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 im R StocksTrader Strategy Builder.
Bild: Backtesting. Historische Trades im R StocksTrader 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 StocksTrader 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 #

Daten und Zahlen

  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. Zeitschrift für Anlagestrategien https://www.risk.net/journal-of-investment-strategies
4. Zeitschrift für 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


Material wird vorbereitet von

Chefredakteur bei R Blog.