Tuesday 25 April 2017

Testing A Trading System

Trading Systems Coding: Testing, Troubleshooting und Optimierung Nun, da Sie ein Handelssystem entworfen und codiert haben, ist es Zeit, um es zu testen, um sicherzustellen, dass Ihre Codierung frei von logischen und technischen Fehlern ist. Wir werden auch auf etwas bekannt als Optimierung - ein Merkmal in einigen Handelsprogramme, die Ihnen die Feinabstimmung Ihrer Handelsregeln, um die Bestände, die Sie auf den Handel planen können. Testen Ihres Handelssystems Die überwiegende Mehrheit der Handelsanwendungen, die Programmiersprachen unterstützen, unterstützen auch Testtools. Diese Werkzeuge sind in zwei Kategorien unterteilt: 1. Technische Technische Test-Tools suchen nach technischen Fehlern in Ihrem Code. Wenn Sie beispielsweise vergessen, ein Semikolon nach einer Anweisung hinzuzufügen, benachrichtigt Sie das technische Test-Tool, dass Ihre Anweisung ungültig ist. Der Standort des technischen Prüfprogramms hängt von der verwendeten Handelsanwendung ab. MetaTrader zeigt einen Fehler oder fehlerhafte Ergebnisse, wenn Sie versuchen, Ihren Code zu kompilieren, während Trading-Anwendungen wie Tradecision haben ein Code-Check-Dienstprogramm in der Schnittstelle, die Sie überprüfen Sie Ihren Code für Fehler, bevor Sie es. 2. Logische logische Testwerkzeuge suchen nach logischen Fehlern in Ihrem Code. Zum Beispiel, wenn Sie zufällig ein größeres als ein Zeichen statt eines weniger als Zeichen (das ist kein technischer Fehler) zu verwenden, wird ein logisches Test-Tool zeigen Ihnen, dass Ihre Ergebnisse nicht sinnvoll. Das beliebteste logische Testwerkzeug ist das Backtesting-Tool. Mit diesem Tool können Sie vergangene Daten übernehmen und Ihr Handelssystem auf diese Daten anwenden. Dies gibt Ihnen eine Vorstellung davon, ob Ihr Handelssystem rentabel ist 13 Welche Bedingungen erweisen sich als am rentabelsten 13 Wenn Fehler in Ihren Regeln auftreten können (Weitere Informationen finden Sie unter Backtesting: Interpretation der Vergangenheit.) Fehlerbehebung bei Ihrem Trading System Wie bei jeder anderen Art der Programmierung kann die Fehlersuche eine mühsame und schwierige Aufgabe sein. Das Finden von Fehlern in Ihrem Code erfordert eine systematische Sortierung durch Ihren Code, um syntaktische Fehler zu identifizieren, die, obwohl oft geringfügig, Ihr Programm zum Stillstand bringen können. Hier sind einige häufige Fehler zu suchen: Fehlende Semikolons nach Aussagen - Diese müssen nach jeder Anweisung sein. 13 Undefinierte Variablen - Denken Sie daran, dass Sie sie vor der Verwendung deklarieren müssen. 13 Rechtschreibfehler - Werden keine Namen oder Funktionen falsch geschrieben, gibt die Handelsanwendung einen Fehler zurück (siehe Beispiel unten). 13 Falsche Verwendung von () - Denken Sie daran, dass ein Wert einem anderen Wert zugewiesen wird, während die Mittel gleich sind. 13 Falsche Verwendung von integrierten Funktionen - Überprüfen Sie Ihre Handelsanwendungsdokumentation oder API (Application Programming Interface), um sicherzustellen, dass Sie die korrekte Syntax verwenden. Einige Handelsanwendungen enthalten eine Funktion, mit der Sie Ihren Code testen können, bevor Sie ihn verwenden oder kompilieren. Mit dieser Funktion können Sie sehen, was der Fehler ist und auf welcher Zeile es gefunden werden kann. Nehmen Sie Tradecision zum Beispiel: Hier sehen wir, dass Tradecision die Position (Zeile und Spalte) des Fehlers, eine Beschreibung des Fehlers und die Art des Fehlers (in diesem Fall syntaktisch) gibt. Wenn wir den Ausdruck betrachten, können wir sehen, dass in Spalte 8 xrossBelow keine gültige Funktion ist. Wenn wir die x (die in Spalte 8 ist) durch ein c ersetzt, dann haben wir gültigen Code. Wenn wir MetaTrader betrachten, können wir sehen, dass die Fehler kommen, wenn wir versuchen, das Programm zu kompilieren: Hier sehen wir, dass in der Beschreibung heißt es, die BuyNow-Variable wurde nicht definiert. Ein Doppelklick auf diese Fehlermeldung bringt uns zum spezifischen Ort des Fehlers im Code. Wie Sie sehen können, geben die meisten Handelsanwendungen Ihnen eine einfache Möglichkeit, technische Fehler zu lokalisieren und sie zu reparieren. Das Fixieren der Fehler beinhaltet einfach systematisch gehen durch jede Fehlermeldung und dann erneut kompilieren den Code andor Anwendung des Handelssystems, um Ihre Charts. Optimierung Ihres Handelssystems In einigen Handelsanwendungen können Sie die zu optimierenden Variablen auswählen. Mit Tradecision können Sie z. B. eine Variable leicht auswählen und sie durch Code ersetzen, der eine Optimierung versucht. Optimierung selbst ist einfach ein Prozess, der den optimalen Wert für ein bestimmtes Handelssystem-Element auf der Grundlage der bisherigen Ergebnisse und Leistung findet. Beachten Sie, dass die Überoptimierung zu Handelssystemen führt, die sich nicht an die Marktbedingungen anpassen können. Daher ist es wichtig, nur einige wichtige Variablen zu optimieren, nicht jede Variable. Hier sehen Sie, wie die Optimierungsfunktion in Tradecision aussieht: Sie sehen, dass wir deklariert haben Zwei neue Variablen und setzen sie gleich. Das bedeutet einfach, dass das Handelsprogramm dies durch die optimale Anzahl ersetzen wird. Als nächstes können Sie sehen, dass wir die neuen Variablen innerhalb unserer Handelsstrategie verwendet haben. Schließlich setzen wir einen Bereich für die Zahlen (so dass das Programm nicht nach unendlich suchen). Einige andere Handelsprogramme haben Funktionen, die in einer ähnlichen Weise funktionieren, so dass Sie den numerischen Wert mit einem ersetzen und sagen, die Handels-Anwendung, um es zu optimieren. Fazit Inzwischen sollten Sie ein funktionierendes Handelssystem entwickelt haben, in dem Sie Vertrauen haben können. Im nächsten Teil dieser Serie erfahren Sie, wie Sie Ihr Trading-System auf Diagramme anwenden und wie Sie es nutzen, um Handelsentscheidungen zu treffen. Diese Seiten zeigen die richtige Methodik, um ein Handelssystem für den bestmöglichen Gebrauch zu erstellen. Der erste Punkt, der den meisten durchschnittlichen Händlern in den Sinn kommt, ist, wie viel Arbeit daran beteiligt ist, diese wichtige Aufgabe richtig zu tun. So können Sie sich fragen, ein paar Fragen, bevor Sie beginnen. Sind Sie engagiert Wollen Sie ein hohes Einkommen und eine gute Zukunft haben, ohne Geld Sorgen Können Sie sich an ein System ohne Zweitraten die Signale Sind Sie bereit, in 2-6 Monaten intensiver Forschung setzen, um das gewünschte no2 Ergebnis zu bekommen Haben Sie Hat die Geduld zu handeln, obwohl Drawdowns, die 20-30 oder mehr sein könnte Haben Sie die Geduld, lange Unterwasserperioden von bis zu einem Jahr zu ertragen Wenn die Antwort auf alle oben ist ja, dann können Sie auf lesen. Schritt 1: Richten Sie Ihre Liste der Märkte ein und frieren Sie den Datensatz über einen statischen Zeitraum ein. Um sicher sein, solide Ergebnisse müssen Sie Ihr System über eine Vielzahl von Märkten zu testen. Achten Sie darauf, viele Daten (mindestens 5 Jahre) zu haben. Stellen Sie sicher, dass Sie die Daten Ihrer Tests so reparieren, dass die Ergebnisse fair sind, denn wenn Sie Ihren Datensatz kontinuierlich aktualisieren, zeigen neuere Tests unterschiedliche Ergebnisse als weitere Datenströme Schritt 2: Beginnen Sie mit einem breiten Spektrum von groben Tests Um sicherzustellen, dass Sie alle Einstellungen korrekt genagelt haben, beginnen Sie mit den Einstellungen, die zu langsam sind, und führen Sie den ganzen Weg bis zu Einstellungen, die viel zu schnell sind. Die langsamste Einstellung auf der linken Seite produziert nur 2945 Trades auf 123 Aktien in einem zehnjährigen Lauf, und die schnellste Einstellung produziert mehr als 44.000 Trades auf der gleichen Liste. Wenn Ihr System robust ist, werden Sie wahrscheinlich ein schönes Verteilungsmuster beobachten, wie im Diagramm links gezeigt. Deutlich sehen wir, dass der Precision Stop 2011 in allen gezeigten Einstellungen rentabel ist und die meisten Erfolge im Bereich der multiplen Einstellungen zwischen 0,7 und 0,4 erreicht werden. Sobald Sie die Grobtests durchgeführt haben, können Sie sich das System dann genauer ansehen Ort, die Aufmerksamkeit auf die Draw Downs, Getriebe Ebenen und Unterwasser-Werte. Es ist anzumerken, dass es sehr wichtig ist, die Getriebeebenen in jedem Lauf zu standardisieren, es wird beobachtet, dass Hochfrequenzsysteme ein höheres Getriebe als niedrige F-Modelle erzeugen, da das System stärker auf neue Aktienänderungen reagiert. Achten Sie darauf, Ihre Getriebe Ergebnisse zu protokollieren und erneut zu testen, bis Sie die gleiche durchschnittliche Ebene für jeden Test haben. Wenn Sie dies nicht tun, Ihre Prüfzeit wird verschwendet worden, da keine realistischen Vergleiche erreicht werden können. Schritt 3: Untersuchen Sie das System Sweet Spot, indem Sie über den gleichen Datensatz mit einem feineren inkrementelle Schritte. Sobald Sie die feinere Prüfung getan haben, werden Sie dann beobachten, welche Einstellungen am besten sind. Das Diagramm auf der linken Seite zeigt wieder eine schöne Glockenkurvenform, die ein sehr robustes System anzeigt. Deutlich sichtbar ist 0,5 Multiple hat sich am besten über den Datensatz herausgestellt und ist ein klarer Gewinner. An diesem Punkt können Sie Ihre Draw Downs und Unterwasser-Werte, um festzustellen, ob das Modell ist etwas, das Sie im tatsächlichen Handel halten können. Als ob Sie nicht in der Lage, sich an das Modell, dann müssen Sie Anpassungen, bis das System passt Ihre Persönlichkeit. Beachten Sie, dass es sehr wichtig ist, kurze Notizen für jeden Test mit den Beobachtungen zu machen, die Sie gemacht haben. Schritt 4: Studieren Sie die Ergebnisse Aufmerksamkeit auf Details. Die folgende Tabelle zeigt die Ergebnisse der detaillierteren kleineren Inkrement-Tests, die besten Felder in blau, am schlimmsten in rot. Der Präzisionsstop 2011 hat am besten bei 0,5 Mehrfacheinsätzen in diesem Test gearbeitet, was eine sehr robuste Verteilung der Ergebnisse zeigt, die in jeder eingesetzten Einstellung profitabel sind. Sie können deutlich sehen, wie die unter Wasser (UW) geht durch das Dach, wenn das System beschleunigt wird, da Provisionen verbrennen Gewinne in ruhiger Marktperioden Getriebe wird bei 4,5 gehalten mit einer Toleranz von 0,3 auf die Ergebnisse, 0,4 Test zeigt 4.779 Getriebe , Aber es ist nicht wert, erneut zu testen, da die Unterwasserwerte sehr hoch sind. Schritt 5: Studieren Sie das System auf einem anderen Satz von Daten. Sie können meine Tests über einen anderen Datensatz auf der Simulationsvideoseite beobachten. Unter Verwendung der 0,5 mehrfachen Einstellung und des durchschnittlichen Getriebes von 4,459 Zeit-Eigenkapital waren die Ergebnisse ein Gewinn von 176,755,656 mit einem maximalen Drawdown von 24,29 mit 260 Tagen maximalem Unterwasser. Die die Ergebnisse in der obigen Tabelle vollständig wegblasen. Wenn Sie sich fragen, warum so ein riesiger Unterschied in den Gewinnen, der Punkt, den dies zeigt, ist die Bedeutung der Auswahl der günstigen Märkte für den Handel. Jeder Test, der auf verschiedenen Datensätzen durchgeführt wird, erzeugt wilde Fluktuationen in den Ergebnissen, und wenn ich auf Cherry-Picked-Märkten getestet habe, die gut mit meinen Systemen funktionieren, übersteigen die daraus resultierenden Gewinne Billionen. Schritt 6: Überprüfen Sie Ihre Ergebnisse sind genau Der ganze Punkt zu tun Systemtests Simulationen ist es, ein Gefühl dafür, wie Ihr System wird in der Gegenwart durchführen, indem sie über die Vergangenheit zu bekommen. Je länger der Datenlauf, den Sie testen, desto mehr ist die Chance, Marktbedingungen zu finden, die den heutigen Bedingungen ähnlich sind, das Festlegen von Handelskosten genau und das Vornehmen von Schlupf wesentlich ist, bevor Sie irgendeinen Glauben in Ihr gewähltes System setzen können . Wenn Ihre Prüfung verdächtig ist, werden Sie es wissen, in den Rücken Ihres Geistes und dies wird wahrscheinlich führen Sie zu einem Sprung auf einem aus dem System, zweitens raten, wenn es handeln und nicht in der Lage, um es für eine lange Zeit bleiben. Schritt 7: Vergleichen Sie andere Systeme über die gleichen Datensätze Auch wenn das System Ihren Test produziert gute Ergebnisse, ist es wichtig, immer auf der Suche nach etwas Besserem, da gibt es viele helle Seelen draußen in der Welt entwerfen Systeme, die sehr gut sein würde Gute Idee zu halten zu überprüfen, dass Ihr gewähltes System ist wirklich die beste, die Sie finden können. Einige der verwendeten Begriffe sind Ihnen vielleicht nicht vertraut, also unten auf der Seite ist eine detaillierte Erklärung der verwendeten Begriffe. Nachdem Sie das Video sehen, sehen Sie mich klicken Sie auf Generate Excel-Bericht, diesen aktuellen Bericht steht zum Download für Ihre eigene Durchsicht. Wenn Sie Schwierigkeiten haben, alle Zahlen anzuzeigen, wenn Sie das Video ansehen, versuchen Sie, die Auflösung auf 720 HD anzupassen, die auf der Videosymbolleiste gefunden wird, dann wird das Video HD sein. In Kürze werde ich einige Vergleichs-Videos mit dem Donchian 210-Tage-Trend-System gegenüber dem Precision Stop 2011-Modell hinzufügen. Richard Donchian ist vermutlich die erste Person, die einen Trend nach dem System entwirft, und das sehr einfache Modell, das er benutzte, ging lange (gekauft), als ein 210-Tage-Hoch getroffen wurde, und ging kurz (verkauft), wenn ein 210-Tage-Tief getroffen wurde. Der entgegengesetzte entsprechende 210-Tage-Wert wird als Stopp-Eintrag für den nächsten Handel verwendet. Während die Donchian-System ist sehr einfach, tut es in der Tat dazu neigen, vernünftige Gewinne auf lange Sicht zu Lasten der großen Drawdowns zu machen. Bevor die Händler das Donchian-Modell als grob und zu einfach herausweisen, ist es ebenso wichtig, daran zu erinnern, dass seine Arbeit der Eckstein aller heutigen Trendfolgesysteme ist. Die Donchian-System wurde von Ed Seykota auf einem alten Fortran Computer vor vielen Jahren mit Lochkarten getestet, zu seinem Erstaunen Mr Seykota fand es rentabel, so ging er auf die Gestaltung seiner eigenen exponentiellen gleitenden Durchschnitt Trend nach Modell, und inspiriert viele andere Händler Um ihre eigenen zu entwickeln. Die Precision Stop 2011 ist nur ein Trend nach Modell auf meine langjährige Erfahrung im Handel, Prüfung und technische Analyse basiert. Einige meiner Inspiration für die Gestaltung dieses Modells ist ein Ergebnis des Studiums der Arbeit der beiden vorgenannten Gentlemen, sucht Verbesserungen, wo ich sie finden konnte. Es ist anders als das Seykota-Modell und das Donchian-Modell, das einzige gemeinsame Faktor ist, dass es Trends in präziser Weise folgt. Roger Medcalf 2010. Zusätzliche Klärungsinformationen Da der Test die Schlusskurse für offene hohe Tiefststände verwendet, ist es nicht möglich, die Geld - und Briefkurse zu extrahieren. Um diese genau zu umgehen gibt es zwei separate Features hinzugefügt, um eine realistische Simulation zu geben. Verbreitung Prozent. Wenn das System eine Aktie kauft, die einen Schlusskurs von 100p hat und der Spreizungsprozentsatz auf 1,5 gesetzt ist, bedeutet dies, dass es die Daten nach 101,5 und Buchhandel-Basis davon sehen wird. Das gleiche passiert, wenn Geschäfte geschlossen sind. Also, wenn der Handel geöffnet und geschlossen wurde auf dem gleichen 100p Ebene würde es zu einem Preis von 98,5p zu einem Gesamtpreis von 3 pro Handel zu verkaufen. Einige Bestände im Test haben dichte Ausbreitung von weniger als 0,25 und andere sind breiter bis zu 5, so dass dieses Merkmal es gut ausgibt. Schlupffaktor. Diese zusätzliche Funktion macht das System noch strenger, da es dann mehr Kosten in die Gleichung bringt. E. G, wenn der geplante Einstiegspreis die obigen 101,5 und die Tage hoch 105 ist, wird die Simulation diesen Handel bei (101,5 105) 2 buchen, was einen Einstieg bei 103,2 Software macht. Bitte beachten Sie die Software, die diese Simulation generiert ist nicht für den Verkauf an die Öffentlichkeit, wie es meine eigene proprietäre Software-Design. Der Verkaufsgegenstand ist die Precision Stop 2011, die eine Ergänzung für Tradestation (alle Versionen) und Multicharts (alle Versionen), die für die Freigabe im Januar 2011 ist.


No comments:

Post a Comment