Moving Average Strategie Backtest


Moving Averages: Strategies 13 Von Casey Murphy. Senior Analyst ChartAdvisor Verschiedene Investoren verwenden gleitende Durchschnitte aus verschiedenen Gründen. Einige verwenden sie als ihr primäres analytisches Werkzeug, während andere sie einfach als Vertrauensbauer verwenden, um ihre Investitionsentscheidungen zu sichern. In diesem Abschnitt, gut präsentieren ein paar verschiedene Arten von Strategien - Einbeziehung in Ihre Trading-Stil ist bis zu Ihnen Crossovers Ein Crossover ist die grundlegendste Art von Signal und ist bei vielen Händlern bevorzugt, weil es alle Emotionen entfernt. Die grundlegendste Art von Crossover ist, wenn der Preis eines Vermögenswertes von einer Seite eines gleitenden Durchschnitts bewegt und schließt auf der anderen. Preisübergänge werden von Händlern verwendet, um Verschiebungen in der Dynamik zu identifizieren und können als Basiseintrags - oder Ausstiegsstrategie verwendet werden. Wie Sie in Abbildung 1 sehen können, kann ein Kreuz unter einem gleitenden Durchschnitt den Beginn eines Abwärtstrends signalisieren und würde wahrscheinlich von den Händlern als Signal verwendet werden, um bestehende Longpositionen auszuschließen. Umgekehrt kann eine Nähe über einem gleitenden Durchschnitt von unten den Beginn eines neuen Aufwärtstrends vorschlagen. Die zweite Art der Crossover tritt auf, wenn ein kurzfristiger Durchschnitt einen langfristigen Durchschnitt durchquert. Dieses Signal wird von Händlern verwendet, um zu ermitteln, dass sich die Dynamik in einer Richtung verschiebt und dass sich eine starke Bewegung wahrscheinlich annähert. Ein Kaufsignal wird erzeugt, wenn der kurzfristige Mittelwert über dem Langzeitdurchschnitt liegt, während ein Verkaufssignal durch einen kurzfristigen Durchschnittsübergang unterhalb eines langfristigen Durchschnitts ausgelöst wird. Wie Sie aus der folgenden Tabelle sehen können, ist dieses Signal sehr objektiv, weshalb es so beliebt ist. Triple Crossover und das Moving Average Ribbon Zusätzliche gleitende Durchschnitte können dem Diagramm hinzugefügt werden, um die Gültigkeit des Signals zu erhöhen. Viele Händler werden die Fünf-, 10- und 20-Tage-Gruppendurchschnitte auf ein Diagramm platzieren und warten, bis der Fünf-Tage-Durchschnitt durch die anderen übergeht, ist dies in der Regel das primäre Kaufzeichen. Warten auf den 10-Tage-Durchschnitt über den 20-Tage-Durchschnitt zu überqueren wird oft als Bestätigung verwendet, eine Taktik, die oft die Anzahl der falschen Signale reduziert. Die Erhöhung der Anzahl der gleitenden Durchschnitte, wie sie in der Triple-Crossover-Methode gesehen wird, ist eine der besten Möglichkeiten, um die Stärke eines Trends zu beurteilen und die Wahrscheinlichkeit, dass sich der Trend fortsetzen wird. Das ist die Frage: Was würde passieren, wenn man sich bewegte Durchschnitte hinzufügt Manche Leute argumentieren, dass wenn ein gleitender Durchschnitt nützlich ist, dann müssen 10 oder mehr noch besser sein. Dies führt uns zu einer Technik, die als das gleitende durchschnittliche Band bekannt ist. Wie Sie aus der folgenden Tabelle sehen können, werden viele gleitende Durchschnitte auf das gleiche Diagramm gelegt und werden verwendet, um die Stärke des aktuellen Trends zu beurteilen. Wenn alle gleitenden Mittelwerte sich in die gleiche Richtung bewegen, wird der Trend stark sein. Umkehrungen werden bestätigt, wenn die Durchschnitte kreuzen und in die entgegengesetzte Richtung gehen. Die Reaktionsfähigkeit auf sich ändernde Bedingungen entfällt auf die Anzahl der Zeiträume, die in den gleitenden Durchschnitten verwendet werden. Je kürzer die in den Berechnungen verwendeten Zeiträume sind, desto empfindlicher ist der Durchschnitt auf leichte Preisänderungen. Eines der häufigsten Bänder beginnt mit einem 50-tägigen gleitenden Durchschnitt und fügt Mittelwerte in 10-tägigen Schritten bis zum letzten Durchschnitt von 200 hinzu. Diese Art von Durchschnitt ist gut, um langfristige Trendsreversals zu identifizieren. Filter Ein Filter ist eine Technik, die in der technischen Analyse verwendet wird, um das Vertrauen zu einem bestimmten Handel zu erhöhen. Zum Beispiel können viele Investoren wählen, bis eine Sicherheit über einen gleitenden Durchschnitt hinausragt und mindestens 10 über dem Durchschnitt liegt, bevor sie einen Auftrag vergeben. Dies ist ein Versuch, um sicherzustellen, dass die Crossover gültig ist und die Anzahl der falschen Signale zu reduzieren. Der Nachteil über die Vermeidung von Filtern zu viel ist, dass einige der Gewinn aufgegeben wird und es könnte dazu führen, dass das Gefühl, wie Sie das Boot verpasst. Diese negativen Gefühle werden im Laufe der Zeit abnehmen, da Sie ständig die Kriterien für Ihren Filter anpassen. Es gibt keine festgelegten Regeln oder Sachen, um heraus zu achten, wenn das Filtern sein einfach ein zusätzliches Werkzeug, das Ihnen erlaubt, mit Vertrauen zu investieren. Moving Average Envelope Eine andere Strategie, die die Verwendung von gleitenden Durchschnitten beinhaltet, wird als Umschlag bezeichnet. Diese Strategie beinhaltet das Plotten von zwei Bands um einen gleitenden Durchschnitt, gestaffelt um einen bestimmten Prozentsatz. Zum Beispiel, in der Tabelle unten, wird ein 5 Umschlag um einen 25-Tage gleitenden Durchschnitt platziert. Händler werden diese Bands sehen, um zu sehen, ob sie als starke Bereiche der Unterstützung oder des Widerstands fungieren. Beachten Sie, wie die Bewegung oft die Richtung nach dem Annähern einer der Ebenen umkehrt. Ein Kursbewegung über die Band kann über einen Zeitraum von Erschöpfung signalisieren, und Händler werden für eine Umkehr in Richtung der Mitte average. Backtesting ein Moving Average Crossover in Python mit Pandas Im vorhergehenden Artikel auf Forschung Backtesting-Umgebungen In Python Mit Pandas sehen wir ein Objekt erstellt - orientierte forschungsorientierte Backtesting-Umgebung und testete sie auf einer zufälligen Prognosestrategie. In diesem Artikel werden wir von der Maschine Gebrauch machen, die wir eingeführt haben, um die Forschung über eine tatsächliche Strategie durchzuführen, 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 Hallo-Welt-Beispiel für den quantitativen Handel betrachtet. Die hier beschriebene Strategie ist nur langwierig. Zwei separate, einfach gleitende Durchschnittsfilter werden mit unterschiedlichen Lookback-Perioden einer bestimmten Zeitreihe erstellt. Signale zum Kauf des Vermögenswertes treten auf, wenn der kürzere Rückblick gleitende Durchschnitt den längeren Rückblick gleitenden Durchschnitt überschreitet. Wenn der längere Durchschnitt später den kürzeren Durchschnitt übersteigt, wird der Vermögenswert zurückverkauft. Die Strategie funktioniert gut, wenn eine Zeitreihe einen starken Trend einbringt und dann langsam den Trend rückgängig macht. Für dieses Beispiel habe ich Apple, Inc. (AAPL) als Zeitreihe, mit einem kurzen Rückblick-von 100 Tagen und eine lange Rückblick-400 Tage ausgewählt. Dies ist das Beispiel der zipline algorithmischen Handelsbibliothek. Wenn wir also unseren eigenen Backtester umsetzen wollen, müssen wir sicherstellen, dass er mit den Ergebnissen in der Zipline übereinstimmt. Implementierung Achten Sie darauf, dem vorherigen Tutorial zu folgen. Die beschreibt, wie die anfängliche Objekthierarchie für den Backtester aufgebaut wird, andernfalls wird der unten stehende Code nicht funktionieren. Die Implementierung von macross. py erfordert backtest. py aus dem vorherigen Tutorial: Für diese spezielle Implementierung habe ich die folgenden Bibliotheken verwendet. Der erste Schritt ist es, die notwendigen Module und Objekte zu importieren: Wie im vorherigen Tutorial wir MovingAverageCrossStrategy gehen, um die Strategie abstrakte Basisklasse Unterklasse zu erzeugen. Die alle Details enthält, wie man die Signale erzeugt, wenn die gleitenden Mittelwerte von AAPL einander kreuzen. Das Objekt erfordert 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, wobei die gleichen Parameter im Hauptbeispiel der Zipline verwendet wurden. Die gleitenden Durchschnitte werden durch die Verwendung der Pandas Rollingmean-Funktion auf den Bars erstellt. Schließen Sie den Preis der AAPL-Aktie. Sobald die einzelnen gleitenden Durchschnitte konstruiert worden sind, wird die Signalfolge durch Setzen des colum gleich 1,0 erzeugt, wenn die kurzen gleitenden Durchschnitt größer ist als der lange gleitende Durchschnitt ist, oder 0,0 sonst. Daraus können die Positionen Aufträge erzeugt werden, um Handelssignale darzustellen. Das MarketOnClosePortfolio ist aus dem Portfolio untergeordnet. Die in backtest. py gefunden wird. Es ist fast identisch mit der im vorigen Tutorial beschriebenen Implementierung, mit der Ausnahme, dass die Trades nun auf einer Close-to-Close-Basis statt einer Open-to-Open-Basis durchgeführt werden. Weitere Informationen darüber, wie das Portfolio-Objekt definiert ist, finden Sie im vorherigen Tutorial. Ive verließ den Code in Vollständigkeit und behalte dieses Tutorial in sich geschlossen: Jetzt, da die MovingAverageCrossStrategy und MarketOnClosePortfolio Klassen definiert wurden, wird eine Hauptfunktion aufgerufen, um alle Funktionalität zusammen zu binden. Darüber hinaus wird die Performance der Strategie über eine Kurve der Eigenkapitalkurve untersucht. Das Pandas DataReader-Objekt lädt OHLCV-Preise von AAPL-Aktien für den Zeitraum vom 1. Januar 1990 bis zum 1. Januar 2002 zu, an welchem ​​Punkt die Signale DataFrame erstellt werden, um die Langzeitsignale zu erzeugen. Anschließend wird das Portfolio mit einer Anfangskapitalbasis von 100.000 USD erwirtschaftet und die Renditen werden auf der Eigenkapitalkurve berechnet. Der letzte Schritt ist es, matplotlib zu verwenden, um ein zweidimensionales Diagramm von beiden AAPL-Preisen zu zeichnen, überlagert mit den gleitenden Durchschnitten und Buysell-Signalen sowie die Eigenkapitalkurve mit den gleichen Buysell-Signalen. Der Plottencode wird aus dem Zipline-Implementierungsbeispiel genommen (und modifiziert). Die grafische Ausgabe des Codes ist wie folgt. Ich habe von der IPython-Paste-Befehl Gebrauch gemacht, um diese 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 der Aktie dar, während die schwarzen Abschlüsse den Verkauf wieder verkaufen: Wie man sieht, verliert die Strategie im Laufe der Zeit Geld mit fünf Hin - und Rückfahrten. Dies ist nicht verwunderlich angesichts des Verhaltens von AAPL über den Zeitraum, der auf einem leichten Abwärtstrend war, gefolgt von einem erheblichen Aufschwung, der 1998 begann. Die Rückblickperiode der gleitenden Durchschnittssignale ist ziemlich groß und dies hat den Gewinn des Endhandels beeinflusst , Die sonst die Strategie rentabel gemacht haben könnte. In den folgenden Artikeln werden wir ein anspruchsvolleres Mittel zur Leistungsanalyse schaffen und beschreiben, wie man die Lookback-Perioden der einzelnen gleitenden Mittelsignale optimiert. Just Getting Started mit quantitativen TradingTypisch können zwei gleitende Durchschnitte verwendet werden, um eine Forex-Strategie (EA für MT4) mit diesen Regeln zu erstellen: Kaufen, wenn die kurze Periode gleitenden Durchschnitt ist über dem langen Zeitraum gleitenden Durchschnitt Verkaufen, wenn die lange Periode gleitenden Durchschnitt ist oben Die kurze Periode gleitender Durchschnitt Auf der folgenden Grafik von MetaTrader Terminal ist die gelbe Linie die kurze Periode gleitenden Durchschnitt (Periode9) und die rote Linie ist die lange Periode gleitenden Durchschnitt (Periode 18). Analysieren Sie den Graphen, können wir die Handelsregeln oder Forex-Signale umschreiben als: Kaufen, wenn die gelbe Linie über der roten Linie ist Verkaufen Sie, wenn die gelbe Linie unter der roten Linie ist Statt einer langjährigen Kodierung dieser Forex-Strategie mit Molanis Strategy Builder Sie können ein Handelsdiagramm erstellen, das die gleitende durchschnittliche Strategie in Minuten darstellt. Einfach per Drag & Drop zwei Technical Analysis-Blöcke, ein Buy-Block und ein Sell-Block. Verbinden Sie sie und setzen Sie die Blockparameter, um ein Diagramm wie das folgende zu erhalten: Dieses Handelsdiagramm hat zwei Handelspfade. Die linke ist hervorgehoben. Es geht vom START-Block zum END-Block. Man könnte es als lesen: Kaufen Sie 1 Los EURCAD (mit einem 100 Pip Take Profit und 50 Pip Stop Loss), wenn die kurze Periode gleitenden Durchschnitt (9) über dem langen Zeitraum gleitenden Durchschnitt (18) ist. Denken Sie daran, das Handelsdiagramm in entgegengesetzter Richtung zum Handelsfluss zu lesen. Der richtige Handelspfad könnte als gelesen werden: Verkaufen Sie 1 Los EURCAD (mit einem 100 Pip Take Profit und 50 Pip Stop Loss), wenn die lange Periode gleitenden Durchschnitt (18) über dem kurzen Zeitraum gleitenden Durchschnitt (9) liegt. Erzeugen des MQL-Codes für MetaTrader mit nur einem Klick Im Trading-Diagramm-Menü klicken Sie auf MMS4-Code generieren, um das MQL4-Code-Fenster zu erhalten. Mit Molanis Strategy Builder können Sie Ihren Fachberater direkt mit MetaTrader öffnen oder als MQ4-Datei speichern. Verpassen Sie nicht unsere Video-Tutorial auf

Comments

Popular Posts