Wednesday, November 23, 2016

Backtesting Eine Einfache Stock Trading - Strategie

Backtesting eine Einfache Stock Trading-Strategie (Dieser Artikel erschien zuerst auf moderne Werkzeugbau veröffentlicht. Und freundlich mit R-Blogger beigetragen) Hinweis: Dieser Beitrag ist NICHT Finanzberatung! Dies ist nur eine tolle Möglichkeit, einige der Funktionen R hat für das Importieren und Bearbeiten von Daten zu erkunden. Vor kurzem las ich einen Beitrag über ETF Prophet, der einen interessanten Aktienhandel Strategie in Excel erforscht. Die Strategie ist einfach: Finden Sie den Höhepunkt der Lager in den letzten 200 Tagen, und die Anzahl der Tage, die seit dem Hoch vergangen sind. Wenn es mehr gewesen weniger als 100 Tagen, besitzen die Lager. Wenn seine seit mehr als 100 Tagen, nicht besitzen es. Diese Strategie ist sehr einfach, aber es ergeben sich einige beeindruckende Ergebnisse. (Beachten Sie jedoch, dass dieses Beispiel Daten, die nicht von Splits und Dividenden hat sich angepasst und könnten auch andere Fehler enthalten, verwendet Des Weiteren wurden die Handelskosten und Durchführung Verzögerungen, die beide Einfluss auf Strategie Leistungs ignorieren..) Die Umsetzung dieser Strategie in R ist einfach und bietet zahlreiche Vorteile gegenüber excel, dessen Primär ist, dass das Ziehen Börsendaten in R ist einfach, und wir können diese Strategie auf eine breite Palette von Indizes mit relativ geringem Aufwand zu testen. Zunächst laden wir Daten für die GSPC mit quantmod. (GSPC steht für den S & P 500 Index). Als nächstes konstruieren wir eine Funktion, um die Anzahl der Tage seit dem n-Tage in einer Zeitreihe, und eine Funktion, um unsere Handelsstrategie umsetzen zu berechnen. Letztere Funktion nimmt zwei Parameter: die n-Tage, die Sie verwenden möchten, und die Zahl der Tage vorbei, dass Hoch Sie den Bestand zu halten. Das Beispiel 200 und 100, aber man konnte leicht auf die 500-Tage-Hoch dies ändern und sehen, was passiert, wenn Sie die Aktie, bevor Rettung halten 300 Tage vorbei, dass. Da diese Funktion parametriert, können wir leicht testen viele andere Versionen unserer Strategie. Wir Pad der Anfang unserer Strategie, mit Nullen, so dass es die gleiche Länge wie unsere Eingangsdaten sein. (Wenn Sie für eine ausführlichere Erläuterungen des daysSinceHigh Funktion möchten, finden Sie in der Diskussion über die grenzüberprüft). Wir multiplizieren unsere Position (0,1) Vektor, der durch die Erträge aus dem Index zu unserem strategys Renditen zu bekommen. Jetzt bauen wir eine Funktion, einige Statistiken über eine Trading-Strategie zurück und der Benchmark-Vergleich unserer Strategie. Etwas willkürlich, entschied Ive auf kumulierte Rendite, mittlere Jahresrendite, Sharpe Ratio, gewinnen% freuen, durchschnittliche jährliche Volatilität, max Drawdown und maximale Länge Drawdown. Weitere Statistiken wäre einfach zu implementieren.


No comments:

Post a Comment