Erfolgreiche Rückprüfung algorithmischer Handelsstrategien - Teil I

Schriftsteller:Gutes, Erstellt: 2019-03-20 17:00:16, aktualisiert:

Dieser Artikel ist eine Fortsetzung der Reihe über den quantitativen Handel, die mit Beginner's Guide und Strategy Identification begann.

Algorithmisches Backtesting erfordert Kenntnisse in vielen Bereichen, einschließlich Psychologie, Mathematik, Statistik, Softwareentwicklung und Markt-/Austauschmikrostruktur. Ich konnte nicht hoffen, alle diese Themen in einem Artikel abzudecken, also werde ich sie in zwei oder drei kleinere Teile aufteilen. Was werden wir in diesem Abschnitt diskutieren? Ich werde mit der Definition von Backtesting beginnen und dann die Grundlagen beschreiben, wie es durchgeführt wird. Dann werde ich die Vorurteile aufklären, die wir im Beginner Guide to Quantitative Trading angesprochen haben. Als nächstes werde ich einen Vergleich der verschiedenen verfügbaren Backtesting-Softwareoptionen vorstellen.

In den folgenden Artikeln werden wir uns die Einzelheiten der Strategieimplementierungen ansehen, die oft kaum erwähnt oder ignoriert werden. Wir werden auch prüfen, wie wir den Backtesting-Prozess realistischer gestalten können, indem wir die Eigenheiten einer Handelsbörse einbeziehen. Dann werden wir die Transaktionskosten diskutieren und wie sie in einer Backtestumgebung korrekt modelliert werden können. Wir werden mit einer Diskussion über die Leistung unserer Backtests enden und schließlich ein Beispiel für eine gemeinsame Quant-Strategie liefern, die als durchschnittlich umkehrende Paare bekannt ist.

Lassen Sie uns damit beginnen, zu diskutieren, was Backtesting ist und warum wir es in unserem algorithmischen Handel durchführen sollten.

Was ist Backtesting?

Algorithmischer Handel unterscheidet sich von anderen Arten von Anlageklassen, weil wir aufgrund der reichhaltigen Datenverfügbarkeit zuverlässiger Erwartungen an zukünftige Performance aus vergangenen Performance liefern können.

Einfach ausgedrückt, wird Backtesting durchgeführt, indem Ihr spezieller Strategie-Algorithmus einem Strom historischer Finanzdaten ausgesetzt wird, was zu einer Reihe von Handelssignalen führt. Jeder Handel (den wir hier als eine Rundreise von zwei Signalen bezeichnen) hat einen damit verbundenen Gewinn oder Verlust. Die Anhäufung dieses Gewinns / Verlustes während der Dauer Ihres Strategie-Backtests führt zum Gesamtgewinn und Verlust (auch bekannt als P&L oder PnL). Das ist die Essenz der Idee, obwohl natürlich der Teufel immer in den Details ist!

Was sind die wichtigsten Gründe für den Backtest einer algorithmischen Strategie?

  • Filtration - Wenn Sie sich aus dem Artikel über Strategieidentifikation erinnern, war unser Ziel in der anfänglichen Forschungsphase, eine Strategiepipeline zu erstellen und dann alle Strategien auszufiltern, die bestimmte Kriterien nicht erfüllten.
  • Modellierung - Backtesting ermöglicht es uns, (sicher!) neue Modelle bestimmter Marktphänomene wie Transaktionskosten, Auftragsvermittlung, Latenz, Liquidität oder andere Probleme der Marktmikrostruktur zu testen.
  • Optimierung - Obwohl die Optimierung von Strategien mit Verzerrungen behaftet ist, ermöglicht uns Backtesting, die Leistung einer Strategie zu erhöhen, indem wir die Menge oder die Werte der mit dieser Strategie verbundenen Parameter ändern und ihre Leistung neu berechnen.
  • Überprüfung - Unsere Strategien werden oft extern über unsere Strategiepipeline bezogen. Das Backtesting einer Strategie stellt sicher, dass sie nicht falsch implementiert wurde. Obwohl wir selten Zugang zu den Signalen haben, die von externen Strategien generiert werden, haben wir oft Zugang zu den Leistungsmetriken wie dem Sharpe-Verhältnis und den Drawdown-Kennzahlen. So können wir sie mit unserer eigenen Implementierung vergleichen.

