Backtesting Trading Strategien Mit R


Ich bin sehr neu bei R und versuche, eine Strategie, die ich bereits in WealthLab programmiert habe, rückgängig zu machen. Mehrere Dinge, die ich nicht verstehe (und es doesn t Arbeit offensichtlich :) Ich don t get die Close Prices schön in einen Vektor. Oder irgendeine Art von Vektor, aber es beginnt mit Struktur und ich don t wirklich verstehen, was diese Funktion. Thats, warum meine Serie, 1 Anruf wahrscheinlich doesn t Arbeit. N-nrow (Serie) doesn t Arbeit entweder, aber ich brauche, dass für die Loop So denke ich, wenn ich diese 2 Fragen beantwortet meine Strategie sollte funktionieren. Ich bin sehr dankbar für jede Hilfe .. R scheint ziemlich kompliziert, auch mit Programmierkenntnissen in anderen Sprachen ja Ich Art kopiert einige Zeilen Code aus diesem Tutorial und don MichiZH Dies ist der dritte Beitrag in der Backtesting In Excel und R-Serie und es wird zeigen, wie man Backtest eine einfache Strategie in R. Es folgt den 4 Schritten Damian umrissen in seinem Beitrag auf, wie man Backtest eine einfache Strategie in Excel. Schritt 1: Holen Sie sich die Daten Die getSymbols-Funktion in quantmod macht diesen Schritt einfach, wenn Sie tägliche Daten von Yahoo Finance verwenden können. Es gibt auch Methoden (nicht im strengen Sinne), um Daten aus anderen Quellen (FRED, Google, Oanda, R speichern Dateien, Datenbanken, etc.) zu ziehen. Sie können sie auch als Vorlage verwenden, um eine benutzerdefinierte Funktion für einen bestimmten Hersteller zu schreiben, den Sie verwenden. (TTR, xts und zoo) ziehen SPX-Daten von Yahoo (getSymbols gibt ein xts-Objekt zurück) Schritt 2: Erstellen Sie Ihr Kennzeichen Das TTR-Paket enthält eine Vielzahl von Indikatoren. Die Indikatoren sind so geschrieben, dass sie einfach kombiniert werden können auf kreative und unkonventionelle Weise. Beginnend mit Revision 106 auf R-forge, hat TTR eine DVI-Anzeige. Berechnen DVI-Indikator dvi - DVI (Cl (GSPC)) Cl () extrahiert die enge Preisspalte Schritt 3: Konstruieren Sie Ihre Handelsregel Da diese Handelsregel ist einfach - wir re langen 100 wenn der DVI unter 0,5 und kurz 100 sonst - - es kann in einer Zeile geschrieben werden. Aufwändigere Regeln und / oder Positionsanpassungen können ebenfalls durchgeführt werden, erfordern jedoch mehr Code (RSI (2) mit Positionsgröße ist ein Beispiel für komplexere Positionsgrößenregeln). Beachten Sie auch, dass der Signalvektor verzögert ist, was eine Vorausschau-Bias vermeidet. 1)) Schritt 4: Handelsregeln / Eigenkapitalkurve Wie bei Damian s. 1, 1, 1)) Beispiel, der untenstehende Code ist ein vereinfachter Ansatz, der reibungslos ist und nicht für Schlupf. Der untenstehende Code nimmt heute s Prozentsatz zurück und multipliziert ihn mit gestern s Signal / Positionsgröße (immer / - 100 in diesem Beispiel). Ich auch Teilmenge das System zurückgibt, um die Ergebnisse in der Excel-Datei entsprechen. Berechnen von signalbasierten Renditen ret - ROC (Cl (GSPC)) sig subset kehrt zu Matchdaten in Excel zurück retard 2009-06-02 / 2010-09-07 Schritt 5: Bewertung der Strategieleistung Damian erwähnte, wie wichtig es ist, Strategie. Zum Glück für R-Benutzer macht das PerformanceAnalytics-Paket dies einfach. Mit ein paar Zeilen Code können wir die Drawdowns, Abwärtsrisiken und eine Leistungsübersicht. Verwenden Sie das PerformanceAnalytics-Paket erstellen Tabelle mit Drawdown-Statistiken erstellen Tabelle der Abwärts-Risiko-Schätzungen Chart Equity-Kurve, tägliche Performance und Drawdowns Das ist alles gibt es Backtesting eine einfache Strategie in R. Es war nicht so einschüchternd war es Bitte lassen Sie Feedback, wenn Sie Das Bewegen Ihres backtesting von Excel zu R und dort s etwas, das Sie oben aufgehängt haben, oder Sie haben einen ehrfürchtigen Spitze, die Sie teilen möchten. Hier eine kurze Version des Codes in der oben genannten Post, wenn Sie in der Lage, kopieren / fügen Sie es alle in einem Block: Backtesting eine einfache Aktienhandel-Strategie Hinweis: Dieser Beitrag ist nicht finanzielle Beratung Dies ist nur eine unterhaltsame Art und Weise, einige zu erkunden Der Fähigkeiten R für das Importieren und Manipulieren von Daten. Ich habe vor kurzem einen Beitrag auf ETF Prophet, dass eine interessante Aktienhandel Strategie in Excel erforscht gelesen. Die Strategie ist einfach: Finden Sie den Höhepunkt der Aktie in den letzten 200 Tagen, und zählen Sie die Anzahl der Tage, die seit dieser Höhe vergangen sind. Wenn seine mehr als 100 Tage, besitzen die Aktie. Wenn es die Handelskosten und Ausführungsverzögerungen ignoriert, die beide die Strategieleistung beeinflussen.) Die Umsetzung dieser Strategie in R ist einfach und bietet zahlreiche Vorteile gegenüber Excel, die primär ist, dass das Ziehen der Aktienmarktdaten in R einfach ist, und wir Kann diese Strategie auf einem breiten Spektrum von Indizes mit relativ geringem Aufwand testen. Zuerst laden wir Daten für GSPC mit quantmod herunter. (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-Hoch in einer Zeitreihe zu berechnen und eine Funktion zur Umsetzung unserer Handelsstrategie. Die letztgenannte Funktion übernimmt 2 Parameter: die n-Tage-Hoch, die Sie verwenden möchten, und die Anzahl der Tage nach dieser Höhe werden Sie den Bestand halten. Das Beispiel ist 200 und 100, aber Sie könnten dies leicht ändern, um die 500-Tage-Hoch und sehen, was passiert, wenn Sie halten die Aktie 300 Tage nach, dass vor der Rettung. Da diese Funktion parametrisiert ist, können wir viele andere Versionen unserer Strategie leicht testen. Wir fügen den Anfang unserer Strategie mit Nullen so wird es die gleiche Länge wie unsere Eingangsdaten werden. (Wenn Sie eine ausführlichere Erläuterung der Funktion DaySinceHigh wünschen, finden Sie weitere Informationen in der Diskussion über die Validierung). Wir multiplizieren unsere Position (0,1) Vektor mit den Renditen aus dem Index, um unsere Strategie zu erhalten, die wir uns entschieden haben, die kumulative Rendite, die durchschnittliche jährliche Rendite, die Sharpe Ratio, die Gewinne, die durchschnittliche jährliche Volatilität, den maximalen Drawdown und den maximalen Drawdown zu bewerten. Andere Statistiken wäre einfach zu implementieren. Wie Sie sehen können, ist diese Strategie mit dem Standardansatz positiv. Schließlich testen wir unsere Strategie auf 3 anderen Indizes: FTSE, die Irland und Großbritannien, den Dow Jones Industrial Index, repräsentiert. Die bis 1896 zurückreicht, und die N225. Die Japan repräsentiert. Ich habe den gesamten Prozess funktionalisiert, so können Sie jede neue Strategie mit 1 Zeile Code zu testen: Verpassen Sie nie ein Update Abonnieren Sie R-Blogger, um E-Mails mit den neuesten R Beiträge erhalten. (Diese Meldung wird nicht mehr angezeigt.)

Comments

Popular posts from this blog

Centered Moving Average Beispiele

How To Profit From Binäre Optionen Handel

Gleitende Durchschnittliche Bücher Pdf