Monday, November 21, 2016

Kalman Handelsstrategie

Maschinelles Lernen angewendet auf Real World Quant Strategies Endlich. Implementieren fortgeschrittene Handelsstrategien mit Zeitreihenanalyse. Maschinelles Lernen und Bayes-Statistik mit den Open-Source-R - und Python-Programmiersprachen für direkte, umsetzbare Ergebnisse Ihrer Strategie-Rentabilität. Ich bin sicher, Sie haben festgestellt, die Übersättigung der Anfänger Python Tutorials und Statistiken / Maschine Lernverweise im Internet verfügbar. Nur wenige Tutorials tatsächlich Ihnen sagen, wie man sie auf Ihre algorithmischen Handelsstrategien in einer End-to-End-Mode anzuwenden. Es gibt Hunderte von Lehrbüchern, Forschungsarbeiten, Blogs und Forenbeiträgen zur Zeitreihenanalyse, Ökonometrie, Maschinenlernen und Bayessche Statistik. Fast alle von ihnen konzentrieren sich auf die Theorie. Was ist mit der praktischen Umsetzung Wie verwenden Sie diese Methode für Ihre Strategie Wie programmieren Sie diese Formel in Software I ve schriftlich Advanced Algorithmic Trading, um diese Probleme zu lösen. Es bietet eine reale Anwendung der Zeitreihenanalyse, des statistischen maschinellen Lernens und der Bayes'schen Statistik, um direkt profitabel handelnde Strategien mit frei verfügbarer Open Source Software zu produzieren. Sie re glücklich mit Basic-Programmierung, sondern wollen Ihre Fähigkeiten anwenden, um mehr Fortgeschrittene Quant Trading Wenn Sie meine vorherige Buch gelesen haben, erfolgreiche Algorithmic Trading. Haben Sie eine Chance gehabt, einige grundlegende Python-Fähigkeiten zu lernen und sie auf einfache Handelsstrategien anwenden. Allerdings haben Sie über einfache Strategien gewachsen und wollen beginnen, Ihre Rentabilität zu verbessern und Einführung einige robuste, professionelle Risikomanagement-Techniken, um Ihr Portfolio. Im fortgeschrittenen algorithmischen Handel nehmen wir einen genaueren Blick auf einige der populärsten Quant-Finanzbibliotheken für Python und R, einschließlich Pandas. Scikit-lernen. Statsmodels Zeitfolgen . Rugarch und Prognose unter vielen anderen. Wir werden diese Bibliotheken nutzen, um eine Vielzahl von Methoden in den Bereichen Bayes'sche Statistik, Zeitreihenanalyse und maschinelles Lernen zu betrachten und diese Methoden direkt in der Strategienforschung zu verwenden. Wir wenden diese Bibliotheken in einem end-to-end vectorized Backtesting und Risikomanagement Szenario an. So dass Sie problemlos in Ihre aktuelle Handels-Infrastruktur. Keine Notwendigkeit für teure Off-The-Shelf Quant Software Sie können eine Menge Geld ausgegeben haben einige anspruchsvolle Backtesting-Tools in der Vergangenheit und letztlich fand sie schwer zu bedienen und nicht relevant für Ihre Art von quant trading. Advanced Algorithmic Trading nutzt vollständig freie Open-Source-Software, einschließlich Python - und R-Bibliotheken, die sachkundige und freundliche Communities hinter sich haben. Noch wichtiger ist, dass wir diese Bibliotheken direkt auf echte Handelsprobleme wie Alpha-Generierung und Portfolio-Risikomanagement anwenden. Aber ich habe keinen PhD in Statistik. Während das maschinelle Lernen, die Zeitreihenanalyse und die Bayes'sche Statistik quantitative Themen sind, enthalten sie auch eine Fülle von intuitiven Methoden, von denen viele ohne Rückgriff auf fortgeschrittene Mathematik erklärt werden können. In Advanced Algorithmic Trading haben wir nicht nur die Theorie, um Ihnen zu verstehen, was Sie implementieren (und verbessern Sie es selbst), sondern auch detaillierte Schritt-für-Schritt-Codierung Tutorials, die die Gleichungen zu nehmen und direkt anwenden, um echte Strategien. So, wenn Sie viel bequemer Codierung als mit Mathematik, können Sie leicht folgen Sie den Snippets und beginnen Sie arbeiten, um Ihre Strategie Rentabilität zu verbessern. Über den Autor Also wer s hinter diesem Hallo Mein Name ist Mike Halls-Moore und ich bin der Kerl hinter QuantStart und dem Advanced Algorithmic Trading Paket. Seitdem ich als quantitativer Trading-Entwickler in einem Hedgefonds arbeite, bin ich begeistert von der quantitativen Handelsforschung und - umsetzung. Ich begann die QuantStart-Community und schrieb Advanced Algorithmic Trading, um praktizierende Retail-Quants den Methoden der quantitativen Hedgefonds und Asset Management-Firmen auszusetzen. Welche Themen sind im Buch enthalten Zeitreihenanalyse Sie erhalten einen kompletten Anfängerleitfaden zur Zeitreihenanalyse, einschließlich Asset-Return-Eigenschaften, serieller Korrelation, dem White-Noise - und Random-Walk-Modell. Zeitreihenmodelle I ll bieten eine gründliche Diskussion der Autoregressive Moving Average (ARMA) und Autoregressive Conditional Heteroskedastic (ARCH) Modelle unter Verwendung der R statistischen Umgebung. Cointegrierte Zeitreihen Wir werden die Diskussion über kointegrierte Zeitreihen von Successful Algorithmic Trading fortsetzen und den Johansen-Test betrachten und ihn auf ETFs Strategien anwenden. Sie finden eine eingehende Diskussion über State-Space-Modelle wie die Kalman-Filter und die Hidden-Markov-Modell, wie auf den quantitativen Handel angewendet. High Frequency Data Sie erhalten eine Einführung in den Handel mit höheren Frequenzen und eine eingehende Betrachtung der Marktstruktur in den Aktien - und Devisenmärkten. Wir entdecken genau, was statistisches Maschinelles Lernen ist, einschließlich kontrolliertes und unüberwachtes Lernen, und wie sie uns helfen können, profitable systematische Handelsstrategien zu produzieren. Der Bias-Variance Tradeoff Ich spreche über eines der wichtigsten Konzepte des Maschinellen Lernens, nämlich den Bias-Varianz-Trade-Off, und wie wir seine Effekte durch Cross-Validierung minimieren können. Ich bespreche eines der vielseitigsten ML-Modellfamilien, nämlich die Entscheidungsbaum-, Random-Wald - und Boosted-Tree-Modelle, und wie wir sie anwenden können, um Asset-Returns vorherzusagen. Wir diskutieren die Familie der Support Vector Classifiers, einschließlich der Support Vector Machine, und wie können wir sie auf finanzielle Datenreihe anwenden. Natürliche Sprachverarbeitung Wir diskutieren Stimmungsanalyse und wie wir Trading-Strategien von natürlichen Sprachdaten mit Hilfe von Clustering und Cosinus Ähnlichkeit aufbauen können. Ich werde erklären, wie Sie unbeaufsichtigte Lerntechniken wie PCA, K-Means Clustering und NMF auf große Datensätze anwenden können, um sie leichter zu analysieren. Ich werde eine vollständige Einführung in die Bayesian Inferenz in der Wahrscheinlichkeit und warum es uns einen riesigen Vorteil, wenn die Umsetzung fortgeschrittener Modelle. Markov-Chain Monte Carlo Sie lernen mehr über MCMC, einschließlich Gibbs Sampling und Metropolis-Hastings, dem Hauptalgorithmus für die Probenahme in Bayes-Statistiken mit Hilfe der PyMC3-Software. Wir definieren und diskutieren Bayesian Networks, eine Art von grafischen Wahrscheinlichkeitsmodell. Wir setzen Bayes Nets auf unser Portfolio. Ich werde eine Einführung in diesen neuen, aber spannenden Bereich der Statistik und des Handels geben, in dem wir Bayes'sche Methoden auf ökonometrische Daten anwenden. Welche technischen Fertigkeiten werden Sie lernen? R: Zeitreihenanalyse Sie werden in R eingeführt, einer der am häufigsten genutzten Forschungsumgebungen in quantitativen Hedgefonds und Vermögensverwaltern. Wir nutzen viele Bibliotheken einschließlich Zeitschriften. Rugarch und Prognose. Wir werden R und Python verwenden, um unsere Strategie-Performance im Laufe der Zeit abzuschätzen, so dass wir Strategieabklingkurven erzeugen können. Dies wird dazu beitragen, festzustellen, ob eine Strategie im Ruhestand oder noch lebensfähig und rentabel sein muss. Wir werden tiefer in die erweiterten Funktionen von scikit-lernen. Python s ML-Bibliothek, einschließlich der Parameter-Optimierung, Cross-Validierung, Parallelisierung und produzieren anspruchsvolle Vorhersagemodelle. Erstellung effizienter vektorisierter Backtests für die Vorforschung mit realistischen Transaktionskostenannahmen. Mit R und Pandas, ohne die Notwendigkeit, ein volles ereignisgesteuertes System zu implementieren. Wir stellen PyMC3 vor. Das flexible Bayes'sche Modellierungswerkzeug und Markov Chain Monte Carlo Sampler, die uns helfen, eine effektive Bayessche Inferenz für unsere Risikomanagementinfrastruktur und Handelsstrategien durchzuführen. Wir werden unsere Risikomanagement-Diskussion aus früheren Büchern fortsetzen und auf Regime-Erkennung und stochastische Volatilität als ein Mittel zur Ermittlung unserer Risikostufe und Portfolioverteilung eingehen. Welche Trading - und Risikomanagementstrategien werden implementiert? Wir betrachten ein lineares Zeitreihenmodell auf Basis des ARIMA GARCH-Modells auf einer Reihe von Aktienindexindizes und sehen, wie sich die Performance der Strategie im Laufe der Zeit verändert. Kalman-Filter für Paare-Handel Wir wenden den Bayesschen Kalman-Filter auf kointegrierte Zeitreihen an, um das Hedging-Verhältnis zwischen zwei Paaren dynamisch zu schätzen, wodurch eine statische Schätzung eines traditionellen Hedge-Verhältnisses verbessert wird. HFT-Bid-Ask-Spread-Vorhersage Wir verwenden fortgeschrittene Zeitreihen und maschinelle Lernmethoden zur Prognose der Bid-Ask-Spread in Hochfrequenz-Forex-Daten, um die besten Perioden für die Ausführung von Trades zu bestimmen. Wir werden stochastische Volatilitätsmodelle verwenden, um die Volatilität zu prognostizieren, um ein Regime-Erkennungsmodell zu erzeugen, das uns hilft, Zeiten mit höherem und niedrigerem Risiko zu identifizieren. Asset Returns Forecasting mit ML Wir verwenden zahlreiche maschinelle Lernmethoden, um die Vermögensrichtung und - niveau sowohl auf Aktien als auch auf Forex-Märkten zu prognostizieren, indem wir uns gegen andere Faktoren zurückziehen. Wir verwenden SVMs und andere ML-Methoden, um einen Sentimentanalyse-Signalgenerator auf der Grundlage von Social-Media-Daten und Blog-Daten, die Anwendung auf flüssige Aktien und ETFs zu bauen. Das Buch ist derzeit für Rough Cut verfügbar Pre-Order Release Was bedeutet grober Schnitt Pioneered by O Reilly Media, das Konzept von Rough Cut bedeutet, dass Sie das Buch heute für 20 aus dem vollständigen Release-Preis vorbestellen und die aktuelle Teil erhalten können Fertigen Schnitt des Buches, wie es steht (250 Seiten). Darüber hinaus können Sie auf Updates für das Buch zugreifen, wie ich sie schreibe. Sobald das Buch fertig ist, erhalten Sie eine vollständige digitale Kopie. Wenn Sie für das Quellcode-Paket entscheiden, erhalten Sie neue R - und Python-Code, wie es auch geschrieben wird. Wann wird das Buch veröffentlicht werden Die endgültige Vollversion von Advanced Algorithmic Trading wird Ende 2016 veröffentlicht werden. Ich bin derzeit noch schriftlich etwas von dem Material, sowie die R-und Python-Code. Durch Vorbestellung der Rohschnitt erhalten Sie Zugriff auf Updates, wie sie erscheinen, und das vollständige Buch nach der Freigabe. Warum sind Sie freigeben einen groben Schnitt Ich benutzte die raue Schnitt Ansatz mit meinen anderen Büchern C Für quantitative Finanzen und erfolgreiche Algorithmic Trading. Es war sehr nützlich für mich und das Publikum des Buches. Viele Leute machten Vorschläge beim Lesen des groben Schnittes, der es in die abschließende Freigabe machte. Ich habe eine riesige Anzahl von Ihnen E-Mail mich fragen, um Advanced Algorithmic Trading in eine grobe Schnittform, so dass Vorschläge für Material für die endgültige Version gemacht werden können. Müssen Sie ein Programmierer werden Das Buch geht davon aus, dass Sie grundlegende Programmierkenntnisse haben. Sie sollten Verzweigung, Looping und die Grundlagen der Objektorientierung verstehen. Allerdings ist die Mehrheit des Buches geschrieben, um so eigenständig wie möglich zu sein und der Code ist einfach zu folgen. Fragen Wo können Sie mehr über mich lernen Ich habe über einhundertfünfzig Stellen auf QuantStart für Quant-Trading, Quant-Karriere, Quant-Entwicklung, Datenwissenschaft und Maschinenlernen geschrieben. Sie können die Archive lesen, um mehr über meine Methoden und Strategien zu lernen. Was, wenn Sie nicht zufrieden mit dem Buch sind Während ich denke, finden Sie Advanced Algorithmic Trading sehr nützlich in Ihrer quantitativen Trading Ausbildung, glaube ich auch, dass, wenn Sie nicht 100 mit dem Buch aus irgendeinem Grund zufrieden sind, können Sie es zurückgeben keine Fragen gestellt vollständige Rückerstattung. Das Buch ist nur im Adobe PDF-Format verfügbar, während der Code selbst als Zip-Datei von voll funktionsfähigen R - und Python-Skripten zur Verfügung steht, wenn Sie die Option Book Software erwerben. Welches Paket sollten Sie kaufen Dies hängt meistens von Ihrem Budget. Das Buch mit vollem zusätzlichen Quellcode ist das Beste, wenn Sie in den Code sofort graben wollen, aber das Buch selbst enthält eine riesige Menge an Code-Snippets, die Ihren quantitativen Handel unterstützen wird. Kann ich kontaktiert werden Natürlich Wenn Sie nach dem Lesen dieser Seite noch Fragen haben, setzen Sie sich bitte mit mir in Verbindung und ich werde mein Bestes tun, um Ihnen eine Antwort zu geben. Bitte beachten Sie jedoch die Artikelliste. Die Ihnen auch helfen können. Brauchen Sie einen Abschluss in Mathematik Die Mehrheit des Buches erfordert ein Verständnis von Kalkül, lineare Algebra und Wahrscheinlichkeit. Allerdings sind viele der Methoden intuitiv und der Code kann ohne Rückgriff auf fortgeschrittene Mathematik verfolgt werden. Wählen Sie Ihre bevorzugte Vorbestellung Rough Cut Paket DAS BUCH FÜR 39 49 Das Buch im PDF-Format Sparen Sie 10 auf den vollen Preis von 49 DIE BUCHSOFTWARE FÜR 79 99 Das Buch im PDF-Format Sparen Sie 20 auf den vollen Preis von 99 Full R und Python Quellcode Pair Trading Lab bietet fortschrittliche Tools für den Aufbau und Handel eigener Pärchenhandelsportfolios an: Datenbank von mehr als 10.000.000 voranalysierten Paaren Fortgeschrittener Online-Backtester Online-Cointegrations-Analysator Privates Repository von Backtests, Studien und Paaren Portfolio-Organisator Backtester Automatisierte Handelsplattform Was ist Pairs Handelspaare Handel ist eine marktneutrale Handelsstrategie, die es Händlern ermöglicht, von nahezu allen Marktbedingungen zu profitieren: Aufwärtstrend, Abwärtstrend oder Seitwärtsbewegung. Diese Strategie wird als eine statistische Arbitrage - und Konvergenzhandelsstrategie kategorisiert. Die Strategie überwacht die Performance von zwei historisch korrelierten Wertpapieren. Wenn die Korrelation zwischen den beiden Wertpapieren vorübergehend schwächer wird, d. h. eine Aktie bewegt sich, während die andere sich nach unten bewegt, würde der Paar-Handel sein, die Outperformance-Aktie zu kürzen und die Underperformance zu verlängern, wobei wetten, dass die Spreizung zwischen den beiden schließlich zusammenläuft. Die Divergenz innerhalb eines Paares kann durch vorübergehende Nachfrage - / Nachfrageänderungen, große Kauf - / Verkaufsaufträge für eine Sicherheit, Reaktion auf wichtige Neuigkeiten über eines der Unternehmen und so weiter verursacht werden. Lesen Sie mehr bei Wikipedia. Warum Handelspaare Dank der Marktneutralität kann diese Handelsstrategie sehr sicher (wenn diversifiziert) und immun gegen globale Marktkrise sein, auch wenn der gesamte Markt oder Sektor fällt. Wenn Sie genug Paare gleichzeitig tauschen, könnte sich Ihr Paar-Handelsportfolio auch in schwierigen Marktsituationen gut behaupten. Lassen Sie uns einen Blick auf Beispiel nehmen: Wir nehmen diese beiden Aktien - GlaxoSmithKline plc und Novartis AG. Hierbei handelt es sich um Bestände an Unternehmen im Gesundheitswesen, deren Preise relativ korreliert sind (Korrelation 0,73 für die letzten 5 Jahre). Nun, lassen Sie uns einen Backtest der schwierigen Zeitspanne 2008-2009, wo der Aktienmarkt sank eine Menge wegen der Krise: Wie Sie sehen können, fielen die Preise für beide Aktien erheblich in diesem Zeitraum (d. h. NVS Preis sank von schrecklichen 38). Aber wenn Sie diese Aktien als Paar gehandelt, würden Sie gewinnen erstaunlich 128 Anfangskapital (unter Berücksichtigung 50 Marge) mit Drawdown nur 6,4, die ein ausgezeichnetes Ergebnis für diese schwierige Zeit ist Wie diese Website Ihnen helfen Diese Website stellt einen kompletten Satz Der Werkzeuge, die Sie benötigen, um Ihr eigenes Paar trading-Portfolio, alles in einem. Sie können es verwenden, um Backtests oder Studien von Paaren zu erstellen - Sie können überprüfen, Paar Handel Idee, die Sie tatsächlich haben, überprüfen Sie das Verhalten und die Robustheit der Paare Test-Paare für Cointegration online, analysieren Cointegration Residuen Suche unserer Datenbank von mehr als 10.000.000 voranalysierten US-Markt Paare mit komplexen Filtern (einschließlich Kointegrations - und Profitmassnahmen) 1 erstellen und pflegen Listen interessanter Paare, bewerten sie, geben ihnen Tags zu schaffen, pflegen und backtest Portfolios von Paarstrategien 2 Führen Sie Ihre Portfolios automatisch, live, in Echtzeit mit unserer Anwendung aus PTL Trader 2 1 nur für Premium-Mitglieder verfügbar 2 verfügbar für Premium-Mitglieder. Beschränkungen gelten für regelmäßige Benutzer Neue Website-Features ARIMA GARCH Handelsstrategie auf dem S P500 Börsenindex mit R Von Michael Halls-Moore am 7. Oktober 2015 In diesem Artikel möchte ich Ihnen zeigen, wie die Anwendung der gesamten gewonnenen Erkenntnisse in der Vergangenheit Zeitreihen-Analyseposten zu einer Handelsstrategie auf dem S P500 US-Aktienmarktindex. Wir werden sehen, dass wir durch die Kombination der ARIMA - und GARCH-Modelle langfristig einen Buy-and-Hold-Ansatz deutlich übertreffen können. Strategie-Überblick Die Idee der Strategie ist relativ einfach, aber wenn du mit ihm experimentieren willst, schlage ich vor, die vorherigen Beiträge auf Zeitreihenanalyse zu lesen, um zu verstehen, was Sie ändern würden Die Strategie wird auf einer rollenden Grundlage durchgeführt: Für jedes Tag, n werden die vorangegangenen k Tage der differenzierten logarithmischen Renditen eines Börsenindex als Fenster für die Anpassung eines optimalen ARIMA - und GARCH-Modells verwendet. Das kombinierte Modell wird verwendet, um eine Vorhersage für den nächsten Tag Rückkehr zu machen. Wenn die Vorhersage negativ ist, wird die Aktie beim vorigen Schließen kurzgeschlossen, wenn sie positiv ist, ist sie sehnlich. Wenn die Vorhersage die gleiche Richtung wie der vorhergehende Tag ist, dann wird nichts geändert. Für diese Strategie habe ich die maximal verfügbaren Daten von Yahoo Finance für den S P500 verwendet. Ich habe k 500 genommen, aber dies ist ein Parameter, der optimiert werden kann, um die Leistung zu verbessern oder reduzieren Drawdown. Der Backtest wird in einer geradlinigen vektorisierten Weise unter Verwendung von R durchgeführt. Es wurde noch nicht in dem Python-ereignisgesteuerten Backtester implementiert. Daher würde die Performance, die in einem echten Handelssystem erzielt wird, wahrscheinlich etwas geringer sein, als Sie hier erreichen könnten, aufgrund von Provisionen und Schlupf. Strategie Umsetzung Zur Umsetzung der Strategie werden wir einige der Code, den wir zuvor in der Zeitreihe Analyse Artikel-Serie sowie einige neue Bibliotheken einschließlich Rugarch erstellt haben. Die mir von Ilya Kipnis bei QuantStrat Trader vorgeschlagen wurde. Ich gehe die Syntax Schritt für Schritt durch und präsentiere dann die vollständige Implementierung am Ende sowie einen Link zu meinem Datensatz für den ARIMA GARCH Indikator. Ich habe die letzteren aufgenommen, weil es hat mich ein paar Tage auf meinem dekstop PC, um die Signale zu generieren Sie sollten in der Lage sein, meine Ergebnisse in Vollständigkeit zu replizieren, da der Code selbst nicht zu komplex ist, obwohl es einige Zeit dauern, zu simulieren, wenn Sie führen es in vollem Umfang. Die erste Aufgabe besteht darin, die notwendigen Bibliotheken in R zu installieren und zu importieren: Wenn Sie bereits die Bibliotheken installiert haben, können Sie sie einfach importieren: Damit werden die Strategien auf den S P500 übertragen. Wir können quantmod verwenden, um Daten ab 1950 für den Index zu erhalten. Yahoo Finance nutzt das Symbol GPSC. Wir können dann die differenzierten logarithmischen Renditen des Schlusskurses des S P500 erstellen und den anfänglichen NA-Wert ausstreifen: Wir müssen einen Vektor erstellen, um die Prognosewerte zu bestimmten Terminen zu speichern. Wir setzen die Länge foreLength gleich der Länge der Handelsdaten, die wir minus k haben, die Fensterlänge: In diesem Stadium müssen wir jeden Tag in den Handelsdaten durchlaufen und ein passendes ARIMA - und GARCH - Modell in das Rollfenster von Länge k. Angesichts der Tatsache, dass wir versuchen, 24 separate ARIMA passt und passen ein GARCH-Modell, für jeden Tag kann die Indikator kann eine lange Zeit zu generieren. Wir verwenden den Index d als Schleifenvariable und Schleife von k auf die Länge der Handelsdaten: Anschließend erstellen wir das Rollfenster, indem wir die S P500-Renditen und die Werte zwischen 1 d und kd wählen, wobei k 500 für diese Strategie gilt: Wir verwenden dieselbe Prozedur wie im ARIMA-Artikel, um alle ARMA-Modelle mit p in und q in, mit Ausnahme von p, q 0, zu durchsuchen. Wir wickeln den arimaFit-Aufruf in einem R tryCatch-Ausnahmebehandlungsblock ein, um sicherzustellen, dass, wenn wir keine Anpassung für einen bestimmten Wert von p und q erhalten, wir ihn ignorieren und zur nächsten Kombination von p und q übergehen. Beachten Sie, dass wir den integrierten Wert von d 0 setzen (dies ist ein anderer d zu unserem Indexierungsparameter) und als solche passen wir wirklich zu einem ARMA-Modell. Eher als ein ARIMA. Das Looping-Verfahren wird uns das am besten passende ARMA-Modell im Sinne des Akaike-Informationskriteriums liefern, das wir dann für unser GARCH-Modell einsetzen können: Im nächsten Codeblock werden wir die Rugarch-Bibliothek verwenden GARCH (1,1) - Modell. Die Syntax dafür erfordert, dass wir ein ugarchspec Spezifikationsobjekt aufbauen, das ein Modell für die Varianz und den Mittelwert annimmt. Die Varianz empfängt das GARCH (1,1) - Modell, während der Mittelwert ein ARMA (p, q) - Modell annimmt, wobei p und q oben gewählt sind. Wir wählen auch die gesendete Verteilung für die Fehler. Sobald wir die Spezifikation gewählt haben, führen wir die eigentliche Anpassung von ARMA GARCH mit dem Befehl ugarchfit aus, der das Spezifikationsobjekt, die k Rückkehr des S P500 und einen numerischen Optimierungslöser übernimmt. Wir haben uns für Hybrid entschieden. Die verschiedene Löser versucht, um die Wahrscheinlichkeit der Konvergenz zu erhöhen: Wenn das GARCH-Modell nicht konvergiert, dann setzen wir einfach den Tag, um eine lange Vorhersage zu erzeugen, was eindeutig eine Vermutung ist. Wenn jedoch das Modell konvergiert, geben wir die Vorhersagerichtung (1 oder -1) von morgen und morgen als String aus, an welchem ​​Punkt die Schleife geschlossen wird. Um die Ausgabe für die CSV-Datei vorzubereiten, habe ich einen String erstellt, der die Daten durch ein Komma getrennt mit der Prognose-Richtung für den folgenden Tag enthält: Der vorletzte Schritt ist die Ausgabe der CSV-Datei auf den Datenträger. Dies ermöglicht es uns, die Indikator zu nehmen und es in alternative Backtesting-Software für die weitere Analyse verwenden, wenn dies gewünscht: Es gibt jedoch ein kleines Problem mit der CSV-Datei, wie es jetzt steht. Die Datei enthält eine Liste von Daten und eine Vorhersage für die morgige Richtung. Wenn wir diese in den darunter liegenden Backtest-Code laden würden, würden wir tatsächlich eine Vorausschau-Bias einführen, da der Vorhersagewert Daten darstellen würde, die zum Zeitpunkt der Vorhersage nicht bekannt waren. Um dies zu berücksichtigen, müssen wir einfach den vorhergesagten Wert um einen Tag verschieben. Ich habe dies mit Python einfacher gefunden. Da ich nicht annehmen möchte, dass du irgendwelche speziellen Bibliotheken (wie Pandas) installiert hast, habe ich es zu reinem Python gehalten. Hier ist das kurze Skript, das dieses Verfahren ausführt. Stellen Sie sicher, dass es im gleichen Verzeichnis wie die Datei "forecasts. csv" ausgeführt wird: An dieser Stelle haben wir nun die korrigierte Indikatordatei, die in den Prognosen new. csv gespeichert ist. Da dies sehr viel Zeit benötigt, um zu berechnen, habe ich die vollständige Datei hier für Sie heruntergeladen: Strategy Results Nachdem wir unsere CSV-Datei erzeugt haben, müssen wir ihre Performance mit Buy Hold vergleichen. Zuerst lesen wir das Kennzeichen aus der CSV-Datei und speichern es als spArimaGarch: Wir erstellen dann einen Schnittpunkt der Daten für die ARIMA GARCH-Prognosen und den ursprünglichen Satz von Renditen vom S P500. Wir können dann die Rendite für die ARIMA GARCH-Strategie berechnen, indem wir das Prognosezeichen (oder -) mit der Rendite selbst multiplizieren: Wenn wir die Renditen aus der ARIMA GARCH-Strategie haben, können wir sowohl Eigenkapitalkurven für das ARIMA GARCH-Modell als auch für Buy Hold erstellen. Schließlich kombinieren wir sie zu einer einzigen Datenstruktur: Schließlich können wir den Xyplot-Befehl verwenden, um beide Eigenkapitalkurven auf demselben Grundstück darzustellen: Die Eigenkapitalkurve bis zum 6. Oktober 2015 ist wie folgt: Wie Sie sehen können, über 65 Jahre Hat die ARIMA GARCH-Strategie die Buy-Hold-Outperformance deutlich übertroffen. Allerdings können Sie auch sehen, dass die Mehrheit der Gewinn zwischen 1970 und 1980. Beachten Sie, dass die Volatilität der Kurve ist sehr minimal, bis die frühen 80er Jahre, an welcher Stelle die Volatilität deutlich erhöht und die durchschnittlichen Renditen sind weniger beeindruckend. Die Eigenkapitalkurve verspricht für die gesamte Periode eine sehr gute Performance. Allerdings wäre diese Strategie tatsächlich handelbar gewesen. Zunächst einmal betrachten wir die Tatsache, dass das ARMA-Modell nur 1951 veröffentlicht wurde. Es war nicht wirklich weit verbreitet bis in die 1970er Jahre, als Box Jenkins es in ihrem Buch diskutierte. Zweitens wurde das ARCH-Modell bis Anfang der 80er Jahre von Engle nicht entdeckt und GARCH selbst wurde 1986 von Bollerslev veröffentlicht. Drittens wurde dieser Backtest tatsächlich an einem Börsenindex durchgeführt und ist kein physisch handelbares Instrument. Um Zugang zu einem Index wie diesem zu erhalten, wäre es notwendig gewesen, S P500 Futures oder einen replizierten Exchange Traded Fund (ETF) wie SPDR zu handeln. Daher ist es wirklich so angebracht, solche Modelle auf eine historische Serie vor ihrer Erfindung anzuwenden. Eine Alternative ist, die Anwendung der Modelle auf neuere Daten zu beginnen. In der Tat können wir die Performance in den letzten zehn Jahren betrachten, vom 1. Januar 2005 bis heute: Wie Sie sehen können, bleibt die Equity-Kurve unterhalb einer Buy-Hold-Strategie für fast 3 Jahre, aber während des Börsencrash von 2008/2009 Tut außerordentlich gut. Dies macht Sinn, weil es wahrscheinlich ist, eine signifikante serielle Korrelation in diesem Zeitraum und es wird gut durch die ARIMA und GARCH Modelle erfasst werden. Sobald sich der Markt nach dem Jahr 2009 wieder erholt hat und in den scheinbar stochastischeren Trend eintritt, beginnt die Modellleistung wieder zu leiden. Beachten Sie, dass diese Strategie leicht auf verschiedene Börsenindizes, Aktien oder andere Anlageklassen angewendet werden kann. Ich ermutige Sie dringend, die Erforschung anderer Instrumente auszuprobieren, da Sie wesentliche Verbesserungen der hier präsentierten Ergebnisse erhalten können. Nächste Schritte Nachdem wir nun die ARIMA - und GARCH-Modellfamilie besprochen haben, möchte ich die Analyse der Zeitreihenanalyse fortsetzen, indem ich Langzeitgedächtnisprozesse, Zustandsraummodelle und kointegrierte Zeitreihen betrachte. Diese nachfolgenden Bereiche der Zeitreihen werden uns Modelle vorstellen, die unsere Prognosen über jene hinaus verbessern können, die ich hier vorgestellt habe, die unsere Handelsrentabilität signifikant erhöhen und / oder das Risiko reduzieren werden. Hier ist der vollständige Eintrag für die Indikatorgenerierung, Backtesting und Plotten: Und der Python-Code, der für die Prognosen. csv vor der Reimportierung gelten soll: Michael Halls-Moore Mike ist der Begründer von QuantStart und beteiligt sich in der quantitativen Finanzindustrie für die In den letzten fünf Jahren, vor allem als Quant-Entwickler und später als Quant Trader Consulting für Hedgefonds. In Verbindung stehende Artikel


No comments:

Post a Comment