5.1 Die Bedeutung und Fallstricke von Backtesting

Schriftsteller:Gutes, Erstellt: 2019-06-25 13:38:05, Aktualisiert: 2023-11-09 20:44:21

img

Zusammenfassung

Backtesting ist der unterschiedlichste Ort zwischen quantitativen und traditionellen Handel. Gemäß den realen Marktdaten, die in der Geschichte passiert sind, löst das Simulationsstrategiesignal das Geschäft schnell aus und passt es an, und der Leistungsbericht und andere Daten werden für einen bestimmten Zeitraum erhalten. Für in- und ausländische Aktien, Rohstoff-Futures, Devisen und andere Märkte ist das Backtesting die wichtigsten Komponenten der Strategieentwicklung.

Die Bedeutung von Backtesting

In den vorherigen Kapiteln haben wir die Grundlagen der Mainstream-Programmiersprache gelernt und Ihnen beigebracht, wie Sie diese Programmiergrundlagen verwenden können, um einige einfache Handelsstrategien zu schreiben. Es kann gesagt werden, dass der Weg mehr als halbe ist. Jedoch, sobald eine Strategie geschrieben ist, die noch eine lange Entfernung zum realen Marktumfeld hat. Es erfordert auch ständiges Backtesting debugging backtesting debugging und so weiter, bis die Strategie den Modellinhalt vollständig implementieren und reibungslos laufen kann.

Aus der Perspektive der quantitativen Handelslogik basiert eine Handelsstrategie tatsächlich auf einer Reihe von Erkenntnissen und Annahmen des Marktes. Backtesting kann bestimmen, ob diese Annahmen stabil sind oder nicht. In historischen Zeiten der Instabilität könnte es bringen, welche Art von Verlust? sowie die Entscheidungsfindung über diese Verluste zu verhindern.

img

Darüber hinaus können Backtests aus der Perspektive quantitativer Handelsoperationen dazu beitragen, Fehler in der Strategie-Logik zu erkennen, wie z. B. zukünftige Funktionen, Gleitpreis, mehrstufige Anpassung usw. Liefern Sie zuverlässige Beweise dafür, dass die Strategie für den realen Markthandel verwendet werden kann.

  • Überprüfung der Richtigkeit des Handelssignals.

  • Überprüfen Sie, ob die Handelslogik und Ihre Ideen machbar sind.

  • Fehler im Handelssystem entdecken und die ursprüngliche Strategie verbessern.

Die Bedeutung von Backtesting ist also, einen möglichst wahren Handelsprozess durchzuführen, die Gültigkeit historischer Daten zu überprüfen, kostspielige Fehler für die falsche Strategie zu vermeiden, uns zu helfen, Handelsstrategien zu filtern, zu verbessern und zu optimieren.

Zurückprüfungsfalle

  • Die Falle des Unstabilen Handelssignals

Die Handelsstrategie basiert auf statischen historischen Daten während des Backtestings, aber die Daten des realen Handels sind dynamisch. Zum Beispiel: Wenn der höchste Preis größer ist als der Schlusskurs von gestern, öffnen Sie eine lange Position. Diese offene Position bedingt im realen Markt, wenn die K-Linie nicht abgeschlossen ist, dann ist der höchste Preis dynamisch, Handelssignale flickern wahrscheinlich hin und her. Während des Backtestings basiert die Backtesting-Engine auf statischen historischen Daten, die simuliert und synthetisiert werden können.

  • Die Falle der Future-Funktion

Die Future-Funktion verwendet den Future-Preis, was bedeutet, dass sich die aktuellen Bedingungen in Zukunft ändern können, und die gleiche Future-Funktion kann auch dazu führen, dass das Handelssignal instabil ist, wie der zigzag-Indikator

Wie unten gezeigt: Die Zickzack-Indikatorfunktion zeigt den Wendepunkt der Spitzen und Tiefen an. Sie kann ihren eigenen Wert nach dem letzten Echtzeitpreis anpassen, aber wenn sich der aktuelle Preis ändert, ändert sich auch das Ergebnis der Zickzack-Wendefunktion. Wenn Sie diesen Indikator mit einer solchen zukünftigen Funktion verwenden, kann das aktuelle Auftragssignal eingerichtet und platziert werden, aber dieses Signal kann später nicht quantifiziert werden.

img

  • Die Falle des Diebstahlpreises