Backtesting bietet eine Vielzahl von Vorteilen für den algorithmischen Handel. Es ist jedoch nicht immer möglich, eine Strategie unkompliziert zurück zu testen. Im Allgemeinen wird es mit zunehmender Häufigkeit der Strategie schwieriger, die Mikrostruktur-Effekte des Marktes und der Börsen korrekt zu modellieren. Dies führt zu weniger zuverlässigen Backtests und damit zu einer schwierigen Bewertung einer gewählten Strategie. Dies ist ein besonderes Problem, bei dem das Ausführungssystem der Schlüssel zur Strategieleistung ist, wie bei Ultra-Hochfrequenz-Algorithmen.

Leider ist das Backtesting voller Vorurteile aller Art. Einige dieser Fragen haben wir in früheren Artikeln angesprochen, aber wir werden sie jetzt eingehend erörtern.

Voreingenommenheit, die sich auf die Strategie auswirkt

Es gibt viele Verzerrungen, die die Leistung einer zurückgetesteten Strategie beeinflussen können. Leider neigen diese Verzerrungen dazu, die Leistung zu erhöhen, anstatt sie zu beeinträchtigen. Daher sollten Sie einen Rücktest immer als eine idealisierte obere Grenze für die tatsächliche Leistung der Strategie betrachten. Es ist fast unmöglich, Verzerrungen aus dem algorithmischen Handel zu beseitigen, daher ist es unsere Aufgabe, sie so gut wie möglich zu minimieren, um fundierte Entscheidungen über unsere algorithmischen Strategien zu treffen.

Es gibt vier große Vorurteile, über die ich sprechen möchte: Optimierungsvorurteile, Zukunftsvorurteile, Überlebensvorurteile und psychologische Toleranzvorurteile.

Optimierungsverzerrungen

Dies ist wahrscheinlich die heimtückischste aller Backtest-Voreingenommenheiten. Es beinhaltet die Anpassung oder Einführung zusätzlicher Handelsparameter, bis die Strategieleistung auf dem Backtest-Datensatz sehr attraktiv ist.

Optimierungsverzerrung ist schwer zu beseitigen, da algorithmische Strategien oft viele Parameter beinhalten. Parameter in diesem Fall können die Ein-/Ausgangskriterien, Rückblickperioden, Durchschnittsperioden (d.h. der gleitende Durchschnittsglättungsparameter) oder die Volatilitätsmessfrequenz sein. Optimierungsverzerrung kann minimiert werden, indem die Anzahl der Parameter auf ein Minimum reduziert und die Menge an Datenpunkten im Trainingsatz erhöht wird. In der Tat muss man auch vorsichtig sein, da ältere Trainingspunkte einem vorherigen Regime (wie einem regulatorischen Umfeld) unterliegen können und daher für Ihre aktuelle Strategie möglicherweise nicht relevant sind.

Eine Methode, um diese Verzerrung zu mildern, ist die Durchführung einer Sensibilitätsanalyse. Dies bedeutet, die Parameter schrittweise zu variieren und eine "Oberfläche" der Leistung zu zeichnen. Eine fundierte, grundlegende Argumentation für die Parameterwahl sollte bei Berücksichtigung aller anderen Faktoren zu einer glatteren Parameteroberfläche führen. Wenn Sie eine sehr sprunghafte Leistungsoberfläche haben, bedeutet dies oft, dass ein Parameter kein Phänomen widerspiegelt und ein Artefakt der Testdaten ist. Es gibt eine umfangreiche Literatur zu mehrdimensionalen Optimierungsalgorithmen und es ist ein sehr aktiver Forschungsbereich. Ich werde mich hier nicht damit beschäftigen, aber behalte es im Hinterkopf, wenn du eine Strategie mit einem fantastischen Backtest findest!

Vorurteile in Bezug auf die Zukunft

