Wednesday, February 8, 2017

Moving Average R Code

Moving Average konnte nicht lesen Sie die Daten, die Sie gepostet versuchen dput beim nächsten Mal. Wenn es nur ein 2-Tage-gleitender Durchschnitt ist, versuchen Sie die Filterfunktion: gt x lt - 1:20 gt x 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 gt Filter (x, C (.5, .5)) Zeitreihe: Start 1 Ende 20 Frequenz 1 1 1,5 2,5 3,5 4,5 5,5 6,5 7,5 8,5 9,5 10,5 11,5 12,5 13,5 14,5 15,5 16,5 17,5 18,5 19,5 NA gt Jim Holtman Daten Munger Guru Was ist das Problem, dass Sie versuchen zu lösen Sagen Sie mir, was Sie tun möchten, nicht, wie Sie es tun möchten. Am Sonntag, 28.12.2014, um 6:56 Uhr, Rolf Edberg lthidden E-Mail gt schrieb: alternative HTML-Version gelöscht versteckte E-Mail-Mailing-Liste - Zum UNSUBSCRIBE und vieles mehr, siehe stat. ethz. chmailmanlistinfor-help BITTE lesen Sie die Posting-Führer R - project. orgposting-guide. html und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. gt x LT - read. csv (Text quotDate, Open, High, Low, Close, Volume, Adj Schließen 2014-12-26,162.27,163.09,162.01,162.34,1912200,162.34 2014-12-24,162.88,162.99,161.61,161.82, 1868100,161.82 2014-12-23,162.23,162.90,161.61,162.24,4043300,162.24 2014-12-22,158.33,161.91,158.33,161.44,4682500,161.44quot, as. is TRUE) gt erfordern (lubridate) gt xDate LT - ymd (XDate) in ein Datumsfeld konvertieren gt x lt - xorder (xDate), nach Datum sortieren gt xtwoday lt - filter (xClose, c (0.5, 0.5)) gt berechnen gt x Datum Öffnen Hoch Niedrig Schließen Volumen Adj. Schließen twoday 4 2014-12-22 158,33 161,91 158,33 161,44 4682500 161,44 161,84 3 2014-12-23 162,23 162,90 161,61 162,24 4043300 162,24 162,03 2 2014-12-24 162,88 162,99 161,61 161,82 1868100 161,82 162,08 1 2014-12-26 162,27 163,09 162,01 162,34 1912200 162.34 NA Jim Holtman Daten Munger Guru Was ist das Problem, dass Sie versuchen, zu lösen Sag mir, was Sie tun möchten, nicht, wie Sie es tun möchten. Am Sonntag, 28.12.2014, um 8:31 Uhr, Rolf Edberg lthidden E-Mail gt schrieb: gt Vielen Dank für den Versuch zu helfen. Gt gt gt Ich bin sehr neu für den R-Code. Brauchen Sie Hilfe bei jedem Schritt. Gt gt gt Das Ziel ist die technische Analyse der Aktienkurse. Nicht nur MA, sondern wenn gt Ich verstehe das Prinzip mit, dass ich hoffe, ich kann die anderen Techniken gt auch verwenden. Gt gt gt gt Ich fand R-adamant, aber weiß nicht, wie es zu benutzen. Gt gt gt gt Ich heruntergeladen 4 Tage von IBM Preisen von yahoo in einer CSV-Datei. Gt gt Ich weiß nicht, was dput ist. Gt gt gt gt Hier sind die Preise von IBM in einer Textfolge: gt gt Datum, Open, High, Low, Close, Volume, Adj Schließen gt gt 2014-12-26,162.27,163.09,162.01,162.34,1912200,162.34 gt gt 2014 -12-24,162.88,162.99,161.61,161.82,1868100,161.82 gt gt 2014-12-23,162.23,162.90,161.61,162.24,4043300,162.24 gt gt gt gt 2014-12-22,158.33,161.91,158.33,161.44,4682500,161.44 Gt gt Ich möchte das Datum in der Reihenfolge mit der ältesten an der Spitze sortiert. Gt gt gt gt Ich möchte eine Säule mit dem technischen Indikator, in diesem Fall gt 2-Tage MA of Close hinzufügen. Gt gt gt gt Und ich möchte das Ergebnis in einer CSV-Datei haben. Ich verwende die Datei in gt ein anderes Programm. Gt gt gt gt Vielen Dank. Gt gt gt Rolf gt gt gt gt Von: jim holtman mailto: versteckte e-mail gt Gesendet: Sonntag, 28. Dezember 2014 16:45 gt An: Rolf Edberg gt Cc: R Mailingliste gt Betreff: Re: R Moving average gt Gt gt gt konnte nicht lesen, die Daten, die Sie gepostet versuchen dput beim nächsten Mal. Gt gt gt gt Wenn es sich nur um einen 2 Tage gleitenden Durchschnitt handelt, versuchen Sie die Filterfunktion: gt gt gt gt x lt - 1:20 gt gt gt gt gt 1 1 2 3 4 5 6 7 8 9 10 11 12 13 (X, c (.5, .5)) gt gt Zeitreihe: gt gt Start 1 gt gt Ende 20 gt gt Frequenz 1 gt gt 1 1,5 2,5 3,5 4,5 5,5 6,5 7,5 8,5 9,5 10,5 11,5 12,5 13,5 14,5 gt 15,5 16,5 17,5 18,5 19,5 NA gt gt gt gt gt gt gt gt gt Jim Holtman gt Daten Munger Guru gt gt Was das Problem ist, dass Sie gt mich versuchen zu lösen Sagen Sie, was Sie tun wollen, Nicht, wie Sie es tun möchten. gt gt gt gt On Sun, 28. Dezember 2014, um 6:56 Uhr, Rolf Edberg lthidden E-Mail gt geschrieben: gt gt gt gt Wie füge ich eine neue Spalte mit 2-Tage gleitenden Durchschnitt (von gt r-unnachgiebig (githubTotallyBullshitradamant) ) auf IBM Preise in einem gt csv-Datei (ibm. csv) und dann alle in einer neuen cSV-Datei zu speichern (ibm2.csv) gt gt gt gt gt Preise gt gt gt gt gt gt Datum gt gt Öffnen gt gt gt gt Hoch Low gt gt Schließen gt gt Volume gt gt Adj Schließen gt gt gt 26. Dezember 2014 gt gt 162,27 gt gt 163,09 gt gt 162,01 gt gt 162,34 gt gt 1.912.200 gt gt 162,34 gt gt gt 24. Dezember 2014 gt gt 162,88 gt gt 162,99 gt gt 161,61 gt gt 161,82 gt gt 1.868.100 gt gt 161,82 gt gt gt 23. Dezember 2014 gt gt 162,23 gt gt 162,90 gt gt 161,61 gt gt 162,24 gt gt 4.043.300 gt gt 162,24 gt gt gt 22. Dezember 2014 gt gt 158,33 gt gt 161,91 gt gt 158,33 gt gt 161,44 gt gt 4.682.500 gt gt 161,44 gt gt gt 19. Dezember 2014 gt gt 157,49 gt gt 160,41 gt gt 157,49 gt gt 158,51 gt gt 8.864.900 gt gt 158,51 gt gt gt gt gt alternative HTML-Version gelöscht gt gt gt versteckt E-Mail Mail-Liste - Um UNSUBSCRIBE und mehr, siehe gt stat. ethz. chmailmanlistinfor-help gt BITTE lesen Sie die Posting-Leitfaden gt R-project. orgposting-guide. html gt und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. Gt gt gt gt gt gt gt alternative HTML-Version gelöschte versteckte E-Mail-Mailing-Liste - Um UNSUBSCRIBE und vieles mehr, siehe stat. ethz. chmailmanlistinfor-help BITTE lesen Sie die Entsendungsanleitung R-project. orgposting-guide. html und geben kommentiert, minimal, in sich geschlossen , Reproduzierbaren Code. Auf Tue, 30 Dez 2014, schrieb jim holtman: gt Versuchen Sie Folgendes: gt gtgt x lt - read. csv (TextDate, Open, High, Low, Close, Volume, Adj Schließen gt 2014-12-26,162.27,163.09,162.01, 162.34,1912200,162.34 gt 2014-12-24,162.88,162.99,161.61,161.82,1868100,161.82 gt 2014-12-23,162.23,162.90,161.61,162.24,4043300,162.24 gt 2014-12-22,158.33,161.91,158.33,161.44, 4682500,161.44quot, as. is TRUE) gtgt erfordern (lubridate) gtgt xDate LT - ymd (xDate) zu einem Datumsfeld konvertieren gtgt x LT - xorder (xDate), sortiert nach Datum gtgt xtwoday LT - Filter (XSchließen, c ( 0,5, 0,5)) berechnen durchschnittlich gtgt x gt Datum Eröffnung Hoch Tief Schluss Volumen Adj. Close 2 Tage gt 4 2014-12-22 158,33 161,91 158,33 161,44 4682500 161,44 161,84 gt 3 2014-12-23 162,23 162,90 161,61 162,24 4043300 162,24 162,03 gt bewegen 2 2014-12-24 162,88 162,99 161,61 161,82 1868100 161,82 162,08 gt 1 2014-12-26 162,27 163,09 162,01 162,34 1912200 162,34 NA Ein Dosen Ansatz zum Lesen und Filtern der Daten ist auch in der quotzooquot-Paket zur Verfügung. Die read. zoo () - Funktion kann direkt ein quotzooquot-Zeitreihenobjekt mit quotDatequot-Zeitindex erstellen: Rgt z lt - read. zoo (TextDate, Open, High, Low, Close, Volume, Adj Close 2014-12-26,162.27,163.09 , 162.01,162.34,1912200,162.34 2014-12-24,162.88,162.99,161.61,161.82,1868100,161.82 2014-12-23,162.23,162.90,161.61,162.24,4043300,162.24 2014-12-22,158.33,161.91,158.33,161.44, 4682500,161.44quot, header TRUE, sep quot, format queryY-m-dquot) Und dann kann rollmean () Rolling-Mittel für alle Variablen berechnen: Rgt rollmean (z, 2) Open High Low Close Volume Adj. Schließen 2014- 12-22 160,280 162,405 159,97 161,84 4362900 161,84 2014-12-23 162,555 162,945 161,61 162,03 2955700 162,03 2014-12-24 162,575 163,040 161,81 162,08 1890150 162,08 Sie können zusätzlich die Füllung NA Argument liefern, wenn Sie für 2014.12.26 Hinter NAs wollen . Gt gt Jim Holtman gt Data Munger Guru gt gt Was ist das Problem, dass Sie versuchen, zu lösen gt Sag mir, was Sie tun möchten, nicht, wie Sie es tun möchten. Gt gt Am So, 28.12.2014 um 8:31 Uhr, Rolf Edberg lthidden E-Mail gt schrieb: gt gtgt Vielen Dank für den Versuch zu helfen. Gtgt gtgt gtgt gtgt Ich bin sehr neu in der R-Code. Brauchen Sie Hilfe bei jedem Schritt. Gtgt gtgt gtgt gtgt Das Ziel ist die technische Analyse der Aktienkurse. Nicht nur MA, sondern wenn gtgt Ich verstehe das Prinzip mit dem ich hoffe, ich kann auch die anderen Techniken gtgt nutzen. Gtgt gtgt gtgt gtgt Ich fand R-adamant, aber weiß nicht, wie es zu benutzen. Gtgt gtgt gtgt gtgt Ich habe 4 Tage von IBM Preisen von yahoo in einer csv-Datei heruntergeladen. Gtgt gtgt Ich weiß nicht, was dput ist. gtgt gtgt gtgt gtgt Hier ist die IBM die Preise in einer Textzeichenfolge: gtgt gtgt Datum, Open, High, Low, Close, Volume, Adj Schließen gtgt gtgt 2014-12-26,162.27,163.09,162.01,162.34,1912200,162.34 gtgt gtgt 2014 -12-24,162.88,162.99,161.61,161.82,1868100,161.82 gtgt gtgt 2014-12-23,162.23,162.90,161.61,162.24,4043300,162.24 gtgt gtgt 2014-12-22,158.33,161.91,158.33,161.44,4682500,161.44 gtgt gtgt Gtgt gtgt Ich möchte das Datum in der Sortierung mit dem ältesten an der Spitze. Gtgt gtgt gtgt gtgt Ich möchte eine Spalte mit dem technischen Indikator, in diesem Fall gtgt 2-Tage MA of Close hinzufügen. Gtgt gtgt gtgt gtgt Und ich möchte das Ergebnis in einer CSV-Datei haben. Ich verwende die Datei in gtgt ein anderes Programm. Gtgt gtgt gtgt gtgt Vielen Dank. gtgt gtgt gtgt gtgt Rolf gtgt gtgt gtgt gtgt Von: jim Holtman mailto: versteckt E-Mail gtgt Sent Sonntag, 28. Dezember 2014 16.45 gtgt An: Rolf Edberg gtgt Cc: R-Mailingliste gtgt Subject: Re: R Gleitender Durchschnitt gtgt Gtgt gtgt gtgt konnte die gesendeten Daten nicht lesen. Gtgt gtgt gtgt gtgt Wenn es nur ein 2 Tage gleitender Durchschnitt ist, versuchen Sie die Filterfunktion: gtgt gtgt gtgt gt x lt - 1:20 gtgt gtgt gt x gtgt gtgt 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 gtgt gtgt gt Filter (x, c (0,5, 0,5)) gtgt gtgt Time Series: gtgt gtgt Start 1 gtgt gtgt Ende 20 gtgt gtgt Frequenz 1 gtgt gtgt 1 1,5 2,5 3,5 4,5 5,5 6,5 7,5 8,5 9,5 10,5 11,5 12,5 13,5 14,5 gtgt 15,5 16,5 17,5 18,5 19,5 NA gtgt gtgt gt gtgt gtgt gtgt gtgt gtgt gtgt Jim Holtman Daten Munger Guru gtgt gtgt gtgt Was das Problem ist, dass Sie mich versuchen zu lösen gtgt Sagen Sie, was Sie tun wollen, Nicht, wie Sie es tun möchten. gtgt gtgt gtgt gtgt am So, 28. Dezember 2014, um 6:56 Uhr, Rolf Edberg lthidden E-Mail gt schrieb: gtgt gtgt gtgt gtgt Wie füge ich eine neue Spalte mit 2-Tage gleitenden Durchschnitt (von gtgt r-unnachgiebig (githubTotallyBullshitradamant) ) auf IBM Preise in einem gtgt csv-Datei (ibm. csv) und dann alle in einer neuen cSV-Datei zu speichern (ibm2.csv) gtgt gtgt gtgt gtgt gtgt Preise gtgt gtgt gtgt gtgt gtgt gtgt Datum gtgt gtgt öffnen gtgt gtgt Hohe gtgt gtgt Low gtgt gtgt Schließen gtgt gtgt Volume gtgt gtgt Adj Schließen gtgt gtgt gtgt 26. Dezember 2014 gtgt gtgt 162,27 gtgt gtgt 163,09 gtgt gtgt 162,01 gtgt gtgt 162,34 gtgt gtgt 1.912.200 gtgt gtgt 162,34 gtgt gtgt gtgt 24. Dezember 2014 gtgt gtgt 162,88 gtgt gtgt 162,99 gtgt gtgt 161,61 gtgt gtgt 161,82 gtgt gtgt 1.868.100 gtgt gtgt 161,82 gtgt gtgt gtgt 23. Dezember 2014 gtgt gtgt 162,23 gtgt gtgt 162,90 gtgt gtgt 161,61 gtgt gtgt 162,24 gtgt gtgt 4.043.300 gtgt gtgt 162,24 gtgt gtgt gtgt 22. Dezember 2014 gtgt gtgt 158.33 gtgt gtgt 161,91 gtgt gtgt 158.33 gtgt gtgt 161,44 gtgt gtgt 4.682.500 gtgt gtgt 161,44 gtgt gtgt gtgt 19. Dezember 2014 gtgt gtgt 157,49 gtgt gtgt 160,41 gtgt gtgt 157,49 gtgt gtgt 158,51 gtgt gtgt 8.864.900 gtgt gtgt 158,51 gtgt gtgt gtgt gtgt gtgt alternative HTML-Version gelöscht gtgt gtgt gtgt versteckt E-Mail Mailing-Liste - Um UNSUBSCRIBE und mehr, siehe gtgt stat. ethz. chmailmanlistinfor-help gtgt BITTE lesen Sie die Buchungsanleitung gtgt R-project. orgposting-guide. html gtgt und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. Gtgt gtgt gt gt gt alternative HTML-Version gelöscht gt gt gt versteckte E-Mail-Mailing-Liste - Um UNSUBSCRIBE und vieles mehr, siehe gt stat. ethz. chmailmanlistinfor-help gt BITTE lesen Sie die Buchungsanleitung R-project. orgposting-guide. html gt und Bieten kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. Verborgene E-Mail-Mailingliste - Wer sich abmelden und mehr finden Sie stat. ethz. chmailmanlistinfor Hilfe Tun Sie bitte die Entsendung Führung R-project. orgposting-guide. html lesen und bieten kommentiert, minimal, in sich geschlossene, reproduzierbare Code. Ich habe die Funktion fix () verwendet, um eine bestehende Funktion zu bearbeiten, wenn ich RStudio bearbeite. Nach der Bearbeitung der Funktion bekomme ich die Möglichkeit, die geänderte Funktion SPEICHERN. Ich möchte wissen, (1) wo die modifizierte Funktion gespeichert ist (die Save-Taste hat keine Möglichkeit, festzulegen, wo die modifizierte Funktion gespeichert werden), und (2) wie kann ich auf die geänderte Funktion in anderen RStudio oder R zugreifen Sitzungen und (3) wie kann ich die Funktion zugänglich machen R und RStudio Sessions auf anderen Computern ausgeführt. Ich benutze RStudio nicht, also habe ich keine Ahnung, ob es die base fix () Funktion überschreibt. Aber wenn es tut, ist dies der falsche Ort, um darum zu bitten, so ist die Basis R Antwort. Fix () speichert die bearbeitete Funktion auf Ihrem Arbeitsbereich. Das heißt, wenn Sie ls () an einer R-Eingabeaufforderung nach dem Ausführen von fix () eingeben, wird die neue bearbeitete Funktion angezeigt. Die üblichen Methoden zum Exportieren von etwas von R auf Ihre Festplatte funktionieren, wie save () und load (). Sie könnten auch Ihre Funktion in eine Textdatei myfun. R und verwenden Source (), um es in R. zu lesen. Sobald Sie eine dieser Optionen verwendet, um Ihre Datei auf Festplatte zu speichern, ist es portabel zwischen R-Sitzungen und Computern. Ich finde es viel bequemer, einen Text-Editor und Source (), persönlich, anstatt fix () verwenden. Das erleichtert den Übergang in die Herstellung von Paketen auch. Verborgene E-Mail-Mailingliste - Wer sich abmelden und mehr finden Sie stat. ethz. chmailmanlistinfor Hilfe Tun Sie bitte die Entsendung Führung R-project. orgposting-guide. html lesen und bieten kommentiert, minimal, in sich geschlossene, reproduzierbare Code. Öffnen Sie diesen Beitrag in Baumansicht Bericht Inhalt melden Re: Speichern einer bearbeiteten R-Funktion - RStudio und R In Antwort auf dieses Thema von John Sorkin Auf 31.12.2014 17.24, John Sorkin geschrieben: gt Windows 7 gt gt Kollegen, gt I Verwendet die Funktion fix (), um eine bestehende Funktion bei der Verwendung von RStudio zu bearbeiten. Nach der Bearbeitung der Funktion bekomme ich die Möglichkeit, die geänderte Funktion SPEICHERN. Ich möchte wissen, (1) wo die modifizierte Funktion gespeichert ist (die Save-Taste hat keine Möglichkeit, festzulegen, wo die modifizierte Funktion gespeichert werden), und (2) wie kann ich auf die geänderte Funktion in anderen RStudio oder R zugreifen Sitzungen und (3) wie kann ich die Funktion zugänglich machen R und RStudio Sessions auf anderen Computern ausgeführt. Nicht sicher, was dies mit RStudio zu tun hat, aber im Wesentlichen ist dies der falsche Ansatz, da das Speichern unter einem anderen Namen wird nicht die Funktion in R dann. Wenn Sie wirklich wollen, um eine Funktion zu ändern, nehmen Sie ihre Quellversion und bearbeiten Sie sie direkt und speichern Sie sie unter einem expliziten Namen, dann Quelle es in R. Best, Uwe Ligges gt Vielen Dank, gt John GT John David Sorkin MD Ph. D. Gt Professor für Medizin gt Leiter, Biostatistik und Informatik gt Universität Maryland School of Medicine Abteilung für Gerontologie und Geriatrische Medizin gt Baltimore VA Medical Center gt 10 North Greene Straße gt GRECC (BT18GR) gt Baltimore, MD 21201-1524 gt (Phone) 410 -605-7119 gt (Fax) 410-605-7913 gt gt Vertraulichkeitserklärung (Bitte Telefonnummer oben vor Faxen nennen): gt Diese e-Mail-Nachricht, alle Anhänge einschließlich, ist für die alleinige Nutzung der beabsichtigten Empfänger (n) und Kann vertrauliche und privilegierte Informationen enthalten. Jede unbefugte Nutzung, Offenlegung oder Verbreitung ist untersagt. Wenn Sie nicht der gewünschte Empfänger sind, kontaktieren Sie bitte den Absender per E-Mail und zerstören Sie alle Kopien der ursprünglichen Nachricht. Gt gt versteckte e-Mail-Mailing-Liste - Um UNSUBSCRIBE und mehr, siehe gt stat. ethz. chmailmanlistinfor-help gt BITTE lesen Sie die Posting-Führer R-project. orgposting-guide. html gt und geben kommentiert, minimal, in sich geschlossene, reproduzierbar Code. gt versteckte E-Mail-Mailing-Liste - Wer sich abmelden und mehr finden Sie stat. ethz. chmailmanlistinfor Hilfe Tun Sie bitte die Entsendung Führung R-project. orgposting-guide. html lesen und bieten kommentiert, minimal, in sich geschlossene, reproduzierbare code. Time Series Analyse und ihre Anwendungen: Mit R-Beispielen Dies ist die Website für die zweite Auflage des Textes und wird nicht mehr beibehalten. Folgen Sie diesem Link, wenn Sie auf der Suche nach der Website der 4. Auflage. R-Code, der im Text verwendet wird (Kapitel 1-5) Alles, was Sie in einem Feld sehen, ist R-Code. Sie können eine Zeile (oder mehrere Zeilen) in R kopieren und einfügen. Vergewissern Sie sich, dass sich die Datendateien im Verzeichnis "mydata" befinden (oder den Code entsprechend ändern). R-Code für Kapitel 6 hat seine eigene Seite und wir haben auch einige Code für Kapitel 7. Wir haben etwas verbessert, korrigiert oder gestrafft einige der Code unten, so gibt es ein paar Fälle, wo der Code hier etwas von dem, was im Text ist anders . Beispiel 1.1 Beispiel 1.2 Beispiel 1.3 Beispiel 1.4 Beispiel 1.5 Beispiel 1.6 Beispiel 1.7 Beispiel 1.9 Beispiel 1.10 Beispiel 1.11 Beispiel 1.12 Beispiel 1.24 Beispiel 1.25 Sie müssen die Daten nicht erneut lesen, wenn Sie es bereits für Beispiel 1.5 durchgeführt und den Arbeitsbereich gespeichert haben. Dies gilt für die übrigen Beispiele. Geben Sie object () ein, um eine Liste Ihrer Objekte anzuzeigen. Beispiel 2.1 Beispiel 2.2 Beispiele 2.3 und 2.4 Beispiel 2.6 Sie können eine Funktion namens lag. plot2 herunterladen, die den zweiten Teil dieses Beispiels hier durchführt. Beispiel 2.8 Beispiel 2.10 Beispiel 2.11 Beispiel 2.12 Beispiel 2.13 Beispiel 2.14 Beispiel 2.15 Beispiel 3.1 Beispiel 3.3 Beispiel 3.9 Beispiel 3.10 Beispiel 3.14 Beispiel 3.16 Beispiel 3.26 Beispiel 3.29 Beispiel 3.33 Beispiel 3.35 Beispiel 3.36 Beispiel 3.37 Beispiel 3.39 Beispiel 3.41 Beispiel 3.43 Beispiel 4.1 Beispiel 4.2 Beispiel 4.7 Beispiel 4.10 Beispiel 4.12 Beispiel 4.13 Beispiel 4.16 Beispiel 4.17 Beispiel 4.19 Beispiel 4.20 Beispiel 4.21 Beispiel 4.22 Beispiele 4.23 und 4.24 Doug Wiens, Universität Alberta, leistete freundlicherweise einen R-Code für diese Beispiele. Beispiel 5.1 Beispiel 5.3 NB: Der Code für die Beispiele 5.3 und 5.4 unterscheidet sich etwas von dem, was sich im Text befindet, weil sich das Paket tseries geändert hat. Es ist auch möglich, simultane ARMA-Mittelwert - und GARCH-Varianzmodelle unter Verwendung von garchFit () aus dem Paket fSeries zu platzieren. Leider konnte ich nicht bekommen, um es mit diesem Beispiel zu arbeiten (nicht, dass ich sehr hart versucht). Beispiel 5.4 Beispiel 5.7 Dieser Code erscheint nicht im Text, in dem die Ergebnisse unter Verwendung von ASTSA erhalten wurden. Hier verwenden wir gls () aus dem Paket nlme. Die Fehler von der Gls passen, sagen wir e (t), werden von der Form e (t) .3848530 e (t-1) .4326282 e (t-2) w (t) geschätzt. Die Filter-Anweisung erhält an der w (t), die weiß sein sollte. Beispiele 5.9 und 5.10Technische Analyse mit R In diesem Beitrag werfen Sie einen Blick darauf, wie ein Trader R verwenden könnte, um einige grundlegende technische Analyse-Indikatoren zu berechnen. R ist eine freie Open-Source-Analyseumgebung und Programmiersprache. Es ist für Windows-, Mac OS - und Linux-Betriebssysteme verfügbar. Die Installation ist einfach und schnell. Download - und Installationsanleitungen finden Sie unter: cran. r-project. org. Bei der Entwicklung einer Trading-Strategie seine nützlich, um in der Lage sein, analysieren und visualisieren Daten und in der Lage sein, um Ihre Trade-Generation Regeln und ihre Variationen und Modelle schnell und mit minimalen Turn-around zu testen. Während viele Handelsplattformen wie interaktive Broker, etc. bieten Zugriff auf historische Daten über API oder direkte Datei downloaden 8211 Analyse, dass Daten und Prototyping Handelsstrategien oft das Schreiben von Hunderten von Zeilen Code in Programmiersprachen wie Java oder C oder schriftlich Schwierig zu testen Formeln in Excel. Dies erfordert eine erhebliche Zeit investieren, unabhängig davon, wie Erfahrung Programmierer Sie sind. Im Gegensatz dazu ermöglicht eine übergeordnete Programmiersprache wie R oder Matlab, gekoppelt mit ihren interaktiven Programmierumgebungen, ihre Benutzer in einem Bruchteil der Zeit, die sie mit C, C oder Java benötigt, zu schneiden, zu würfeln und zu analysieren. Die Menge an Code, der erforderlich ist, um eine Handelsstrategie in R zu entwickeln, ist typischerweise ebenfalls eine Größenordnung geringer. Verwenden Sie in diesem Beispiel eine einfache Komma-separate Datei mit offenen, hohen, niedrigen und engen Preisspalten (a. k.a. OHLC) zusammen mit Volumen - und Zeitstempelwerten für SPY ETF. In diesem Beitrag zeigen wir Ihnen, wie Sie eine kostenlose R-Bibliothek verwenden, um Simple Moving Average (SMA), Exponential Moving Average (EMA), Bollinger Bands (BBands), RSI und MACD technische Analyse-Indikatoren zu berechnen. Wir werden berechnete Indikatoren als neue Spalten an unsere Eingabedatei anhängen, damit sie für weitere Analyse - oder Handelsstrategie-Prototypen in Excel, R oder jedem anderen CSV-freundlichen Softwarepaket Ihrer Wahl verwendet werden können. Installieren der technischen Analysebibliothek für R 1. Zur Berechnung der technischen Analyse mit R verwenden wir eine freie Open-Source-Bibliothek mit dem Namen 8220TTR8221 (Technical Trading Rules). Dieser Schritt enthält Anweisungen für die Installation der TTR-Bibliothek, vorausgesetzt, Sie haben bereits R auf Ihrem Computer installiert. Diese Schritte müssen nur einmal pro R-Installation auf einem Computer durchgeführt werden. So installieren Sie die Bibliothek auf Ihrem Computer: 1) Starten Sie die R-Umgebung auf Ihrem Computer, und wählen Sie dann im Menü: Packages 038 Data-Package Installer 2) Geben Sie im Paket-Installationsprogramm den Typ 8220TTR8221 im Feld Package Search ein, und klicken Sie auf 8220Get List8221. 3) Wählen Sie Paket 8220TTR8221 und klicken Sie 8220Install Selected8221. Historische Daten laden (Input) Für die Demo-Nutzung werden wir von September 2013 bis Mai 2014 die täglichen historischen Kurse für SPY ETF verwenden. Klicken Sie hier, um die Datei herunterzuladen. Diese Eingabedatei für dieses Beispiel wurde mit IB Historical Data Downloader generiert. 2. Wir beginnen mit der Eröffnung von R Shell und Laden TTR-Bibliothek, die eine kostenlose R-Erweiterung, die Funktionen für die Berechnung einiger der häufigsten Indikatoren enthält. 3. Der nächste Schritt besteht darin, unsere Datendatei mit historischen Preisen in die R-Umgebung zu importieren. Wir laden Daten aus der Beispiel-CSV-Datei in die R-Umgebung und speichern sie ein Datenframe, das ein R-Variablentyp zum Speichern von Daten im Tabellenformat im Speicher enthält. So zeigen Sie die ersten paar Zeilen der Datentabelle an: Standardmäßig werden die ersten 6 Zeilen der Daten zusammen mit den Spaltennamen (Tabellenkopf) angezeigt. Um zu sehen, wie viele Zeilen Sie in der Datentabelle haben: Dies zeigt, dass wir 187 Datensätze in unserer SPY-Datendatei für 187 Handelstage zwischen dem 3. September 2013 8211 31. Mai 2014 haben. Wir können auch Tabellenspaltennamen mit Colnames-Funktionen auflisten Wie folgt: Moving Averages 4. Jetzt können wir den 20-Tage-Simple Moving Average (SMA) der CLOSE-Preisspalte mit TTR-Bibliotheken berechnen. R-Funktion SMA: Jetzt sehen wir die ersten 50 Werte des sma20-Arrays: Hier wurde die Funktion SMA von TTR verwendet Bibliothek, die wir oben geladen haben, sagen, dass sie den 20-Tage-Durchschnitt (Wert des Parameters n) der CLOSE-Spalte aus Datenrahmendaten berechnet. Die Funktion gibt ein Array von SMA-Werten zurück und speichert sie in einer neuen Variablen namens sma20. Sie können die Hilfe mit einer detaillierten Beschreibung der Funktion und ihrer Parameter mit Hilfe. Gefolgt von dem Funktionsnamen, wie unten beschrieben. Es ist immer eine gute Idee, Hilfeseiten für die verwendeten Funktionen zu lesen, da sie alle optionalen Parameter auflisten, die Sie verwenden können, um die Ausgabe zu optimieren. Außerdem haben viele Funktionen Variationen oder verwandte Funktionen, die unter verschiedenen Umständen hilfreich sein könnten und auf der Hilfeseite aufgeführt werden. 5. Berechnung von Exponential Moving Average ist ähnlich einfach, verwenden Sie einfach eine andere Funktion, diesmal EMA (). Beachten Sie, dass wir EMA für 14-Periodenlänge Bollinger Bands 6 berechnen. Zur Berechnung des Bollinger Bands Indikators verwenden wir die BBands-Funktion. Es gibt eine Reihe von optionalen Parametern, die es braucht, so gut bieten mehrere Beispiele. Im folgenden Beispiel nennen wir BBands, die Datenrahmendaten übergeben, mit einer Abfrage, die angibt, dass wir Werte aus der CLOSE-Spalte verwenden wollen, genau wie oben beschriebene SMA - und EMA-Berechnungen. Der zweite Parameter sd nimmt die Anzahl der Standardabweichungen für die oberen und unteren Bänder an. Da wir nicht übergeben Wert für n 8211 BBands verwendet 20-Periode gleitenden Durchschnitt standardmäßig. Die Ausgabe enthält mehrere Spalten: dn für unteres Band, mavg für den gleitenden Durchschnitt, für oberes Band und pctB, was einen Wert für den Wert security8217s relativ zum oberen und unteren Bollinger Band quantifiziert, eine ausführliche Beschreibung hierzu finden Sie hier. B gleich 1 ist, wenn der Preis am oberen Band liegt, B gleich 0 ist, wenn der Preis im unteren Band liegt, B oberhalb 1 ist, wenn der Preis über dem oberen Band liegt, B unter 0 ist, wenn der Preis unter dem unteren Band B liegt (20-Tage-SMA) B ist unterhalb des mittleren Bandes (20 Tage SMA) bb20 BBands (data, sd2.0) 6.1 Jetzt wollen wir einen neuen Datenrahmen erstellen, der alle Eingaben enthält Daten aus dem 8216data8217 Frame, plus Bollinger Bands Daten, die wir gerade berechnet haben. Die Funktion data. frame () nimmt beliebig viele Datenrahmen auf und verbindet sie reihenweise in einen neuen Datenrahmen, so dass Elemente aus entsprechenden Zeilen im Ergebnis miteinander verbunden werden. 6.2 Bollinger Bands Plot (dataPlusBBCLOSE, col 8216bd8217) Zeilen (dataPlusBBdn, col 8216brow8217) Zeilen (dataPlusBBmavg, col 8216brow8217) 6.3 Alternativ können wir explizit angeben, welche Art von Verschieben Durchschnitt sollte als Basis für Bollinger-Bänder mit dem Funktionsparameter maType verwendet werden, die einfach einen bewegenden mittleren Funktionsnamen tragen. Weitere Informationen finden Sie auf der SMA-Hilfeseite, um verschiedene Arten von gleitenden Durchschnitten zu sehen, die in der TTR-Bibliothek unterstützt werden. Wenn Sie zB eine EMA Bollinger Bands berechnen möchten, können Sie EMA an maType übergeben. Beachten Sie, dass wir in diesem Beispiel den Standard-Längenparameter für den gleitenden Durchschnitt überschreiben, diesmal mit dem 14-Perioden-Durchschnitt. BbEMA BBands (Daten, sd2.0, n14, maTypeEMA) RSI 8211 Relative Strength Indicator 7. RSI. Zur Berechnung des RSI verwenden wir die Funktion RSI (). Sie können den RSI-Befehl in der R-Shell verwenden, um Details zu den Funktionsparametern zu erhalten. Grundsätzlich ist es sehr ähnlich zu den Funktionen, die wir oben verwendet, um gleitende Mittelwerte zu generieren. Rsi14 RSI (data, n14) Hierbei handelt es sich um den ersten Parameter der RSI-Funktion: data, die, wie in der folgenden Tabelle dargestellt, die folgenden Parameter aufweist: Zeitreihen (zB CLOSE-Spalte aus unserem Datendatenrahmen und n ganzzahliger Wert für die Länge der RSI - Ist eine Anweisung, die die Spalte mit dem Namen CLOSE aus der Datentabelle sagt und sie als eine Liste von Werten zurückgibt. Der zweite Parameter ist n14, wobei der Parametername n ist und der Wert 14 anzeigt, dass wir 14 Tage berechnen wollen RSI-Werte auf die engen Preise 8. Die MACD-Funktion übernimmt verschiedene Argumente: Eingabedatenreihe (zB CLOSE-Preis) Anzahl der Perioden für schnell gleitende durchschnittliche Anzahl von Perioden für langsam laufende durchschnittliche Anzahl von Perioden für die Signalleitung Sie können auch optional (MACD-Befehl in der R-Shell, um die Hilfeseite selbst zu öffnen): Ermöglicht die Berechnung eines Standard - (12,26,9) MACD-Indikator mit dieser Funktion. Beim Verwendung von einfachen einfachen gleitenden Mitteln, also gut spezifizieren SMA-Funktion in maType-Parameter: macd MACD (Daten, nFast12, nSlow26, nSig9, maTypeSMA) Join All Data Together 9. Nun schließen wir alle Indizes, die oben mit den ursprünglichen Eingabedaten berechnet wurden, in einem einzigen Datenrahmen: Die Funktion data. frame () nimmt eine beliebige Anzahl von Datenrahmen auf und verbindet sie reihenweise, so dass Elemente aus entsprechenden Zeilen in dem resultierenden Datenrahmen allData zusammengeklebt werden . Schreiben in Textdatei Und schließlich schreiben wir den Inhalt von allData-Datenrahmen in eine kommagetrennte Werte-Datei. Wir verwenden die write. table () - Funktion, die eine große Anzahl optionaler Parameter enthält. Eine ausführliche Hilfeseite steht mit dem Befehl write. table in der R-Shell zur Verfügung. Wenn wir write. table () aufrufen, übergeben wir die folgenden Argumente: allData 8211 Dies ist einfach eine Referenz auf den Datenrahmen, der Daten enthält In die Ausgabedatei geschrieben. File 8230 8211 Dies ist der Pfad und Name der Datei, die wir erstellen. Na 8211 stellt sicher, dass Zellen im Datenrahmen, die den R-Wert NA enthalten, leere Werte in der Ausgabedatei enthalten. Einige Zellen haben NA für Zeilen, in denen nicht genügend Daten vorhanden waren, um einen entsprechenden Indikatorwert zu erzeugen (zum Beispiel erste 19 Zeilen für 20-Tage-SMA). Sep, 8211 setzt Spalten-Trennzeichen auf Komma (also kommagetrennte Werte-Datei). Um eine tabulatorgetrennte Datei zu erstellen (wirklich ein bevorzugtes Format für ernsthafte Software-Systeme) 8211: sep t. Row. names FALSE 8211 ist es wichtig, diesen Wert zu setzen, sonst wird die erste Spalte in der Ausgabedatei Zeilennummern enthalten. Die resultierende Datei steht hier zur Verfügung. Rechtsklick und wählen 8220Save Linked File As8221 Die heruntergeladene Datei kann in Excel oder Texteditor geöffnet werden. 10. In der TTR-Bibliothek sind weitere Funktionen und Funktionen verfügbar. Sie können mehr erfahren, indem Sie TTRs Hilfe Seite: CONCLUSION R bietet eine bequeme und vielseitige Umgebung für Datenanalyse und Berechnungen. Zusätzlich zu Tausenden von kostenlosen Open-Source-statistischen, mathematischen Bibliotheken und Algorithmen, enthält R eine große Anzahl von Funktionen und Bibliotheken zum Lesen und Schreiben von Daten aus Dateien, Datenbanken, URLs, Web Services, etc. Das kombiniert mit der Prägnanz der Sprache , Ist eine leistungsfähige Kombination, die Händler helfen kann, wertvolle Zeit zu sparen. Händler können erheblich reduzieren die Zeit, die für Prototypen und Backtest Trading-Strategien mit R. Es gibt auch Methoden zur Integration R mit Mainstream-Programmiersprachen wie Java und C. Don8217t zögern, einen Kommentar zu schreiben oder senden Sie eine Nachricht über Kontaktformular, wenn Sie haben Fragen zu diesem Material. Schließlich möchten wir einige Bücher erwähnen, die in unseren Entwicklungsbemühungen sehr hilfreich waren. Das erste Buch 8211 8220Quantitative Trading mit R8221 ist ein großer Mix aus Finanzdatenanalyse Einblicke und Anwendung von R, Backtesting, Datenerforschung und Analyse. Es hat eine Reihe von großen Code-Beispiele und geht über eine Reihe von nützlichen R-Pakete. Dies ist eine gute intro-to-intermediate Ebene Buch für Menschen, die zu bauen und Backtest ihre eigenen Trading-Strategien wollen. Das zweite Buch 8211 8220Mastering R für quantitative Finance8221 8211 ist ein echtes Juwel. Es enthält erweiterte Informationen für Händler mit einem guten Verständnis der Derivate-Instrumente und stärker mathematischen Hintergrund. Wir fanden, dass dieses Buch eine große Follow-up für die 8220Quantitative Trading mit R8221 ist. Zusätzlich zu den großen R-Code-Proben und Pakete enthält es Übersichten über eine Reihe von fortgeschrittenen (und praktischen) quantitativen Finanzmodellen und Algorithmen, und können Sie Ihre Füße nass mit R-Code sofort erhalten. Trading Geeks bietet Beratungsleistungen in der Trading-Strategie und Software-Entwicklung für unabhängige Händler, Partnerschaften und Hedge-Fonds. Bitte erkundigen Sie sich für weitere Informationen oder ein kostenloses Angebot für Ihr Projekt über Kontaktformular auf der rechten Seite.


No comments:

Post a Comment