Thursday 2 November 2017

Exponential Moving Average Backtest


Simple Moving Averages - Trading Backtests Was sind die gleitenden durchschnittlichen Parameter sind die besten Diese Seite hat einen Ozean von gleitenden durchschnittlichen Backtests, die ich für den DAX, SP500 und auch USD / EU (Forex). Diese Tests wurden unter Verwendung unterschiedlicher Signalstrategien durchgeführt: einfach / exponentiell und Crossover-Varianten und verschiedene Indizes für einen Zeitraum von 1000 Handelstagen. Im Gegensatz zu anderen Websites testete ich alle gleitenden durchschnittlichen Tagesfensterwerte von 1 - 1000 Tagen, für die Cross-Over-Strategien auch in Kombination Diese Daten sind auch unqiue, da ich versucht habe, realistische Tests durchzuführen, die den Kauf / Verkaufspreis simulieren und Steuern zum Vergleich mit einer Referenz - (Buy-Hold-) Strategie. Ein schnell reagierender Fensterwert sieht gut aus in der Theorie und mit einem einfachen Test. Aber die Ausbreitung, Gebühren und Steuern zerstören alle Leistungen in der praktischen Anwendung. Deshalb sind diese realistischen Tests so wertvoll. Ich hoffe, diese Seite kann Ihnen helfen, mit Ihren Trades, genießen itSo jetzt schauen wir uns die SampP500 in einem Backtest mit dem exponentiellen durchschnittlichen Index-Crossover-System für 3750 Tage der Chart-Geschichte und Zeitfenster von ein bis tausend. In Abbildung 1 sehen wir den Vergleich aller Erträge, die grüne Linie zeigt die Kaufampereausbeute von 6,5 p. a. Abb. 1: Exponentielle Durchschnittsleistung des SampP500 Abb. 2: EMA Performance vs Buy amp Hold So sehen wir wieder gibt es nicht viele exponentielle Mittelwerte, die sogar die Benchmark passieren können, aber zumindest gibt es dann mehr im DAX Backtest. Die höchste ist die EMA 334 mit 8 p. a. Die Region um diese scheinen die besten in diesem Backtest zu sein. In Abbildung 2 sehen Sie die Leistung der EMA 334 im Vergleich zur Indexleistung. Abb. 3: Alle EMA Leistungsdiagramme Abb. 4: Alle EMA-Leistungsdiagramme (Topview) In Abbildung 3 sehen Sie alle Leistungskurven der Zeitfenster von ein bis tausend. Wie beim DAX-Backtest liegen die besten Endrenditen bei den mittleren EMAs. Die kurzen exponentielle gleitende Durchschnitte aber gut tat führen zurück in den Tagen bis 2750, dann begann sie die Jahre fail. Over, ich habe, dass durch die Anwendung exponentiell gleitenden Durchschnitte (EMAs) verbessert werden viele meiner mechanischen Systemen zu finden, um entweder die rohe Zeit Oder, in anderen Fällen, tatsächliche Signalleitungen. Dies bewirkt eine Glättung der Daten, jedoch zeitabhängig. Hier ist die einfache Mathematik an Decision Point. Wunderbar - Sie sagen - so was ist das Dilemma Das Problem mit EMAs und viele ähnliche Glättungsmechanismen, ist, dass sie ein ewiges Gedächtnis zurück zum Anfang Ihrer Datenreihe enthalten. Wenn Sie ein System-Entwickler sind, hat dies den Nachteil, gelegentlich ändern Sie Ihre Signale je nach dem Datum, das Sie Ihr Programm starten, wie frühere Perioden aus dem Analysefenster gelöscht werden. Es sei denn, Sie führen Ihr Modell gegen eine ständig wachsende Datenbank, wird dies schließlich die Wirkung der Erzeugung oops Momente, wenn historische am Rande Signale instabil werden, wie die EMAs selbst subtil auf jedem neuen Lauf verschieben. Dies ist für den sorgfältigen Backtester verderblich und wird auch gut konzipierte Systeme willkürlich erscheinen lassen. Eine einfache Lösung Berechnen Sie die EMA gegen ein festgelegtes Rollfenster, wobei der erste Punkt immer gegen einen ähnlich laufenden einfachen gleitenden Durchschnitt berechnet wird (d. h. nicht nur die erste Periode in Ihrer vollständigen Datenreihe). Solange Sie eine feste Starterserie haben (z. B. 20 oder 40 Perioden), bleiben Ihre Berechnungen und Signale stabil und behalten die oben genannten Vorteile bei. Aber warten - der schlaue Programmierer sagt -, dass eine spezielle Funktion oder Array benötigen Hey, ich sage, tat es so einfach wäre, wenn Sie etwas einfacher noch wollen, können Sie immer so etwas wie dies versuchen könnte: (Preis0 Price12 Price22 price4) / 6. Aber. Seit Ive brachte es auf und ging durch die Mühe des Schreibens dieses Post, Ill gehen die extra Meile und post eine Excel VBA-Funktion in die Kommentare Abschnitt unten später dieses lange Wochenende für diejenigen, die interessiert sind. VBA Function Code Veröffentlicht in Kommentare 2 Kommentare: Hoffentlich klärt das, was ich oben geschrieben habe. Funktion EMA (Cell As Range, Länge As Double, Optional Fenster As Double, Optional Richtung As Integer) 39Window EMA von marketrewind. blogspot 39Length EMA Rückblickzeitraum 39Window Rollen Fenster 39Direction: 0 unten nach oben 1 von oben nach unten Wenn Richtung ltgt 1, dann Richtung 0, wenn das Fenster 0 Then Fensterlänge y Cell. Row x Cell. Column Alpha 2 / (Länge 1) Wenn die Richtung 0 Then yy y Window - 1 EMA WorksheetFunction. Average (Range (Cells (y Fenster, x), Zellen (y Fenster Länge - 1, x))) für i yy y Schritt -1 EMA (Cells (i, x).Value Alpha) (EMA (1 - Alpha)) Next i yy y - Fenster 1 EMA WorksheetFunction. Average (Range ( Die Zellen (y - Fenster, x), Zellen (y - Window - Länge 1, x))) Für i yy y EMA (Cells (i, x).Value Alpha) (EMA (1 - Alpha)) Next i Wow . Ich wusste nicht, dass Sie so ein Aussenseiter Jeff waren. Ich mag dich. Gute Sachen Sir. Michael

No comments:

Post a Comment