Friday 6 January 2017

Moving Average Quantmod

Moving Averages in R Nach meinem besten Wissen hat R keine integrierte Funktion zur Berechnung der gleitenden Mittelwerte. Mit der Filterfunktion können wir jedoch eine kurze Funktion für gleitende Mittelwerte schreiben: Wir können die Funktion auf beliebigen Daten verwenden: mav (data) oder mav (data, 11), wenn wir eine andere Anzahl von Datenpunkten angeben wollen Als die Standard-5-Plotterarbeiten wie erwartet: plot (mav (data)). Zusätzlich zu der Anzahl der Datenpunkte, über die gemittelt wird, können wir auch das Seitenargument der Filterfunktionen ändern: sides2 verwendet beide Seiten, Seiten1 verwendet nur vergangene Werte. Teilen Sie diese: Pfosten-Navigation Kommentar-Navigation Kommentar navigationLets Erhalten Sie reich sehen Sie, wie und R Ihr Wissen der Finanzmärkte bereichern können Praktische Komplettlösungen auf dem maschinellen Lernen, Datenerforschung und dem Finden von Einblick. Pakete, die in diesem Walkthrough verwendet werden - Finanzdaten - und Modellierungswerkzeuge - Handhabung zeitbasierter Datenklassen - Schneller Modellierungsalgorithmus - Funktionen unter der Kurve (AUC) Diese Komplettlösung besteht aus zwei Teilen: Der erste Teil ist eine grundlegende Einführung in quantmod und, Wenn Sie havent es vorher benutzt haben und grundlegenden Zugang zu den täglichen Börsendaten und zum Diagramm benötigen, dann youre innen für ein sehr großes Festlichkeit. Der zweite Teil geht tiefer in quantitative Finanzen durch die Nutzung quantmod für den Zugriff auf alle Aktien des NASDAQ 100 Index, um ein Vokabular von Marktbewegungen und versuchen zu prognostizieren, ob die folgenden Handelstage volumne höher oder niedriger sein wird. Quantmod steht für Quantitative Financial Modeling und Trading Framework für R Es hat viele Funktionen, so check out die Hilfedatei für eine vollständige Abdeckung oder die Quantmods offizielle Website. Lets sehen, wie Amazon in letzter Zeit getan hat: Die Funktion getSymbols hat die täglichen Daten bis Januar 2007 heruntergeladen. Die Funktion barChart zeigt die Daten nach einem themenbasierten Parameter (siehe Hilfedatei) an. Nicht schlecht für 2 Zeilen Code. Es wird besser - sehen, wie einfach es ist, ein volles Aktiendiagramm mit Indikatoren in nur 3 Zeilen Code anzeigen: Quantmod nutzt Yahoo, um seine Finanzdaten zu erhalten. Im obigen Beispiel repräsentiert GSPC den SampP 500 Index. Die meisten finanziellen Produktsymbole sind einfach wie MSFT für Microsoft. Für Indizes und andere esoterische Symbole, siehe finance. yahoolookup zu sehen, wie sie abgekürzt. ChartSeries ist einfach und zeichnet, was Symbol in den Speicher mit getSymbols heruntergeladen wurde. AddBBands Funktion wird Bollinger Bands um Ihre Preisreihe. Es gibt viele Möglichkeiten, die Anzeige anzupassen, für einige Beispiele schauen Sie sich die Quantmod Gallery an. Wenn man tiefer in quantitative Finanzen übergeht, kann ein Muster-basiertes System entworfen werden, um vorherzusagen, ob ein bestimmtes Finanzprodukt eine Erhöhung oder einen Rückgang des Volumens am folgenden Handelstag sehen wird. Nun verwenden Sie quantmod, um alle Aktien herunterzuladen, die den NASDAQ 100 Index zusammensetzen. Dann gut verschmelzen alle unsere Zeitreihen, um sie zu synchronisieren. Dies wird die Daten nach Zeit zusammenfassen und füllen Sie alle fehlenden Daten mit NA s: Seien Sie gewarnt, dass dies ein wenig Zeit dauert, wie quantmod drosselt den Download. Jedes Symbol wird im Speicher unter dem Symbolnamen geladen, daher haben wir über 100 neue Objekte im Speicher geladen, mit jeweils jahrelanger Marktdaten. Da es sich um unabhängige Zeitreihen handelt, müssen wir alles zusammenfassen und fehlende Daten füllen, damit alles in einem Datenrahmen gut passt. Nutzen Sie die Funktion merge. xts, um alle diese Objekte zeitlich zu einem Datenrahmen zusammenzufassen: Jetzt haben wir eine Handvoll jahrelanger Marktdaten für jeden Bestand im NASDAQ 100 Index. Wir müssen etwas mit ihm tun. Wurde eine Vielzahl von Maßnahmen zwischen Preis-und Volumenpunkte zu schaffen. Die Idee ist es, Lagerbewegungen als Muster zu quantifizieren, indem man einen Tag gegenüber einem vorherigen abzieht. Nun erstellen Sie eine Reihe von Unterschiede: 1 Tag versus 2 Tage vor 1 Tag versus 3 Tagen vor 1 Tag versus 5 Tagen vor 1 Tag versus vor 20 Tagen (ähnlich einem 20 Tage gleitenden Durchschnitt) Erstellen der Ergebnis-Variable Dies ist das Herz des Systems Und seine ein bisschen langweilig so festhalten. Was wir versuchen, vorherzusagen, ob das nächste Börsentage-Volumen für ein gewähltes Symbol höher oder niedriger als der aktuelle Handelstag sein wird (dies muss nicht das Volumenfeld von FISV sein, es könnte das Hoch oder Schließen eines anderen Symbols sein Die wir haben Daten): Verschieben Sie das Ergebnis versuchten zu prognostizieren, ein Handelstag mit der Lag-Funktion. Dieses fügt das Volumenfeld unseres Resultatsymbols mit einer Verzögerung von 1 Handelstag hinzu, also sein auf der gleichen Linie wie die Prädiktoren. Wir werden uns auf diesen Wert zu Trainings - und Testzwecken verlassen. Ein Wert von 1 bedeutet, dass die Lautstärke steigt, und eine 0., dass es nach unten ging: Geben Sie das Datumsfeld ein, um das Datum einzugeben, wie es aktuell vom Typzeichen ist, und sortieren Sie nach der Reihenfolge: Hier ist die Mustermacherfunktion. Dies wird unsere Rohdaten Markt und skalieren, so dass wir jedes Symbol mit jedem anderen Symbol zu vergleichen. Es subtrahiert dann die verschiedenen Tagesbereiche, die von dem Tage-Parameter angefordert werden, unter Verwendung der diff - und lag-Aufrufe und legt sie alle auf die gleiche Zeile zusammen mit dem Ergebnis. Um die Dinge noch kompatibler zu machen, kann der roundByScaler Parameter Ergebnisse abrunden. Rufen Sie die Funktion mit den folgenden Unterschieden auf und skalieren Sie sie auf 2 Dezimalstellen (dies dauert eine Weile, bis sie ausgeführt wird): Wir löschen die letzte Zeile aus unserem Datenrahmen, da sie keine Ergebnisvariable (also in der Zukunft) hat:


No comments:

Post a Comment