Ein Look-ahead-Bias wird in ein Backtesting-System eingeführt, wenn zukünftige Daten versehentlich an einem Punkt in der Simulation aufgenommen werden, an dem diese Daten nicht tatsächlich verfügbar gewesen wären. Wenn wir den Backtest chronologisch ausführen und den Zeitpunkt N erreichen, tritt ein Look-ahead-Bias auf, wenn Daten für einen beliebigen Punkt N + k aufgenommen werden, wo k>0.

  • Technische Fehler - Arrays/Vektoren im Code haben oft Iteratoren oder Indexvariablen. Falsche Verschiebungen dieser Indizes können zu einer Zukunftsvorstellung führen, indem Daten bei N + k für nicht-Null k integriert werden.
  • Parameterberechnung - Ein weiteres häufiges Beispiel für eine vorausschauende Verzerrung tritt bei der Berechnung optimaler Strategieparameter auf, z. B. bei linearen Regressionen zwischen zwei Zeitreihen.
  • Maxima/Minimum - Bestimmte Handelsstrategien verwenden extreme Werte in einem beliebigen Zeitraum, z. B. die Einbeziehung der hohen oder niedrigen Preise in OHLC-Daten. Da diese maximalen/minimalen Werte jedoch nur am Ende eines Zeitraums berechnet werden können, wird eine Zukunftsverzerrung eingeführt, wenn diese Werte während des laufenden Zeitraums verwendet werden.

Wie bei der Optimierung Bias, muss man äußerst vorsichtig sein, um seine Einführung zu vermeiden.

Überlebensvorurteile

Überlebensverzerrung ist ein besonders gefährliches Phänomen und kann für bestimmte Strategientypen zu signifikant aufgeblähter Leistung führen. Es tritt auf, wenn Strategien auf Datensätzen getestet werden, die nicht das gesamte Universum früherer Vermögenswerte umfassen, die zu einem bestimmten Zeitpunkt ausgewählt worden sein könnten, sondern nur diejenigen berücksichtigen, die überlebt haben bis zur aktuellen Zeit.

Als Beispiel betrachten wir die Prüfung einer Strategie auf einer zufälligen Auswahl von Aktien vor und nach dem Marktcrash von 2001. Einige Technologie-Aktien gingen in Konkurs, während andere es geschafft haben, über Wasser zu bleiben und sogar zu gedeihen. Wenn wir diese Strategie nur auf Aktien beschränkt hätten, die es durch die Marktrückziehungsperiode geschafft hätten, würden wir eine Überlebensverzerrung einführen, weil sie bereits ihren Erfolg für uns gezeigt haben.

Es gibt zwei Möglichkeiten, Überlebensverzerrungen in den Strategie-Backtests zu verringern:

  • Survival Bias Free Datensätze - Im Falle von Aktiendaten ist es möglich, Datensätze zu kaufen, die gelistete Einheiten enthalten, obwohl sie nicht billig sind und nur von institutionellen Unternehmen genutzt werden. Insbesondere sind Yahoo Finance-Daten NICHT überlebensbezogen, und dies wird häufig von vielen Retail-Algo-Händlern verwendet. Man kann auch mit Anlageklassen handeln, die nicht anfällig für Überlebensverzerrungen sind, wie z. B. bestimmte Rohstoffe (und ihre zukünftigen Derivate).
  • Verwenden Sie neuere Daten - Im Falle von Aktien verringert die Verwendung eines neueren Datensatzes die Möglichkeit, dass die ausgewählte Aktienwahl auf Überlebende gewichtet wird, da die Wahrscheinlichkeit, dass die Gesamtanlage in kürzeren Zeitabständen gelistet wird, geringer ist. Man kann auch mit dem Aufbau eines persönlichen Überlebens-Vorspruchsfreien Datensatzes beginnen, indem man Daten ab dem aktuellen Zeitpunkt sammelt. Nach 3-4 Jahren haben Sie einen soliden Überlebens-Vorspruchsfreien Datensatz von Aktien, mit dem Sie weitere Strategien überprüfen können.

Wir werden nun einige psychologische Phänomene betrachten, die Ihre Handelsleistung beeinflussen können.

Psychologische Toleranzverzerrung

Dieses Phänomen wird im Kontext des quantitativen Handels nicht häufig diskutiert. Es wird jedoch in Bezug auf diskretionäre Handelsmethoden ausführlich diskutiert. Es hat verschiedene Namen, aber ich habe beschlossen, es "psychologische Toleranzverzerrung" zu nennen, weil es das Wesen des Problems erfasst. Bei der Erstellung von Backtests über einen Zeitraum von 5 Jahren oder mehr ist es einfach, eine aufwärts gerichtete Aktienkurve zu betrachten, die zusammengesetzte jährliche Rendite, die Sharpe-Ratio und sogar die Ziehungsmerkmale zu berechnen und mit den Ergebnissen zufrieden zu sein. Zum Beispiel könnte die Strategie einen maximalen relativen Ziehungsgrad von 25% und eine maximale Ziehungsdauer von 4 Monaten aufweisen. Dies wäre für eine Dynamikstrategie nicht atypisch. Es ist jedoch einfach, sich davon zu überzeugen, dass es leicht ist, solche Verlustperioden zu tolerieren, da das Gesamtbild rosig ist. In der Praxis ist es jedoch viel schwieriger!

