Wednesday 15 February 2017

Testing Trading Strategien In Matlab

Während ich mag, wo diese Frage geht, würde ich vorschlagen, um es ein wenig konkreter. Welche Teile des Backtesting-Prozesses möchten Sie lernen, Dies kann überall reichen von nur Schätzung einer normalen Rendite, wo das Portfolio zurück aus Ihrer Strategie bereits gegeben werden, um die Umsetzung einer vollständigen Portfolio-Formulierung algorithmisch gegeben. Ndash Constantin Um ehrlich zu sein, weiß ich nicht viel über Backtesting. Mir wurde gesagt, dass ich während meines Praktikums neue Strategien unterstützen oder den aktuellen Kurs verbessern muss. So möchte ich ein bisschen mehr über das Thema wissen, bevor ich anfange. Was sind die verschiedenen Teile davon. Ndash Maxime Dec 30 14 at 21:31 Die allgemeine Idee Für Aktienwerte wird ein einfacher Backtest typischerweise aus zwei Schritten bestehen: Berechnung der Portfolio-Rendite, die aus Ihrer Portfolio-Formationsregel (oder Handelsstrategie) resultiert Asset Pricing-Modell Schritt 2 ist einfach eine Regression und rechnerisch sehr einfach in Matlab. Was ist schwieriger ist die Umsetzung von Schritt 1, die Sie benötigen, um sehr bequem in Matlab werden, und es gibt verschiedene Möglichkeiten, dies zu tun. Wenn Sie wissen, wie eine OLS-Regression in Matlab zu tun ist, sollten Sie sich auf alle Arten von Matrixmanipulationen konzentrieren. Implementierung in Matlab Portfolio-Formulierung und Renditeberechnung Um Ihnen ein Beispiel dafür zu geben, wie eine primitive Handelsstrategie in Matlab implementiert werden könnte, können wir monatliche Rendite-Daten und eine einheitliche Haltedauer von einem Monat auf n Vermögenswerte über k Perioden annehmen, wobei i in und k im . Angenommen, keine Änderungen in der Zusammensetzung Ihres Stock Universums, Ihre returns Matrix X ist von Dimensionen k mal n. X begin x amp dots amp x amp dots amp x vdots amp ddots amp vdots amp ddots amp vdots x amp dots amp x amp dots amp x vdots amp ddots amp vdots amp ddots amp vdots amp dots amp amp dots amp x end Wo zurückkehrt Werden als x frac-1 berechnet. Unter der Annahme, dass es sich bei Ihrem Selektionskriterium um eine Art Lagerbestand handelt, die in monatlicher Häufigkeit zur Verfügung steht, haben Sie auch eine Merkmalsmatrix C. Sie können dann einen Algorithmus schreiben, der diejenigen Einträge in C identifiziert, die Ihr Selektionskriterium erfüllen (zB einen bestimmten Schwellenwert überschreiten) ) Und ersetzen Sie die entsprechenden Einträge (wobei i und t gleich sind) einer Indikatormatrix I (die als Nullmatrix unter Verwendung der Nullenfunktion initialisiert wurde) mit Einsen. Sie können dann die Einträge von I mit denen der Rendite-Matrix X multiplizieren, um eine Matrix R zu erhalten, die die aus Ihren Beständen resultierenden Renditen angibt. Sie können dann den Mittelwert der Nicht-Null-Einträge für jede Zeile von R berechnen, um Ihren Vektor von Portfolio-Renditen zu erhalten. Risikoanpassung und Identifikation von anormalen Renditen In Schritt 2 vergleichen Sie diesen Vektor mit den normalen Renditen aus der Regressionsschätzung eines Asset-Pricing-Modells wie dem Fama-French-Modell. Indem Sie den normalen Rückgabewektor aus Ihrem Portfolio-Rückgabewert subtrahieren, bestimmen Sie, ob Ihre Handelsstrategie zu einer positiven anomalen Rendite geführt hat. Empfehlungen Wenn Sie neu in Matlab sind, schlage ich Ihnen persönlich vor, dass Sie sich ausreichend mit dieser vereinfachten Strategie vertraut machen, bevor Sie einige der vereinfachenden Annahmen (wie einheitliche Haltedauer und Periodizität) und fortgeschrittene Implementierungen vornehmen. Auch hier möchte ich betonen, dass dies erfordert, dass Sie sehr komfortabel mit Matlab und vor allem die verschiedenen Möglichkeiten, um Matrizen zu manipulieren, die einige Zeit dauern kann. Wenn Sie nicht benötigen, um Matlab für Ihr Praktikum zu verwenden und Ergebnisse schnell erhalten möchten, können Sie Schritt 1 in Excel stattdessen tun, die langweilig ist, aber nicht die (lohnende) erste Investition, die Sie für Matlab machen müssen. Um sich mit Matlab vertraut zu machen, bin ich sicher, dass Sie bereits die extrem gute Dokumentation, die mit ihm kommt, entdeckt haben. Das ist für mich die einzige wertvollste Ressource und wahrscheinlich nützlicher als irgendwelche finanzspezifischen Ressourcen (mit denen ich warten würde, bis Sie mit Matlab selbst vertraut sind). Alles, was erforderlich ist, um die normale Rendite zu bestimmen, ist eine OLS-Regression und ein rudimentäres Verständnis von Asset-Pricing-Modellen. Beantwortet Dec 30 14 um 22: 20Testing und Analyse von algorithmischen Handelsstrategien in MATLAB (Teil 2) Einfach zu bedienende GUI In diesem Beitrag, in Fortsetzung des Teils 1. Ich werde versuchen, die häufigsten Probleme, die auftreten, während der Prüfung algorithmischen auftreten Trading-Strategien in MATLAB bei der Verwendung von one8217s eigenen Grundlagen oder den Code aus der automatisierten Handel Webinare. Einfach zu bedienende GUI Let8217s mit der Tatsache beginnen, dass es keine grafische Schnittstelle, denn wenn wir davon ausgehen, dass fast der gesamte Prozess der Prüfung und Analyse von Handelsstrategien standardisiert ist (es ist 99), möchten Sie die Schnittstelle, die Ihnen hilft haben Rufen Sie die notwendigen Daten auf und starten Sie den Testvorgang mit einem Klick. Jemand (erfahrene Benutzer von MATLAB, insbesondere), könnte argumentieren, dass die Verwendung von fertigen Funktionen ist nicht schlimmer und tatsächlich sogar manchmal besser und bequemer, dass die statische GUI. It8217s möglich, aber eine GUI hat jedoch eine Reihe von Vorteilen: Für neue (und nicht nur) Benutzer von MATLAB ist es viel bequemer, eine GUI mit Schaltflächen und Eingabefeldern zu verwenden, als im Code zu suchen, daher gibt es eine GUI sogar In den MathWorks Toolboxes in den meisten Fällen, weil es bequemer ist. Es erlaubt Fokussierung nur auf den Code Ihrer Strategie, weil die Verwendung einer GUI überhaupt nicht bedeutet, dass es irgendwie Grenzen Ihrer Fähigkeit, eine Strategie zu schreiben. Also, in WFAToolbox. Haben wir die Möglichkeit geschaffen, beliebige Codes für Ihre Strategie zu schreiben, eine der MATLAB - Toolboxes zu verwenden und mehrere Assets für die Strategien wie Paarenhandel, Korbhandel oder Triplett - Arbitrage usw. zu verwenden GUI durch die Verwendung von Mustern, die einfach genug sind, um in den Code gelten und sie nicht einschränken Möglichkeiten. Um die Muster des Codes einfach zu erlernen, um Ihre Strategien zu schaffen, haben wir nicht nur eine detaillierte WFAToolbox-Dokumentation erstellt. Sondern auch WFAToolbox Video Tutorial. (Teil 3) Visualisierung des Prozesses Fortsetzung Teil 2 der Diskussion von Problemen und Lösungen in der Prüfung und Analyse von algorithmischen. (Teil 3) Visualisierung des Prozesses Fortsetzung Teil 2 der Diskussion über Probleme und Lösungen in der Prüfung und Analyse von algorithmischen Trading-Strategie in MATLAB, lade ich Sie zu diesem Beitrag über das Problem der Nichtverfügbarkeit der Visualisierung der Prozesse in modernen Software-Lösungen zum Testen von Handelssystemen zu lesen. Visualisierung des Testprozesses In meiner Arbeitserfahrung analysierte ich häufig andere populäre Plattformen für das Trading-Strategie-Testen. Wie zum Beispiel TradeStation. MetaStock. Multicharts etc. und ich war immer überrascht, wie wenig Aufmerksamkeit für die Visualisierung des Testprozesses bezahlt wurde. Die Sache ist, dass, wenn wir die Ergebnisse der Zwischen-, suboptimalen Werte der optimierten Parameter nicht sehen, wir oft Gold weg mit dem Schmutz wegwerfen. Die Sache ist, weil ein übermäßig breites Sampling, die Strategie passt die Parameter, wie wir entweder sehen, eine 8220 perfekte Strategie 8221, die im wirklichen Leben scheitert oder sehen Sie ein oder zwei Deals, die angeblich die besten sind, weil es solche Zeitintervalldaten ausgewählt wurde Wo die beste Handelsstrategie wäre 8220buy-and-hold8221, aber warum sind dann andere Strategien notwendig für die Visualisierung des Trading-Strategie-Testprozess in MATLAB (im Webinar vorgeschlagen) Als Ergebnis ohne Zwischenergebnisse zu sehen, müssen wir blind ändern Sie die Parameter Zu versuchen, die besseren Daten zu erhalten oder sehen Sie es in einigen 3D oder 4D (Farbe ist die 4. Dimension), wie in Webinaren vorgeschlagen. Die Analyse der Werte in den N-dimensionalen Räumen kann auf jeden Fall eine Alternative sein, hat aber mehrere Einschränkungen: Was passiert, wenn es mehr als 4 Dimensionen Wenn Sie sehen, welche Signale und mit welcher Frequenz sie in der Preisklasse erscheinen, haben Sie fast alle Notwendige visuelle Darstellung Ihrer Strategie: die Häufigkeit der Transaktionen, ihre Rentabilität (Einkommenskurve), die Genauigkeit der Öffnung, die Ähnlichkeit mit anderen suboptimalen Werten usw., die nicht über die Leistung im N-dimensionalen Raum gesagt werden können, wo alle nützlichen Informationen Ist in der Tat, dass der optimale Wert nicht nur eine ist, sondern es gibt einen ganzen Bereich von suboptimalen Werten in einem oder mehreren Bereichen. Während Optimierung einer Strategie in WFAToolbox Walk-Forward Analysis Toolbox für MATLAB. Wenn ein neuer optimaler Wert gefunden wird, erscheinen die Trading-Strategiesignale in der Periode in-sample und out-of-sample sofort auf dem Chart, so dass Sie immer kontrollieren können, welchen Bereich von Optionen Sie zuordnen sollten und auch die Optimierung pausieren können Ohne auf das Ende des Tests zu warten, da klar wird, dass etwas schief gegangen ist oder alles in Ordnung ist.


No comments:

Post a Comment