Backtesting Handelsstrategien In R

Ich bin sehr neu in R und versucht, eine Strategie Ive programmiert bereits in WealthLab Backtest. Mehrere Dinge, die ich nicht verstehe (und es funktioniert nicht offensichtlich :) Ich bekomme nicht die Close Prices schön in einen Vektor. Oder irgendeine Art von Vektor, aber es beginnt mit Struktur und ich nicht wirklich verstehen, was diese Funktion. Thats, warum meine Serie, 1 Anruf wahrscheinlich nicht funktioniert. N lt-nrow (Serie) funktioniert nicht, aber ich brauche das für die Loop Also ich denke, wenn ich diese 2 Fragen beantwortet meine Strategie funktionieren sollte. Ich bin sehr dankbar für jede Hilfe .. R scheint ziemlich kompliziert auch mit Programmier-Erfahrung in anderen Sprachen ja Ich Art kopiert einige Zeilen Code aus diesem Tutorial und don39t wirklich verstehen, diese Zeile. Ich meine Reihe, 1 Ich dachte, die Funktion f auf quotcolumnquot 1 der Serie anwenden würde. Aber da diese Reihe ist einige compley mit Struktur etc. es doesn39t Arbeit. I39m sprechen über dieses Tutorial: r-bloggersbacktesting-a-trading-Strategie ndash MichiZH Jun 6 13 um 14: 22Dies 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 Wird folgen die 4 Schritte 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. Ziehen Sie SPX-Daten von Yahoo (getSymbols gibt ein xts-Objekt zurück) Schritt 2: Erstellen Sie Ihren Indikator Das TTR-Paket enthält eine Vielzahl von Indikatoren. Die Indikatoren werden so geschrieben, dass sie leicht in kreativer und unkonventioneller Weise kombiniert werden können. Beginnend mit Revision 106 auf R-forge, hat TTR eine DVI-Anzeige. DVI-Indikator dvi lt - DVI (Cl (GSPC)) Cl () extrahiert die enge Preisspalte Schritt 3: Konstruieren Sie Ihre Handelsregel Da diese Handelsregel einfach ist - waren lange 100, wenn der DVI unter 0,5 und kurz 100 sonst - - es kann in einer Zeile geschrieben werden. Ausführlichere Regeln und Anordnungen können auch durchgeführt werden, benötigen aber mehr Code (RSI (2) mit Position Sizing ist ein Beispiel für komplexere Position Sizing Regeln). Beachten Sie auch, dass der Signalvektor verzögert ist, was eine Vorausschau-Bias vermeidet. (Dvidvi lt 0,5, 1, -1)) Schritt 4: Die Handelsregelqualitätskurve (long), wenn das DVI unterhalb (oben) 0,5) lag, so dass das heutige Signal auf die heutigen Rückgabewerte angewendet wird Wie in Damians Beispiel ist der untenstehende Code ein vereinfachter Ansatz, der reibungslos ist und nicht für Schlupf verantwortlich ist. Der untenstehende Code nimmt den heutigen Prozentsatz zurück und multipliziert ihn mit der gestern 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 lt - ROC (Cl (GSPC)) sig subset kehrt zu Matchdaten in Excel zurück retlt - ret2009-06-022010-09-07 Schritt 5: Strategiebewertung bewerten Damian erwähnte, wie wichtig es ist, Ihre Strategie zu bewerten . 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 das Einschüchtern, war es Bitte lassen Sie Feedback, wenn Sie Ihr bewegen Backtesting von Excel zu R und theres etwas youre aufgehängt auf oder Sie haben eine tolle Spitze youd wie zu teilen. Heres eine prägnante Version des Codes in der oben genannten Post, wenn Sie in der Lage, kopieren fügen Sie sie 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 Die Fähigkeiten R zum 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 es8217s gewesen mehr als 100 Tage, don8217t es besitzen. Diese Strategie ist sehr einfach, aber es bringt einige beeindruckende Ergebnisse. (Beachten Sie jedoch, dass in diesem Beispiel Daten verwendet werden, die nicht von Splits oder Dividenden angepasst wurden und andere Fehler enthalten könnten. Weiterhin ignorieren wir die Handelskosten und Ausführungsverzögerungen, die beide die Strategieperformance beeinflussen.) Die Implementierung dieser Strategie in R ist einfach, Und bietet zahlreiche Vorteile gegenüber Excel, die primär ist, dass das Ziehen Börse Daten in R ist einfach, und wir können diese Strategie auf einem breiten Spektrum von Indizes mit relativ geringem Aufwand zu testen. Zuerst laden wir Daten für GSPC mit quantmod herunter. (GSPC steht für den SampP 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 Strategie8217s Renditen zu erhalten. Jetzt konstruieren wir eine Funktion, um einige Statistiken über eine Handelsstrategie zurückzugeben und unsere Strategie mit der Benchmark zu vergleichen. Etwas willkürlich beschlossen I8217ve, die kumulative Rendite, die durchschnittliche jährliche Rendite, die Sharpe Ratio, den Gewinn, die durchschnittliche jährliche Volatilität, den maximalen Drawdown und den maximalen Drawdown zu betrachten. Andere Statistiken wäre einfach zu implementieren. Wie Sie sehen können, ist diese Strategie mit dem standardmäßigen 8220buy-and-hold8221-Ansatz vergleichbar. 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. I8217ve funktionalisiert den gesamten Prozess, so können Sie jede neue Strategie mit 1 Zeile Code 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

Forex Was Ist Ein Standard Menge

Kostenlose Testoption Trading Tipps

Vedanta Handelszeichen