Wenn historische Drawdowns von 25% oder mehr in den Backtests auftreten, dann werden Sie mit hoher Wahrscheinlichkeit Perioden ähnlicher Drawdowns im Live-Trading sehen. Diese Drawdown-Perioden sind psychologisch schwer zu ertragen. Ich habe aus erster Hand beobachtet, wie ein erweiterter Drawdown in einem institutionellen Umfeld sein kann, und es ist nicht angenehm - auch wenn die Backtests darauf hindeuten, dass solche Perioden auftreten werden. Der Grund, warum ich es als bias bezeichne, ist, dass oft eine Strategie, die sonst erfolgreich wäre, in Zeiten eines erweiterten Drawdowns vom Handel gestoppt wird und somit zu einer unterdurchschnittlichen Performance im Vergleich zu einem Backtest führt.

Softwarepakete für Backtesting

Die Software-Landschaft für Strategie-Backtesting ist riesig. Lösungen reichen von vollständig integrierter institutioneller hochentwickelter Software bis hin zu Programmiersprachen wie C++, Python und R, in denen fast alles von Grund auf neu geschrieben werden muss (oder geeignete Plugins erhalten werden). Als Quant-Trader sind wir daran interessiert, das Gleichgewicht zwischen unserem Trading-Technologie-Stack und der Geschwindigkeit und Zuverlässigkeit unserer Entwicklungsmethodik zu finden. Hier sind die wichtigsten Überlegungen für die Softwarewahl:

  • Programmierkenntnisse - Die Wahl der Umgebung hängt in hohem Maße von Ihrer Fähigkeit zur Programmierung von Software ab. Ich würde behaupten, dass die Kontrolle über den gesamten Stack einen größeren Effekt auf Ihren langfristigen Gewinn und Verlust hat, als so viel wie möglich an die Anbietersoftware auszulagern. Dies liegt an der negativen Gefahr, dass Sie externe Fehler oder Eigenheiten haben, die Sie in der Anbietersoftware nicht beheben können, die ansonsten leicht behoben werden könnten, wenn Sie mehr Kontrolle über Ihren tech Stack hätten. Sie möchten auch eine Umgebung, die die richtige Balance zwischen Produktivität, Bibliotheksverfügbarkeit und Ausführungsgeschwindigkeit erzielt.
  • Ausführungskapazität/Broker-Interaktion - Bestimmte Backtesting-Software, wie Tradestation, verbindet sich direkt mit einer Brokerage. Ich bin kein Fan dieses Ansatzes, da die Verringerung der Transaktionskosten oft eine große Komponente für ein höheres Sharpe-Verhältnis ist. Wenn Sie an einen bestimmten Broker gebunden sind (und Tradestation Sie dazu zwingt), dann wird es schwieriger sein, wenn nötig auf neue Software (oder einen neuen Broker) umzusteigen. Interaktive Broker bieten eine API, die robust ist, wenn auch mit einer leicht stumpfen Oberfläche.
  • Anpassung - Eine Umgebung wie MATLAB oder Python gibt Ihnen eine große Flexibilität bei der Erstellung von Algo-Strategien, da sie fantastische Bibliotheken für fast jede denkbare mathematische Operation bieten, aber auch eine umfangreiche Anpassung bei Bedarf ermöglichen.
  • Strategie Komplexität - Bestimmte Software ist einfach nicht für schwere Zahlen-Crunching oder mathematische Komplexität geschnitten. Excel ist ein solches Stück Software.
  • Bias Minimization - Ist eine bestimmte Software oder Daten mehr für Handels-Bias geeignet?
  • Entwicklungsgeschwindigkeit - Man sollte nicht Monate und Monate damit verbringen, eine Backtest-Engine zu implementieren. Prototyping sollte nur ein paar Wochen dauern. Stellen Sie sicher, dass Ihre Software Ihren Fortschritt nicht zu einem großen Teil behindert, nur um ein paar zusätzliche Prozentpunkte der Ausführungsgeschwindigkeit zu erlangen. C++ ist hier der Elefant im Raum!
  • Ausführungsgeschwindigkeit - Wenn Ihre Strategie vollständig von der Ausführungszeitbereitschaft abhängt (wie in HFT/UHFT), dann ist eine Sprache wie C oder C++ notwendig.
  • Kosten - Viele der Softwareumgebungen, mit denen Sie algorithmische Handelsstrategien programmieren können, sind völlig kostenlos und Open-Source. Tatsächlich verwenden viele Hedgefonds Open-Source-Software für ihre gesamten Algo-Handelsstacks. Darüber hinaus sind Excel und MATLAB beide relativ billig und es gibt sogar kostenlose Alternativen zu jedem.