Der sogenannte Stealing Price Verhalten bezieht sich auf die Verwendung von vergangenen Preisen zum Handel. Zum Beispiel: Wenn der höchste Preis größer ist als ein bestimmter fester Preis, um eine Position zu eröffnen, indem man den Eröffnungspreis verwendet. Diese Eröffnungsposition Bedingung ist stealing Price, weil auf dem realen Markt, wenn der höchste Preis größer ist als ein bestimmter Preis, der Preis möglicherweise höher als der Eröffnungspreis von einer bestimmten Entfernung gewesen ist, und dann den Eröffnungspreis verwenden, um eine Position zu eröffnen ist unmöglich.

Es gibt auch einen anderen Fall, in dem, wenn die Preislücke über den vom Strategie festgelegten festen Preis springt, im Backtesting-Umfeld das Handelssignal auftritt und ausgeführt werden kann; aber auf dem realen Markt kann es offensichtlich nicht ausgeführt werden.

  • Die Falle des unmöglichen Handelspreises

Unmöglicher Handelspreis kann in mehrere Fälle unterteilt werden:

Der erste Typ: Auf dem realen Markt haben einige Börsen eine tägliche Begrenzung der maximalen Preiserhöhungen und -rückgänge.

Zweitens: der Austausch-Order-Matching-Mechanismus, die Preispriorität und Zeitpriorität sind. Einige Varianten der Marktordertiefe haben oft eine große Anzahl von Aufträgen, die auf die Ausführung warten. Auf dem realen Markt müssen Sie auf Aufträge warten, die vor Ihrer Platzierung ausgeführt werden, manchmal wird Ihr Auftrag nie ausgeführt. Aber in der Backtesting-Umgebung wird der ausstehende Auftrag ohne Wartezeit zu jedem Preis ausgeführt.

Drittens: Bei Arbitrage-Strategien sind die Backtesting-Gewinne in der Regel sehr hoch, da jedes Mal, wenn die Backtesting-Operation angenommen wurde, dass alle diese Spread-Preise erfasst wurden. Unter realen Umständen sind die meisten Preise nicht auszuführen, oder manchmal wird nur eine Richtung oder ein Handelsziel der Handelsaktion ausgeführt, im Allgemeinen ist es fast sicher, dass die förderliche Richtung oder das Handelsziel zuerst ausgeführt wird, dann müssen Sie sofort versuchen, die entgegengesetzte Richtung oder die Vielfalt der Arbitrage-Strategien-Bestellungen auszuführen. Selbst mit einer so kurzen Verzögerung können die Spreads dieser Handelsmöglichkeit Sie mehr als 1 oder 2 Preispunkte gekostet haben, während die gesamte Spread-Arbitrage-Strategie nur sehr wenige Preispunkte Gewinn erzielt hat. Diese Art von Situation ist in der Simulationsumgebung sehr schwer zu backtest. Echte Gewinne sind weit entfernt von den Rücktestresultaten.

Viertens: Das Black Swan Ereignis. Wie der rote Kreis in der folgenden Abbildung zeigt, ist der Schweizer Franken im Devisen-Black Swan Ereignis, obwohl auf der Oberfläche gibt es Öffnungspreis, höchsten Preis, niedrigsten Preis und Schlusskurs. In der Tat, solche extreme Marktlage kommen mit einer k-Linie, dass ihr größter Teil Vakuum sind, viele Stop-Loss-Orders verursacht das Stampede-Ereignis, die Liquidität ist fast Null, für Aufträge auszuführen ist sehr schwierig, aber in der Backtesting-Umgebung ist es möglich, Stop-Loss zu machen.

img

  • Die Falle der Überanpassung

Jedes Mal, wenn ich das folgende Bild sah, wurden mein Herz und mein Verstand amüsiert. Dieses Bild zeigt uns eine wahrheitsgemäße Bedeutung, ein lächerliches Modell, einfach komplex genug, ist perfekt an alle Daten angepasst.

img

Für den quantitativen Handel basiert Backtesting auf historischen Daten, aber die Stichprobe von historischen Daten ist begrenzt.

Der Modellierungsprozess der quantitativen Strategie ist im Wesentlichen ein Prozess der Suche nach lokalen nicht-zufälligen Daten aus einer großen Anzahl von scheinbar zufälligen Daten.

Wenn Sie außerhalb der Stichprobe schlechte Leistungsdaten finden, fühlen Sie sich nicht bemitleidet oder nicht bereit zuzugeben, dass das Modell nicht funktioniert, und optimieren Sie es weiter, bis die Stichprobendaten außerhalb auch so gut wie im Inneren funktioniert haben.

  • Die Falle der Überlebenden-Vorurteile

