Thursday 2 February 2017

Umzugs Durchschnitt Trading System Backtesting

Moving Average Crossover-Strategie. Auf dieser Seite möchte ich Sie durch einen Vergleich von ein paar gleitenden durchschnittlichen Crossover-Systeme nehmen Eins verwendet zwei einfache gleitende Durchschnitte sma s und die anderen verwendet drei sma s. Ever gedacht über die Verwendung eines Dual-Gleit-Durchschnitt-System Zu handeln. Wenn Sie erwägen, doppelte gleitende durchschnittliche Übergänge zu betreten und zu verlassen Trades, könnten Sie prüfen, ein Triple MA-System zu vergleichen, um sie nebeneinander auf verschiedene Aktien oder andere Handelsinstrumente sowie verschiedene Zeiträume oder Zeitrahmen Test zu vergleichen Verschiedene gleitende durchschnittliche Perioden, aber seien Sie vorsichtig, sich nicht auf optimierte oder kurvenreiche Ergebnisse zu verlassen. Aber da einige meiner Besucher nicht wissen, was das ist, lassen Sie sich über einige Grundlagen zuerst. WHAT SA MOVING AVERAGE CROSSOVER. Das Bild auf der rechten Seite Ist ein Beispiel für eine doppelte gleitende durchschnittliche Crossover, die ein Kaufsignal bullish Crossover einleiten würde. Ein schneller gleitender Durchschnitt 8 sma - blaue Kreuze über einem langsameren Durchschnitt 13 sma - yellow. Notice, dass das Signal nicht co ist Nfirmed bis zum Ende der Bar Dies bedeutet, dass die tatsächliche Eintragung in Live-Handel wäre irgendwo in der nächsten Bar Most wahrscheinlich in der Nähe der offenen dieser Bar. Wenn Sie Port getan keine Backtesting noch, diese Art von einfachen System wird wahrscheinlich einer von Die erste, die Sie testen, da es sehr wenig Programmierkenntnisse erfordert. Jedenfalls, wenn Sie diesen Weg hinuntergehen, werden Sie feststellen, dass der Eröffnungskurs der nächsten Bar nach dem Kreuz ist, wo Backtesting Software je nach Einstellung wird die simuliert Trades Welches ist vernünftig, denn wenn man eigentlich mit automatisierten Trading-Software handelte, ist dies eine enge Annäherung, wo dein Handel stattfinden würde. Mit einem typischen Stop-Reverse-System würde dieser lange Eintrag nicht verlassen werden, bis der blaue, schnellere MA nach unten gekreuzt wurde Die gelbe, langsamer MA Diese MA Bärenkreuzung verlässt nicht nur den Handel, sondern initiiert auch einen kurzen Handel in die entgegengesetzte Richtung. So ist mit doppelten gleitenden durchschnittlichen Crossover-Systemen der Trader immer im Handel, Lang oder kurz. Lets werfen Sie einen Blick auf ein Intraday-Beispiel im Laufe eines Tages. DUAL MOVING AVERAGE CROSSOVER. Wir verwenden ein 5-Minuten-Diagramm von SPY mit zwei einfachen gleitenden Durchschnitten für das erste Beispiel Fast 8 sma-grün und langsam 13 Sma - yellow. Ich wählte diesen besonderen Tag, denn ich wollte illustrieren, was für praktisch jede gleitende durchschnittliche Crossover-Strategie sehr typisch ist. Der erste lange Handel nach 11.00 Uhr geht sehr gut und fängt eigentlich einen guten Pullback-Eintritt. Der Ausflug um 12.00 Uhr Ist gewinnbringend. Aber ich möchte, dass ich dich gerne beobachtete, ist die abschreckende Preisaktion zwischen 12 00 - 3 00 Hier können doppelte MA-Systeme eure Gewinne wirklich schleifen Die MAs, die gerade hin und her peitschen, verursachen drei Verluste in einer Reihe, Vermutlich verdunstet die Gewinne aus dem ersten Handel Wenn eine Person diese Methode an diesem Tag gehandelt hat, glücklicherweise hatten sie einen weiteren anständigen Gewinner Handel bei 2 30 gesehen. Der gute Teil dieses Systems wird auf dem ersten Handel und dem letzten Handel angezeigt Bewegte avera Ge Crossover scheitern miserabel während choppy Preis Aktion, sie arbeiten sehr gut während Trending Preis Aktion. Wenn Sie Backtest diese einfachen Stop-und Reverse-Systeme, und inspizieren eine, die kommt mit einem Gewinn, werden Sie wahrscheinlich finden, dass der Gewinn weniger als 50 ist , Aber der durchschnittliche Gewinner wird größer sein als der durchschnittliche Verlierer. Das ist, weil gleitende durchschnittliche Crossover-Systeme im Wesentlichen Trendhandelssysteme sind. Und Trendhandelssysteme haben fast immer diese Eigenschaft für einen kleinen Prozentsatz der Gewinner und eine gute zu ratio. In den Charts Unter L Long, S Short und Ex Exit. TRIPLE MOVING DURCHSCHNITTLICHER CROSSOVER. So weit die Diskussion konzentriert sich um ein Stop-Reverse-Typ-System, wobei ein Signal für einen Ausgang, produziert auch einen Handel in die entgegengesetzte Richtung Aber wenn wir ein drittes Bewegen einführen Durchschnittlich zum System, kann es eine Periode der Neutralität geben Mit anderen Worten, kein Handel findet statt - Sie re in bar. Für dieses Beispiel werden wir ein 3-Minuten-Chart und drei einfache gleitende Durchschnitte verwenden 4 sma, 1 0 sma und 50 sma. Die Regeln sind sehr einfach Wenn die langsame Linie 50 sma steigt, und die schnelle Linie 4 sma Kreuze über der Mittellinie 10 sma, gibt es ein Kaufsignal Das Ausgangssignal kommt, wenn die schnelle Linie unterhalb der Mittlere Linie. Die Regeln sind das Gegenteil für kurze Einträge Es ist leicht zu sehen, dass dieses System ähnlich ist, um Trades aus dem Trend eines höheren Zeitrahmens zu nehmen. Eine Alternative zu diesem System wäre es, nur lange Einträge zu nehmen, wenn beide Die schnellen und mittleren bewegten Durchschnitte sind über dem langsamen sma. Be bewusst, dass, wenn Ihr Umgang mit drei Freiheitsgraden 3 Variablen, anstatt zwei wie im obigen Beispiel, machen Sie das System komplexer und damit die Schaffung vieler möglicher Kombinationen zu Test. Natürlich, Backtesting-Software macht dies ein Schnappschuss, aber denken Sie daran, dass das Hinzufügen von Filtern und Komplexität doesn t immer ein besseres System Häufig kann ein einfacheres System robuster sein unter Test. Ein Beispiel ist unten. Wenn Sie interessiert in bewegten Durchschnitten sind Du kommst Ich möchte auch meine Seite auf, wie man gleitende Durchschnitte als nachlaufenden Stop verwenden. Backtesting ein Moving Average Crossover in Python mit Pandas. In der vorherigen Artikel auf Research Backtesting Umgebungen In Python Mit Pandas haben wir eine objektorientierte Forschung-basierte Backtesting-Umgebung und getestet es auf einer zufälligen Prognose-Strategie In diesem Artikel werden wir nutzen die Maschinen, die wir eingeführt, um die Durchführung einer aktuellen Strategie, nämlich die Moving Average Crossover auf AAPL. Moving Average Crossover-Strategie. Die Moving Average Crossover-Technik ist Eine äußerst bekannte, vereinfachte Impulsstrategie Es wird oft als das Hello World-Beispiel für den quantitativen Handel betrachtet. Die hier beschriebene Strategie ist lang-nur Zwei getrennte, einfach gleitende Durchschnittsfilter werden mit unterschiedlichen Lookback-Perioden einer bestimmten Zeitreihe Signals erstellt Kauf der Asset auftreten, wenn die kürzere Lookback gleitenden Durchschnitt überschreitet die längeren Lookback gleitenden Durchschnitt Wenn die längere durchschnittliche subs Übersteigt den kürzeren Durchschnitt, der Vermögenswert wird zurück verkauft Die Strategie funktioniert gut, wenn eine Zeitreihe in einen Zeitraum von starkem Trend eintritt und dann langsam den Trend rückgängig macht. Für dieses Beispiel habe ich Apple, Inc AAPL als Zeitreihe gewählt, mit einem Kurzer Rückblick von 100 Tagen und ein langer Rückblick von 400 Tagen Dies ist das Beispiel, das von der zipline algorithmischen Handelsbibliothek zur Verfügung gestellt wird. Wenn wir also unseren eigenen Backtester implementieren wollen, müssen wir sicherstellen, dass es die Ergebnisse in zipline als grundlegendes Validierungsmittel erfüllt. Stellen Sie sicher, dass Sie dem vorherigen Tutorial folgen, das beschreibt, wie die anfängliche Objekthierarchie für den Backtester konstruiert wird, andernfalls wird der unten stehende Code nicht funktionieren Für diese spezielle Implementierung habe ich die folgenden Bibliotheken verwendet. Die Implementierung von erfordert vom vorherigen Tutorial Das erste Schritt ist es, die notwendigen Module und Objekte zu importieren. In der vorherigen Tutorial werden wir die Unterrichtsklasse der Strategie-Basisklasse unterteilen, um MovingAverageCrossStrategy zu produzieren Die alle Details enthält, wie man die Signale erzeugt, wenn die gleitenden Mittelwerte von AAPL einander kreuzen. Das Objekt benötigt ein kurzes Fenster und ein langes Fenster, auf dem es zu bedienen ist Die Werte wurden auf Vorgaben von 100 Tagen bzw. 400 Tagen gesetzt, Die die gleichen Parameter sind, die im Hauptbeispiel der Zipline verwendet werden. Die bewegten Durchschnitte werden durch die Verwendung der Pandas Rollingmean-Funktion auf den Balken erstellt. Schließen Sie den Schlusskurs der AAPL-Lager Sobald die einzelnen gleitenden Mittelwerte konstruiert wurden, wird die Signalreihe durch Einstellung erzeugt Die Colum gleich 1 0, wenn der kurze gleitende Durchschnitt größer ist als der lange gleitende Durchschnitt oder 0 0 ansonsten. Von diesem können die Positionen Aufträge erzeugt werden, um Trading-Signale darzustellen. Das MarketOnClosePortfolio ist subkassiert von Portfolio, das gefunden wird. Es ist fast identisch Auf die im vorherigen Tutorial beschriebene Implementierung, mit der Ausnahme, dass die Trades nun auf einer Close-to-Close-Basis statt einer Open-to-Funktion durchgeführt werden - Open-Basis Für Details darüber, wie das Portfolio-Objekt definiert ist, lesen Sie das vorherige Tutorial, dass ich den Code für die Vollständigkeit verlassen habe und dieses Tutorial selbstbewahrt beibehalten habe. Nun, dass die MovingAverageCrossStrategy - und MarketOnClosePortfolio-Klassen definiert wurden, wird eine Hauptfunktion sein Gerufen, um alle Funktionalität zusammen zu binden Zusätzlich wird die Performance der Strategie über eine Kurve der Eigenkapitalkurve untersucht. Das Pandas DataReader-Objekt lädt OHLCV-Preise der AAPL-Aktie für den Zeitraum vom 1. Januar 1990 bis zum 1. Januar 2002 zu diesem Zeitpunkt herunter Die Signale DataFrame wird erstellt, um die Langzeit-Signale zu erzeugen. Anschließend wird das Portfolio mit einer Anfangskapitalbasis von 100.000 USD generiert und die Renditen werden auf der Eigenkapitalkurve berechnet. Der letzte Schritt besteht darin, matplotlib zu verwenden, um ein zweidimensionales Diagramm von beiden zu zeichnen AAPL-Preise, überlagert mit den gleitenden Durchschnitten und kaufen Verkaufssignale, sowie die Eigenkapitalkurve mit den gleichen Kauf-Verkaufssignalen Der Plottencode wird genommen und von der z modifiziert Ipline Implementierungsbeispiel. Die grafische Ausgabe des Codes ist wie folgt, die ich von dem IPython-Paste-Befehl verwendet habe, um diesen direkt in die IPython-Konsole zu setzen, während in Ubuntu, so dass die grafische Ausgabe im Blick blieb. Die rosa upticks stellen den Kauf des Bestandes dar, während Die schwarzen Abschlüsse vertreten verkaufen es zurück. AAPL Moving Average Crossover Performance von 1990-01-01 bis 2002-01-01.As kann gesehen werden, die Strategie verliert Geld über den Zeitraum, mit fünf Round-Trip-Trades Dies ist nicht überraschend angesichts der Verhalten von AAPL über den Zeitraum, der auf einem leichten Abwärtstrend war, gefolgt von einem signifikanten Aufschwung Anfang 1998 Die Rückblickperiode der gleitenden Durchschnittssignale ist ziemlich groß und dies hat den Gewinn des Endhandels beeinflusst, der sonst das gemacht haben könnte Strategie profitabel. In den folgenden Artikeln werden wir ein anspruchsvolleres Mittel zur Leistungsanalyse erstellen und beschreiben, wie man die Lookback-Perioden des einzelnen gleitenden Durchschnittssignals optimiert S. Just Getting Started mit quantitativen Trading. BackTesting Moving Averages. Why Moving Averages. As ein Händler oder Investor, der einzige Grund, um gleitende Durchschnitte zu untersuchen ist, um Wissen zu gewinnen, um Gewinne zu gewinnen Wie viele andere technische Indikatoren, gleitende Durchschnitte sind dazu bestimmt, uns zu helfen Objektiv den Marktstatus zu irgendeiner gegebenen Zeit erzählen Dies hilft uns, durch die Emotionen des Tages zu sehen und rationale Entscheidungen zu treffen, die wir erzählt werden, werden zu größeren Gewinnen und / oder weniger Verlusten auf lange Sicht führen. Durchgehende Mittelwerte MAs glatt die Preisreihe für Eine Aktie MAs werden am häufigsten verwendet, um den Trend der Marktrichtung zu identifizieren und sind als Trend-Indikator Indikator Dies bedeutet nicht, dass MAs sind nur für langfristige Investoren kurzfristige Händler verwenden sie auch Moving Mittelwerte können verwendet werden, um zu screenen Aktien für gute Kandidaten, Signalkäufe Chancen und bieten Verkaufssignale. Während Backtest A Story. The Ziel der Backtesting ist, um herauszufinden, ob gleitende Durchschnitte wirklich zu besseren Ergebnissen führen und D was sind die vielversprechendsten Möglichkeiten, um MAs anzupassen Lassen Sie mich Ihnen sagen, eine kurze Geschichte Während ich war zusammen die Ergebnisse für eine der gleitenden durchschnittlichen BackTesting Bericht Probleme, ich zufällig einen Freund zu besuchen In ihrem Haus, stieß ich auf einige Lesestoff Von einem gut beworbenen Discount-Börsenmakler In es war ein Artikel, der seinen Kunden berät, eine bestimmte gleitende durchschnittliche Länge zu verwenden, die in einer bestimmten Weise angewendet wird, um die besten Ergebnisse zu erhalten, die ich meine umfangreichen Tests direkt vor mir hatte und ich kann Ihnen das sagen Broker-Methode nicht die besten Ergebnisse, obwohl sie erwähnen eine MA-Länge, die auf andere Weise nützlich war, hatte ich in meiner Hand Testergebnisse, die zeigte, dass die Art und Weise, dass Broker angewendet den gleitenden Durchschnitt hatte eine Gewinnrate schlimmer als die Grundlinie, wenn getestet Auf 7147 Aktien über 14 Jahre Börsen-Daten Klar der Broker war nicht laufen, dass Art von Tests Es s bis zu den Kunden, uns zu verteidigen für uns selbst und finden Sie heraus, was funktioniert im Vergleich zu was doesn t. How zu berechnen MAs. When zurück Testen bewegte Durchschnitte, die erste Entscheidung ist, wie man den gleitenden Durchschnitt berechnen Sie wollen eine einfache gleitende durchschnittliche SMA Oder etwas entworfen, um Preis besser zu verfolgen, wie eine exponentielle gleitenden Durchschnitt EMA Sie könnten ein Experiment betrachten, um die Gewinnraten der beiden verschiedenen zu vergleichen Im Durchschnitt habe ich gerade das vor ein paar Jahren gemacht, und während ich die Ergebnisse nicht veröffentlichen will, kam ich mit der Vorstellung davon, dass es keinen großen Unterschied gemacht hat, ob ich mich für SMA oder EMA entschieden habe Dieses Projekt, ich wähle, um einfache gleitende Durchschnitte zu verwenden, weil ich sie im Kommentar am häufigsten erwähnt habe, um tatsächlich die Berechnung zu tun, verließ ich mich auf die eingebaute Funktion, die mit TradeStation kam. Die Wahl des Backtesting-Motors ist eine andere Entscheidung, die allgemein genug ist Schreibe in einem anderen post. How zu MAs verwenden. Next müssen Sie festlegen, wie genau Sie wollen gleitende Durchschnitte gelten Wie werden Sie interpretieren die Beziehung zwischen Preis und gleitenden Durchschnitt Welche Regeln wi Wenn Sie entscheiden, wann Sie kaufen und verkaufen müssen, müssen Sie nicht lange über Aktien lesen, bevor sie über einen bullish Verweis auf einen Aktienhandel über seinem 200-Tage gleitenden Durchschnitt oder seine 50-Tage gleitenden Durchschnitt oder sogar die 10- oder 20-tägige MA Oder Beratung über den Kauf von Aktien, wie sie ihre 50-Tage-oder 200-Tage gleitenden Durchschnitt überqueren Dies sind wichtige Regeln, um in der Backtesting-Engine zu testen Und dann ist es die gleitende durchschnittliche Crossover eine klassische Methode der technischen Analyse Das macht drei deutlich Wege der Verwendung von bewegten Durchschnitten zu test. Going mehr vertieft, einige Trading-Texte reden über die Steigung von einem gleitenden Durchschnitt Wenn Sie zurück zu Algebra und betrachten die MA als Linie, um ihre Hang zu finden, würden Sie zwei Punkte auf der Line und wenden Sie die übliche Formel x2-x1 y2-y1 Dies bringt die Frage, wie weit auseinander, um die beiden Punkte, die einen Unterschied machen können, um Ergebnisse zu machen. Wirklich, da die MA verwendet wird, um den Trend zu identifizieren, wollen wir nur Wissen, ob es nach oben oder unten schräg ist Dann können wir das vereinfachen E ganze Berechnung durch die Feststellung, dass, wenn der Preis über dem gleitenden Durchschnitt ist, muss es ziehen Sie den Durchschnitt auf, und ein Preis unterhalb der MA zieht es ab So ein weiterer Grund, um die Wirksamkeit des Preises über dem gleitenden Durchschnitt zu testen. Parameter settings. Once Sie entscheiden, wie man die MAs zu verwenden, müssen Sie eine Auswahl von verschiedenen Längen zu testen Hüten Sie sich über Überoptimierung Irgendwo da draußen ist ein Kerl mit Backtesting Ergebnisse mit 3895 Gewinn oder was auch immer mit nur den richtigen gleitenden Durchschnitt Too bad er doesn t Wissen, was MA wird diese Ergebnisse in der Zukunft zu produzieren Das heißt, müssen Sie versuchen, mehr als eine Länge, um sicherzustellen, dass Ihre Ergebnisse aren ta fluke Stick mit Defaults Einstellungen oder die, die Sie hören, über die meisten in den Medien Finding die eine perfekte Parameter-Einstellung Wird nicht machen Sie reich Finden Sie eine Reihe von guten, robusten Einstellungen nur Sie tun können, eine Menge von gut though. As eine praktische Angelegenheit, wenn Backtesting genügend Datenverzögerung vor der Messung Alle Tests müssen beginnen, a zu messen T der gleiche Ort für Äpfel-Äpfel Vergleich zwischen verschiedenen MA-Längen Zum Beispiel, wenn Sie einen 200-Tage gleitenden Durchschnitt testen, wird es die ersten 200 Tage Daten, um den ersten Punkt des gleitenden Durchschnitts zu berechnen Das bedeutet Dass der erste Tag, den Sie vielleicht haben könnte ein Signal ist 200-Tage in den Datensatz Um einen fairen Vergleich mit, sagen wir, die 10-Tage gleitenden Durchschnitt, müssen Sie sicherstellen, dass keine Signale aus dem 10-Tage-Umzug zählen Durchschnitt vor dem 200-Tage ist bereit zu gehen Glücklicherweise hat TradeStation einen Weg, um die maximale Anzahl von Bars Studie wird in Eigenschaften für alle Strategien, die die Backtesting-Engine zu warten, dass lange vor der Tabulierung von Daten. More Profit von Kauf oder Verkauf. Das Verschieben der durchschnittlichen Regeln und insbesondere die gleitenden durchschnittlichen Crossover-Regeln werden oft als Umkehrsystem diskutiert. Dies bedeutet, dass ein Signal, sagen die MAs, die nach oben kreuzen, ein Kaufsignal ist und dann sein Gegenteil, sagen, dass MA Zeilen überqueren, nicht nur ein Verkauf ist Signal aber auch Der Auslöser zu gehen Theoretisch, das ist gut, aber viele Leute sind nicht daran interessiert, den Markt zu kämpfen Sie suchen nach Techniken, um ihnen zu helfen, zu kaufen und vielleicht verkaufen Auch eine Person, die regelmäßig verkauft und verkauft kurz könnte verschiedene Techniken für den Kauf und Verkauf Aus diesen Gründen ist es sinnvoll, die Kaufsignale getrennt von den Verkaufssignalen zu testen. Dies stellt ein Dilemma dar, weil es schwierig ist, ein Kaufsignal in Isolation zu bewerten. Eine Möglichkeit, dies zu tun, ist, zeitliche Ausgänge zu verwenden, die den Handel verlassen oder Verkaufe die Aktie nach einer gewissen Zeit vergeht Ich wählte, um jeden Backtest dreimal mit drei verschiedenen Zeiten Ausgänge laufen, weil verschiedene Menschen haben unterschiedliche Stile und verschiedene Bedürfnisse Um Backtesting Ergebnisse nützlich, um Swing Trader, ich beenden nach 2 Tagen Um Position Position Händler , 20 Tage Um die Bedürfnisse der aktiven Investoren zu erfüllen, hält Backtesting jede Position für 200 Tage Dies gibt einen Weg, um die Kaufsignale zu isolieren und herauszufinden, wie nützlich der gleitende Durchschnitt t ist O Aktienkäufer von verschiedenen Temperamenten. Need zu definieren Goodness. One mehr sehr wichtige Sache zu prüfen, wenn Sie Backtesting Umzugsdurchschnitte, um herauszufinden, wie gut sie in der Börse tun Wie werden Sie wissen, was gut ist Sie benötigen objektive Kriterien für den Erfolg, dass Bedeutet, die Schlüsselstatistiken wie Win-Rate, Erwartung, hypothetische Equity-Gewinne usw. zu identifizieren. Es bedeutet auch, Standards für eine akzeptable Leistung in jedem dieser Bereiche einzurichten. Ein Beispiel veranschaulicht, warum dies wichtig ist und warum es nicht so einfach ist, wie es zuerst erscheint Ihre Tests zeigen eine Gewinnrate von 55 für eine bestimmte Indikator Das könnte nicht so gut sein, wenn, sagen wir, 62 von allen Aktien stiegen während der gleichen Zeitspanne oder wenn nur 25 von Aktien stieg während dieser Zeit, Ihre 55 gewinnen Rate wäre spektakulär Was gut ist, hängt davon ab, wie es im Vergleich zu Baseline-Markt-Performance unter den gleichen Bedingungen. Sie können eine kostenlose Kopie der BackTesting Report Baseline Problem herunterladen, indem Sie hier klicken. Für einen aussagekräftigen Backtest, Sie müssen genügend Daten haben, um einen statistisch gültigen Vergleich zu machen. Zumindest bedeutet das 30 Trades Auch wenn Sie nur ein Instrument nur einen Bestand oder nur ein Währungspaar handeln, denke ich, dass es wichtig ist, Ihre Trading-Strategie auf viele verschiedene Instrumente zu testen Um seine Robustheit zu beweisen, ging ich über die Spitze mit einem extrem großen Test-Set 7147 Aktien über 14 Jahre, um sicherzustellen, dass meine Ergebnisse in einer Vielzahl von Marktbedingungen gelten würde. Sie können Ihre Kopie meiner Backtesting-Berichte über die gleitenden durchschnittlichen Kaufsignale erhalten Hier klicken.


No comments:

Post a Comment