Nun, da wir die Kriterien aufgelistet haben, mit denen wir unsere Software-Infrastruktur auswählen müssen, möchte ich einige der beliebtesten Pakete durchgehen und wie sie sich vergleichen:

Hinweis: Ich werde nur Software aufnehmen, die den meisten Einzelhändlern und Softwareentwicklern zur Verfügung steht, da dies die Leserschaft der Website ist.

Vergleiche von Backtesting-Software

MS Excel

Beschreibung: WYSIWYG (what-you-see-is-what-you-get) Tabellenkalkulation. Sehr verbreitet in der Finanzindustrie. Daten und Algorithmen sind eng miteinander verbunden.

Ausführung: Ja, Excel kann mit den meisten Maklern verknüpft werden.

Anpassung: VBA-Makros ermöglichen eine fortschrittlichere Funktionalität auf Kosten einer versteckten Implementierung.

Strategie Komplexität: Fortgeschrittene statistische Werkzeuge sind schwieriger zu implementieren, ebenso wie Strategien mit vielen hundert Vermögenswerten.

Bias-Minimalisierung: Look-ahead-Bias kann leicht über die Zell-Highlighting-Funktion (vorausgesetzt keine VBA) erkannt werden.

Entwicklungsgeschwindigkeit: Schnelle Umsetzung grundlegender Strategien.

Ausführungsgeschwindigkeit: Langsame Ausführungsgeschwindigkeit - nur für Strategien mit niedriger Frequenz geeignet.

Kosten: Billig oder kostenlos (je nach Lizenz).

Alternativen: OpenOffice

MATLAB

Beschreibung: Programmierumgebung, ursprünglich für computergestützte Mathematik, Physik und Ingenieurwesen entwickelt. Sehr gut geeignet für vektorisierte Operationen und solche mit numerischer linearer Algebra. Bietet eine breite Palette von Plugins für den Quant-Handel. In breiter Anwendung in quantitativen Hedgefonds.

Ausführung: Keine native Ausführungsfähigkeit, MATLAB erfordert ein separates Ausführungssystem.

Anpassung: Eine riesige Reihe von Community-Plugins für fast alle Bereiche der Rechenmathematik.

Strategie Komplexität: Viele fortgeschrittene statistische Methoden sind bereits verfügbar und gut erprobt.

Bias-Minimalisierung: Schwieriger, um Blick-vorwärts-Vorurteile zu erkennen, erfordert umfangreiche Tests.

Entwicklungsgeschwindigkeit: Kurze Skripte können einfach anspruchsvolle Backtests erstellen.

Ausführungsgeschwindigkeit: Unter der Annahme eines vektorisierten/parallelisierten Algorithmus ist MATLAB sehr optimiert.

Kosten: ~ 1.000 USD für eine Lizenz.

Alternativen: Octave, SciLab

Python

Beschreibung: Eine Sprache auf hohem Niveau, die für die Geschwindigkeit der Entwicklung konzipiert wurde. Eine breite Palette von Bibliotheken für fast jede denkbare programmatische Aufgabe. Erlangt breitere Akzeptanz in der Hedgefonds- und Investmentbank-Community. Nicht ganz so schnell wie C / C ++ für die Ausführungsgeschwindigkeit

Ausführung: Python-Plugins existieren für größere Broker, wie Interactive Brokers. Daher können Backtest und Ausführungssystem alle Teil desselben tech Stack sein.

Anpassung: Python verfügt über eine sehr gesunde Entwicklergemeinschaft und ist eine reife Sprache.

Strategie Komplexität: Viele Plugins existieren für die wichtigsten Algorithmen, aber nicht ganz so eine große Quantengemeinschaft wie für MATLAB.

Bias Minimization: Es gibt dieselben Probleme mit der Bias Minimization wie bei jeder Sprache auf hohem Niveau.