Wall Street hat einen beliebten Witz: Angenommen, es gibt 1.000 Affen auf dem Markt, die an der Investition teilgenommen haben. Im ersten Jahr gingen 500 Affen auf den Markt. In der Hälfte des zweiten Jahres sind 250 Affen übrig. Am Ende des dritten Jahres sind 125 Affen übrig.

img

Im neunten Jahr war der letzte Affe übrig. Dann schaut man ihn an, je mehr man ihn anschaut, desto vertrauter fühlt man sich sein Gesicht an. Schließlich sieht man das Cover eines Finanzmagazins und schreit: "Hey, ist das Warren Buffett?

Obwohl dies nur ein Witz ist, können Sie es immer noch auf die reale Welt Situation abbilden. Zum Beispiel, wenn es 1000 Fondsmanager gibt, nach 10 Jahren werden etwa 10 Fondsmanager den Markt für 10 aufeinanderfolgende Jahre übertreffen. Dies kann durch das zufällige Glück und Entscheidungen verursacht werden, diese Fondsmanager Fähigkeit hat nichts damit zu tun.

Wie der unten stehende Backtest-Bericht wählen die meisten Anleger die Abbildung links, die eine sehr solide Performance ohne signifikante Retracement hat.

img

Die Kurve auf der linken Seite ist nur die beste unter diesen vielen Backtests. Das heißt, es gibt viele viel schlechtere Leistungen als die linke Situation.

  • Die Falle der Auswirkungskosten

In einer realen Handelsumgebung schwanken die Preise immer. Wenn Sie optimistisch über eine Handelsmöglichkeit sind, kann sich der Preis zum Zeitpunkt der Bestellung geändert haben. Daher ist das Problem des Rutschens, ob im subjektiven Handel oder im quantitativen Handel, unvermeidlich.

Aber Backtesting basiert auf statischen Daten, es ist schwierig, die reale Handelsumgebung zu simulieren. Zum Beispiel: der Auftragspreis ist 1050 zum Kaufen, aber der tatsächliche Handelspreis kann 1051 sein. Es gibt viele Situationen für dieses Phänomen, wie: Liquiditätsvakuum bei extremer Preisbewegung, Netzwerkverzögerung, Verzögerung von Hard- und Software-Systemen, Serverantwortverzögerung usw.

Rückversuch ohne Rutsch

img

Wie oben gezeigt, ist ein Backtest-Bericht ohne Rutsch, die Gewinnkurve sieht gut aus, aber es gibt Unterschiede zwischen dem Backtest und dem tatsächlichen Handel auf dem realen Markt. Daher, um diesen Fehler während des Backtest zu reduzieren, haben wir zwei Rutschpunkte hinzugefügt, um den Kauf- und Verkaufspreis zu erhöhen oder zu senken.

Rückversuch mit Schlupf

img

Wie oben gezeigt, sind bei der gleichen Strategie, wenn sie mit 2 Punkten Rutsch hinzugefügt wird, die Rücktestresultate mit und ohne Rutsch sehr unterschiedlich, was bedeutet, dass diese Strategie verbessert oder aufgegeben werden muss.

Zusammenfassend

Einige Leute mögen fragen, da es so viele Probleme im quantitativen Handel geben kann, wie kann ich beweisen, dass meine Strategie in Ordnung ist? Die Antwort ist einfach, wir müssen zuerst Simulationshandel durch diese Strategie einige Zeit vor der Verwendung des echten Geldes, wenn der Handelspreis und Handelssimulation Situation sind fast die gleiche mit der Strategie Logik, dann beweist es zumindest die Strategie Logik hat kein Problem.

In jedem Fall ist Backtesting für einen erfahrenen Handelssystementwickler ein Muss. Weil es Ihnen sagen kann, ob eine Strategieidee in den historischen Daten validiert werden kann. Aber oft bedeutet Backtesting nicht, dass die Zukunft profitabel sein wird. Weil es zu viele Gruben im Backtesting gibt, werden Sie es verstehen, nachdem Sie den Preis bezahlt haben. Und diese Lektionen sind alle in echtem Geld angesammelt. Dieser Artikel ist hauptsächlich dazu gedacht, die Umgehungen und Fallen zu reduzieren.

Nachschulübungen

  1. Was ist Überanpassung, und wie kann man sie vermeiden?

  2. Was sind Beispiele für Überlebendenvorurteile im wirklichen Leben?


Verwandt

Mehr