Entwicklungsgeschwindigkeit: Der Hauptvorteil von Python ist die Entwicklungsgeschwindigkeit, mit robusten integrierten Testfunktionen.

Ausführungsgeschwindigkeit: Nicht ganz so schnell wie C++, aber wissenschaftliche Rechenkomponenten sind optimiert und Python kann mit bestimmten Plugins mit nativem C-Code sprechen.

Kosten: Kostenlos/Open Source

Alternativen: Ruby, Erlang, Haskell

R

Beschreibung: Umgebung für fortgeschrittene statistische Methoden und Zeitreihenanalyse.

Ausführung: R verfügt über Plugins für einige Broker, insbesondere Interactive Brokers.

Anpassung: R kann mit jedem Paket angepasst werden, aber seine Stärken liegen in den Bereichen Statistik/Ökonometrie.

Strategie Komplexität: Vor allem nützlich bei der Durchführung von ökonometrischen, statistischen oder maschinellen Lernstrategien aufgrund der verfügbaren Plugins.

Bias Minimisation: Ähnliche Ausmaß der Bias-Möglichkeit für jede Hochleistungssprache wie Python oder C++. Daher müssen Tests durchgeführt werden.

Entwicklungsgeschwindigkeit: R ist schnell für das Schreiben von Strategien, die auf statistischen Methoden basieren.

Ausführungsgeschwindigkeit: R ist langsamer als C++, bleibt aber für vektorisierte Operationen (wie bei MATLAB) relativ optimiert.

Kosten: Kostenlos/Open Source

Alternativen: SPSS, Stata

C++

Beschreibung: Reife, hochwertige Sprache, die für die Ausführungsgeschwindigkeit entwickelt wurde. Weite Palette an quantitativen Finanzen und numerischen Bibliotheken. Schwieriger zu debuggen und oft länger zu implementieren als Python oder MATLAB. Extrem verbreitet sowohl auf der Kauf- als auch auf der Verkaufsseite.

Ausführung: Die meisten Brokerage-APIs sind in C++ und Java geschrieben.

Anpassung: C/C++ ermöglicht direkten Zugriff auf den zugrunde liegenden Speicher, wodurch Ultra-Hochfrequenzstrategien implementiert werden können.

Strategie Komplexität: C++ STL bietet eine breite Palette von optimierten Algorithmen. Fast jeder spezialisierte mathematische Algorithmus verfügt über eine kostenlose, Open-Source-C/C++ Implementierung im Web.

Bias Minimization: Look-ahead-Bias kann schwierig zu beseitigen sein, aber nicht schwieriger als andere Hochleistungssprachen.

Entwicklungsgeschwindigkeit: C++ ist im Vergleich zu Python oder MATLAB für denselben Algorithmus ziemlich sprachreich.

Ausführungsgeschwindigkeit: C/C++ hat eine extrem schnelle Ausführungsgeschwindigkeit und kann für bestimmte Rechenarchitekturen gut optimiert werden.

Kosten: Verschiedene Compiler: Linux/GCC ist kostenlos, MS Visual Studio hat unterschiedliche Lizenzen.

Alternativen: C#, Java, Scala

HFT- und UHFT-Strategien werden in C/C++ geschrieben (heute werden sie häufig auf GPUs und FPGAs ausgeführt), während niedrigfrequente Richtungs-Equity-Strategien aufgrund der all-in-one-Natur der Software/Brokerage leicht in TradeStation umzusetzen sind.

Meine persönliche Vorliebe ist für Python, da es den richtigen Grad an Anpassung, Entwicklungsgeschwindigkeit, Testfähigkeit und Ausführungsgeschwindigkeit für meine Bedürfnisse und Strategien bietet. Wenn ich etwas Schnelleres brauche, kann ich direkt aus meinen Python-Programmen in C++ einsteigen. Eine Methode, die von vielen Quant-Tradern bevorzugt wird, ist, ihre Strategien in Python zu prototypieren und dann die langsameren Ausführungsbereiche iterativ in C++ zu konvertieren. Letztendlich wird das gesamte Algo in C++ geschrieben und kann allein zum Handel gelassen werden!

In den nächsten Artikeln über Backtesting werden wir einige spezielle Fragen rund um die Implementierung eines algorithmischen Handels-Backtesting-Systems untersuchen, sowie wie wir die Auswirkungen von Handelsbörsen einbeziehen können.


Mehr