Sunday 10 September 2017

Moving Average R Projekt


Moving Average Ich entschuldige mich für meine unordentliche Post, die aus meiner eigenen Verwirrung stammt. Und Depressionen auch. In der Tat, obwohl ich mit einem großen Teil eines Projekts getan wurde und zu meiner Bestürzung fand ich heraus, gibt es mehr zu tun. Ich versuche, einen Algorithmus, basierend auf fortgeschrittenen Wavelet-Analyse, auf meine Atmungssignale anzupassen. Der ursprüngliche Algorithmus wurde in Fortran durch den Mathematiker-Autor der zugrunde liegenden Theorie implementiert. Ich implementierte es in der R-Sprache mit einigen kleinen Änderungen aufgrund der Natur des Phänomens, das ich studiere. Da meine Ergebnisse und die Mathematiker meistens nicht mit dem gleichen Probensignal übereinstimmen, wurde ich vorgeschlagen, die Komponenten niedriger Frequenzen vor dem Beginn der Wavelet-Analyse zu entfernen. Beim Wiederlesen seines Vorschlags wurde ich immer mehr verwirrt. Soweit ich weiß, ist Moving Average einer der einfachsten DSP-Tiefpaßfilter. Daher kann ich nicht verstehen, wie MA verwendet werden kann, um niederfrequente Komponenten zu entfernen. Noch kann ich verstehen, hallo Vorschlag, den ich in den folgenden einfügen. "Sie haben ein ziemlich kurzes Signal - nur 120 Proben. Ich vermisse die Wavelet-Koeffizienten auf höheren Detailebenen, weil ihr Hauptstützintervall dieselbe Ordnung wie das gesamte Zeitintervall hat und der kreisförmige Effekt der diskreten endlichen Wavelet-Transformation zu stark für sie ist. Wenn also die Länge der Zeitreihen gleich N2k ist, dann arbeite ich mit Detailniveaus von 1 bis (k-3). Es bedeutet, dass für diese Zeitreihe k7 und die Arbeitsdetailniveaus 1,2,3 sind. Abgesehen davon, dass Sie periodische Erweiterung des Signals verwenden, während ich Null-Auffüllung verwenden, bis die Längen am nächsten N2k und ich nicht in die Analyse Null-Wavelet-Koeffizienten, die durch Null-Padding entsteht enthalten. Darüber hinaus entfernt das SpAn automatisch vor der Wavelet-Analyse niederfrequente Komponenten aus dem Signal (das die Hauptquelle des kreisförmigen Effekts ist) durch einen gleitenden Durchschnitt innerhalb des Zeitfensters des Radius 2 (k-3). Ich rate Ihnen, durch lokale Polynome der 2. Ordnung wit Hin bewegende Zeitfenster der Radius 8 Proben (die Länge des beweglichen Fensters 17 Niederfrequenzkomponenten als auch, zum Beispiel zur Entfernung entspricht, also etwas mehr als 16 - maximale Skala Für die 3-rd Detailstufe).quot Vielen Dank, Maura Ich sah Gabors Antwort, sondern haben eine Klärung zu beantragen. Du sagst, du willst niederfrequente Komponenten entfernen, aber dann verlangst du Glättungsfunktionen. Der Begriff quotsmoothingquot impliziert das Entfernen von hochfrequenten Komponenten einer Serie. Wenn Glättung ist wirklich Ihr Ziel dann zusätzliche R-Ressource wäre smooth. spline, Löss (oder lowess), ksmooth oder mit Glättung Begriffe in Regressionen. Venables und Ripley haben ziemlich viele Beispiele für solche in der MASS. Gt Ich bin für einige Hilfe bei der Entfernung von Niederfrequenz-Komponenten aus gt ein Signal suchen, durch Moving Average auf einem Schiebefenster. Gt Ich verstehe thiis ist ein Glättungsverfahren, das ich nie in meinem gt Leben vorher getan habe. Seufzer. Gt gt Ich suchte R-Archive und fand quotrollmeanquot, quotMovingAverages quot, gt quotSymmetricMAquot. Gt Keine der oben genannten mantierten Funktionen scheint die Glättung gt Polynomordnung und das Schiebefenster mit als Eingabeparameter zu akzeptieren. Gt Vielleicht fehlt mir etwas. Gt gt Ich frage mich, ob es einige Bausteine ​​in R, wenn nicht sogar eine gt-Funktion, die alles tut (ich erwarte nicht, dass viel, though). Gt Auch einige Literaturhinweise und / oder Tutorials sind sehr willkommen. Gt gt Vielen Dank, gt Maura gt gt gt gt tutti ich telefonini TIM gt gt gt gt gt gt gt gt versteckte e-Mail-Mailing-Liste gt stat. ethz. ch/mailman/listinfo/r-help gt BITTE lesen Sie die Posting Guide R-project. org/posting-guide. html gt und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. tutti i telefonini TIM alternative HTML-Version In Antwort auf dieses Thema von David Winsemius Am 26.-Feb-09 gelöscht 13.54.51, David Winsemius schrieb: gt Ich sah Gabors antworten, sondern haben eine Klarstellung zu verlangen. Sie sagen, Sie gt wollen Low-Frequenz-Komponenten zu entfernen, aber dann fordern Sie Glättung gt-Funktionen. Der Begriff quotsmoothingquot impliziert die Entfernung von hochfrequenten gt-Komponenten einer Serie. Wenn Sie eine geglättete Serie produzieren, enthält Ihr Ergebnis natürlich die niederfrequenten Komponenten, wobei die hochfrequenten Komponenten entfernt werden. Aber wenn Sie das von der ursprünglichen Serie subtrahieren, enthält Ihr Ergebnis die hochfrequenten Komponenten, wobei die niederfrequenten Komponenten entfernt wurden. Moving-Average ist ein Weg der Glättung (aber kann periodische Komponenten einführen, die nicht dort waren). Filtern einer Zeitreihe ist eine sehr offene Aktivität In vielen Fällen ist ein sinnvoller Start die Erforschung der spektralen Eigenschaften der Reihe, für die R mehrere Funktionen hat. Spectrum () im Statistik-Paket (geladene Bvy-Voreinstellung) ist eine Grundfunktion. Help. search (quottime seriesquot) wirft eine Menge von Funktionen auf. Vielleicht möchten Sie bei Paket ltsa (lineare Zeitreihenanalyse) zu suchen. Alternativ kann, wenn yuou bereits gute Informationen über die Frequenzstruktur der Serie haben, oder (zum Beispiel) wissen, dass es einen Willen definierte saisonale Komponente hat, dann könnte man auf die Gestaltung einer Übertragungsfunktion speziell auf den Job abgestimmt beginnen. Werfen Sie einen Blick auf RSiteSearch (quot quot) In der Hoffnung, das hilft, Ted. Gt Wenn Glättung ist wirklich Ihr Ziel dann zusätzliche R-Ressource wäre gt smooth. spline, loess (oder lowess), ksmooth oder mit Glättung Begriffe in gt Regressionen. Venables und Ripley haben einiges gearbeitet Beispiele für gt wie in MASS. gt gt - gt David Winsemius gt gt gt Am 26. Februar 2009, um 7:07 Uhr, lthidden E-Mail gt schrieb: gt gtgt ich für etwas Hilfe suchen bei der Entfernung von Niederfrequenzkomponenten aus gtgt ein Signal, durch Moving Average auf Ein Schiebefenster. Gtgt Ich verstehe thiis ist ein Glättungsverfahren, das ich nie in meinem gtgt Leben vorher getan habe. Seufzer. Gtgt gtgt Ich suchte R-Archive und fand quotrollmeanquot, quotMovingAverages quot, gtgt quotSymmetricMAquot. Gtgt Keine der oben genannten mantionierten Funktionen scheint die Glättungs-gtgt-Polynomordnung und das gleitende Fenster mit als Eingabeparameter zu akzeptieren. Gtgt Vielleicht fehlt mir etwas. Gtgt gtgt Ich frage mich, ob es einige Bausteine ​​in R, wenn nicht sogar eine gtgt-Funktion, die alles tut (ich erwarte nicht, dass viel, though). Gtgt Auch einige Literaturreferenzen und / oder Tutorials sind sehr willkommen. Gtgt gtgt Vielen Dank, gtgt Maura gtgt gtgt gtgt tutti ich telefonini TIM gtgt gtgt gtgt alternative HTML-Version gelöscht gtgt gtgt gtgt versteckte E-Mail-Mailingliste gtgt stat. ethz. ch/mailman/listinfo/r-help gtgt BITTE lesen Sie die Posting guide gtgt R-project. org/posting-guide. html gtgt und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. gt gt gt versteckte E-Mail-Verteilerliste gt stat. ethz. ch/mailman/listinfo/r-help gt BITTE tun, um die Entsendung Führung gt R-project. org/posting-guide. html gt gelesen und kommentiert bieten, minimal, in sich geschlossene , Reproduzierbaren Code. Ich schrieb einen kleinen Code-Fourier-Filterung, wenn Sie einen Blick auf diese zu nehmen möchten: Bibliothek (StreamMetabolism) Bibliothek (MFilter) x LT - read. production (file. choose ()) contiguous. zoo (data. frame (x, (X, quotRM61DO. Concquot, coredata (x, quotRM61DO. Concquot))) kurz lt - x42685: 48535, RM202DO. Concquot short lt - x53909: 59957, quotRM61DO. Concquot short. ts lt - ts (coredata (kurz), frequency96) Fourier-Filterung short. fft lt - fft (short. ts) Plot (Re (short. fft), xlimc (0,10) , Ylimc (-1000, 1000)) short. fft789: 5563 00i short. ifft fft (short. fft, inverse TRUE) / Länge (short. fft) Zoo-Reihe filt lt-zoo (coredata (Re (short. ifft)) (Mfrowc (2,1)) Plot (kurz) Plot (filt) window. plot lt - Funktion (x, y, a, b, s, d) (Y, a, b, s, d)) window. plot (kurz, filt, quot04 / 17 / 2007quot, quot00 : (B, w, x, y, z) eine lt-Funktion (b, w, x, y, z) ) (A, ylimrange (a) 0.06c (-1, 1)) Zeilen (a0.98, colquotbluequot) Zeilen (a1.02, colquotredquot) Es kann nicht genau das sein, was Sie wollen, aber Sie haben einen Handle auf Welche spektralen Eigenschaften Sie entfernt haben. Hallo ihr Lieben, ich glaube nicht, dass es sich hierbei um eine Frage handelt, mit der ich mich verabredet habe. Sie sagen, Sie gtgt wollen, um niederfrequente Komponenten zu entfernen, aber dann fordern Sie Glättung gtgt Funktionen. Der Begriff quotsmoothingquot impliziert das Entfernen von hochfrequenten gtgt-Komponenten einer Serie. Gt gt Wenn Sie eine geglättete Serie produzieren, enthält Ihr Ergebnis natürlich gt die niederfrequenten Komponenten, wobei die hochfrequenten Komponenten gt entfernt wurden. Gt gt Wenn Sie das von der ursprünglichen Serie subtrahieren, enthält Ihr Ergebnis gt die hochfrequenten Komponenten, wobei die niederfrequenten gt-Komponenten entfernt wurden. Gt gt Der gleitende Durchschnitt ist ein Weg der Glättung (kann aber periodische gt-Komponenten einführen, die nicht mit dem Anfang beginnen). Gt gt Filtern einer Zeitreihe ist eine sehr offene Aktivität In vielen gt-Fällen ist ein sinnvoller Start die Erforschung der spektralen Eigenschaften gt der Reihe, für die R mehrere Funktionen hat. Spectrum () gt im Stats-Paket (geladene bvy-Voreinstellung) ist eine Grundfunktion. Gt help. search (quottime seriesquot) wird eine Menge von Funktionen zu werfen. Gt gt Vielleicht möchten Sie bei Paket ltsa (lineare Zeitreihe gt-Analyse) zu suchen. Gt gt Alternativ, wenn yuou bereits gute Informationen über die gt-Frequenzstruktur der Serie haben, oder (zum Beispiel) wissen, dass gt es eine Wille-definierte saisonale Komponente hat, dann könnten Sie gt auf die Gestaltung einer Transfer-Funktion speziell abgestimmt der Beruf. Gt Werfen Sie einen Blick auf RSiteSearch (quotiert) gt gt Hoping dies hilft, gt Ted. Gt gt gt gtgt Wenn Glättung ist wirklich Ihr Ziel dann zusätzliche R-Ressource wäre gtgt smooth. spline, loess (oder lowess), ksmooth, oder mit Glättung Begriffe in gtgt Regressionen. Venables und Ripley haben einiges gearbeitet Beispiele für gtgt wie in MASS. gtgt gtgt - gtgt David Winsemius gtgt gtgt gtgt Am 26. Februar 2009, um 7:07 Uhr, lthidden E-Mail gt schrieb: gtgt gtgtgt ich für etwas Hilfe suchen bei der Entfernung von Niederfrequenzkomponenten aus gtgtgt ein Signal, durch auf Moving Average Ein Schiebefenster. Gtgtgt Ich verstehe thiis ist ein Glättungsverfahren, dass ich nie in meinem gtgtgt Leben vor. Seufzer. Gtgtgt gtgtgt Ich suchte R-Archive und fand quotrollmeanquot, quotMovingAverages quot, gtgtgt quotSymmetricMAquot. Gtgtgt Keine der oben genannten mantierten Funktionen scheint die Glättung gtgtgt Polynomordnung und das gleitende Fenster mit als Eingabeparameter zu akzeptieren. Gtgtgt Vielleicht bin ich etwas fehlt. Gtgtgt gtgtgt Ich frage mich, ob es einige Bausteine ​​in R, wenn nicht sogar eine gtgtgt Funktion, die alles tut (ich erwarte nicht, dass viel, though). Gtgtgt Auch einige Literaturreferenzen und / oder Tutorials sind sehr willkommen. gtgtgt gtgtgt Danke soviel, gtgtgt Maura gtgtgt gtgtgt gtgtgt gtgtgt tutti i telefonini TIM gtgtgt gtgtgt gtgtgt alternative HTML-Version gtgtgt gtgtgt gtgtgt versteckte E-Mail-Verteiler gelöscht gtgtgt stat. ethz. ch/mailman/listinfo/r-help gtgtgt BITTE das lese Posting guide gtgtgt R-project. org/posting-guide. html gtgtgt und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. gtgt gtgt gtgt versteckte E-Mail-Mailingliste gtgt stat. ethz. ch/mailman/listinfo/r-help gtgt BITTE tun die Entsendung Führung gtgt R-project. org/posting-guide. html gtgt gelesen und kommentiert bieten, minimal, in sich geschlossene , Reproduzierbaren Code. Gt gt ------------------------------------------------- -------------------- gt E-Mail: (Ted Harding) lthidden email gt gt Fax-zu-email: 44 (0) 870 094 0861 gt Datum: 26 - Feb-09 Uhrzeit: 14:54:43 gt ------------------------------ XFMail ------- ----------------------- gt gt gt versteckte Mailingliste gt stat. ethz. ch/mailman/listinfo/r-help gt BITTE lesen Sie die Buchung Führer R-project. org/posting-guide. html gt und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. Gt Lets nicht verbringen unsere Zeit und Ressourcen Denken über Dinge, die so wenig oder so groß, dass alles, was sie wirklich für uns ist puff uns und machen uns das Gefühl, wie Götter. Wir sind Säugetiere und haben die ärgerlichen kleinen Probleme des Säugetierens nicht erschöpft. Als Antwort auf diesen Beitrag von Ted. Harding-2 Am 26. Februar 2009, um 9:54 Uhr, (Ted Harding) schrieb: gt Am 26-Feb-09 13:54:51, schrieb David Winsemius: gtgt Ich sah Gabors Antwort, aber haben eine Klarstellung zu beantragen. Sie sagen, Sie gtgt wollen, um niederfrequente Komponenten zu entfernen, aber dann fordern Sie gtgt Glättung gtgt Funktionen. Der Begriff quotsmoothingquot impliziert das Entfernen von hochfrequenten gtgt-Komponenten einer Serie. Gt gt Wenn Sie eine geglättete Serie produzieren, enthält Ihr Ergebnis natürlich gt die niederfrequenten Komponenten, wobei die hochfrequenten Komponenten gt entfernt wurden. Gt gt Wenn Sie das von der ursprünglichen Serie subtrahieren, enthält Ihr Ergebnis gt die hochfrequenten Komponenten, wobei die niederfrequenten gt-Komponenten entfernt wurden. Ja. Der Zeitreihen-Term würde quotdetrendingquot oder quotde-trendingquot sein. Gt gt gt Der gleitende Durchschnitt ist ein Weg der Glättung (kann aber periodische gt-Komponenten einführen, die nicht mit dem Anfang beginnen). Gt gt Filtern einer Zeitreihe ist eine sehr offene Aktivität In vielen gt-Fällen ist ein sinnvoller Start die Erforschung der spektralen Eigenschaften gt der Reihe, für die R mehrere Funktionen hat. Spectrum () gt im Stats-Paket (geladene bvy-Voreinstellung) ist eine Grundfunktion. Gt help. search (quottime seriesquot) wird eine Menge von Funktionen zu werfen. Gt gt Vielleicht möchten Sie bei Paket ltsa (lineare Zeitreihe gt-Analyse) zu suchen. Gt gt Alternativ, wenn yuou bereits gute Informationen über die gt-Frequenzstruktur der Reihe haben oder (zum Beispiel) wissen, dass gt es eine willdefinierte saisonale Komponente hat, dann könnten Sie gt bei der Gestaltung einer Übertragungsfunktion einschalten, die speziell darauf abgestimmt ist der Beruf. Gt Werfen Sie einen Blick auf RSiteSearch (quot quot) Wie die OPs Antwort zeigt, ist sie bereits mit Wavelet-Analyse. Meine Frage an dieser Stelle ist, ob sie nur geraten werden sollte, die niederfrequenten Komponenten zu ignorieren und auf die mittleren und hochfrequenten Komponenten zu konzentrieren. Wenn Sie bereits eine Art Spektralzerlegung, es sollte keine Notwendigkeit einer Subtraktion oder De-Trending-Schritt. Gt gt gt Hoping dieses hilft, gt Ted. Gt gt gt gtgt Wenn Glättung ist wirklich Ihr Ziel dann zusätzliche R-Ressource wäre gtgt smooth. spline, loess (oder lowess), ksmooth oder mit Glättung Begriffe gtgt in gtgt Regressionen. Venables und Ripley haben einiges gearbeitet Beispiele für gtgt wie in MASS. gtgt gtgt - gtgt David Winsemius gtgt gtgt gtgt Am 26. Februar 2009, um 7:07 Uhr, lthidden E-Mail gt schrieb: gtgt gtgtgt ich für etwas Hilfe suchen bei der Entfernung von Niederfrequenzkomponenten aus gtgtgt ein Signal, durch auf Moving Average Ein Schiebefenster. Gtgtgt Ich verstehe thiis ist ein Glättungsverfahren, dass ich nie in meinem gtgtgt Leben vor. Seufzer. Gtgtgt gtgtgt Ich suchte R-Archive und fand quotrollmeanquot, quotMovingAverages quot, gtgtgt quotSymmetricMAquot. Gtgtgt Keine der oben genannten mantierten Funktionen scheint die Glättung gtgtgt Polynomordnung und das gleitende Fenster mit als Eingabeparameter zu akzeptieren. Gtgtgt Vielleicht bin ich etwas fehlt. Gtgtgt gtgtgt Ich frage mich, ob es einige Bausteine ​​in R, wenn nicht sogar eine gtgtgt Funktion, die alles tut (ich erwarte nicht, dass viel, though). Gtgtgt Auch einige Literaturreferenzen und / oder Tutorials sind sehr willkommen. gtgtgt gtgtgt Danke soviel, gtgtgt Maura gtgtgt gtgtgt gtgtgt gtgtgt tutti i telefonini TIM gtgtgt gtgtgt gtgtgt alternative HTML-Version gtgtgt gtgtgt gtgtgt versteckte E-Mail-Verteiler gelöscht gtgtgt stat. ethz. ch/mailman/listinfo/r-help gtgtgt BITTE das lese Entsendung Führung gtgtgt R-project. org/posting-guide. html gtgtgt und bieten kommentiert, minimal, in sich geschlossene, reproduzierbare Code. gtgt gtgt gtgt versteckte E-Mail-Mailingliste gtgt stat. ethz. ch/mailman/listinfo/r-help gtgt BITTE tun die Entsendung Führung gtgt R-project. org/posting-guide. html gtgt gelesen und kommentiert bieten, minimal, in sich geschlossene , Reproduzierbaren Code. Gt gt ------------------------------------------------- -------------------- gt E-Mail: (Ted Harding) lthidden E-Mail gt gt Fax-to-E-Mail: 44 (0) 870 094 0861 gt Datum: 26 - Feb-09 Uhrzeit: 14:54:43 gt ------------------------------ XFMail ------- ----------------------- So berechnen Sie gleitenden Durchschnitt ohne Filter () Es gibt eine zillion Antworten darauf, denn Ihre Frage ist wirklich: Wie kann ich Glatt eine Zeitreihe So können Sie nach entsprechenden Keywords suchen. Meine Antwort ist: Verwenden Sie keine gleitenden Durchschnitte - das ist pathetisch alt. Löss ist eine unter den zillions von Alternativen, die Sie betrachten konnten. Post auf CV (stats. stackexchange) für andere statistische Alternativen für die Zeitreihe Glättung. Darüber hinaus ist die quotunderstandingquot Sie oben ist fehlerhaft. Anwendungsähnliche Konstrukte sind (R-Level) - Schleifen. So haben Sie Ihre Hausaufgaben durch Lesen einer Intro zu R (cran. r-project. org/doc/manuals/R-intro. pdf) oder andere Web-Tutorials Wenn nicht, bitte tun Sie dies, bevor Sie hier weiter. Bert Gunter Genentech Nichtklinische Biostatistik (650) 467-7374 quotData ist keine Information. Information ist nicht Wissen. Und Wissen ist sicherlich wisdom. quot H. Gilbert Welch nicht am Mo, 17. Februar 2014, um 10:45 Uhr, C W lthidden E-Mail gt schrieb: gt Hallo Liste gt Wie berechne ich einen gleitenden Durchschnitt ohne Filter () verwenden. Filter () scheinen keine gewichteten Durchschnittswerte zu geben. Gt gt Ich schaue in apply (), tapply. Aber nichts ist entscheidend. Gt gt Beispiel: gt gt datlt-c (1:20) gt Mittel (dat1: 3) gt Mittel (dat4: 6) gt Mittel (dat7: 9) gt Mittel (dat10: 12) gt gt etc. gt gt I Verstehen, der Punkt der Anwendung ist es, Schleifen zu vermeiden, wie sollte ich gt diese Idee in eine Anwendung () gt gt Danke, gt Mike gt gt alternative HTML-Version gelöscht gt gt gt versteckte E-Mail-Mailing-Liste gt stat. ethz. ch/mailman / Listinfo / r-help gt BITTE lesen Sie die Buchungsanleitung R-project. org/posting-guide. html gt und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. Antwort von tmrsg11 am 17. Februar 2014, um 10:45 Uhr, schrieb C W: gt Hallo Liste, gt Wie berechne ich einen gleitenden Durchschnitt ohne Filter (). Filter () scheinen keine gewichteten Durchschnittswerte zu geben. Gt gt Ich schaue in apply (), tapply. Aber nichts ist entscheidend. gt gt Zum Beispiel gt gt datlt-c (1:20) gt Mittelwert (DAT1: 3) gt Mittelwert (DAT4: 6) gt Mittelwert (DAT7: 9) gt Mittelwert (dat10: 12) gt gt usw. gt gt I Verstehen, der Punkt der Anwendung ist es, Schleifen zu vermeiden, wie sollte ich gt diese Idee in die Verwendung einer Anwendung () gt Konstruieren Sie einen Vektor für die Gruppierung und verwenden Sie tapply. Modulo-Abteilung ist eine gemeinsame Methode, um dies zu erreichen. Manchmal kann die seq-Funktion verwendet werden, wenn Sie die Länge richtig einstellen. gt tapply (dat, (0: ​​(Länge (dat) -1)) / 3, bedeuten) 0 1 2 3 4 5 6 2,0 5,0 8,0 11,0 14,0 17,0 19,5 tapply (dat, rund (seq (1, (Länge (dat )), Mittelwert) 1 2 3 4 5 6 7 1,5 4,5 8,0 11,0 14,5 18,0 20,0 Der Kommentar zur Gewichtung dos scheint in Ihrem Beispiel nicht beispielhaft zu sein. Gt Vielen Dank, gt Mike gt gt alternative HTML-Version gelöscht gt gt gt versteckte E-Mail-Mailing-Liste gt stat. ethz. ch/mailman/listinfo/r-help gt BITTE lesen Sie die Entsendeführer R-project. org/posting-guide. html Gt und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. David Winsemius Alameda, CA, USA öffnen diesen Beitrag in Baumansicht Bericht Inhalt melden Re: Mittelwert zu berechnen Bewegen ohne Filter verwendet () Als Antwort auf diesen Beitrag von Rui Barradas Für 5-Punkt-Durchschnitt, Filter (x, side2, filterrep (1/5, 5)), versus, Filter (x, side2, filterrep (1, 5) Haben sie die gleiche Wirkung, da die Summe muss 1. Gabor amp Rui: Ich bin mir bewusst, ... ich wollte nicht, ein Paket für eine Funktion Aus demselben Grund für sos-Paket zu installieren David, danke, das ist, was ich suche am Mo, 17. Februar 2014, um 2:07 Uhr, Rui Barradas lthidden E-Mail gt schrieb: gt Hallo, gt gt Viele Pakete eine movind durchschnittliche Funktion haben. Für gt Prognose Beispiel Paket. Oder gt gt Bibliothek (sos) gt findFn (quotmoving averagequot) gt gt in Ihrem Beispiel, was Sie berechnen ist nicht gerade ein gleitender Durchschnitt, aber in gt kann mit so etwas wie die folgenden berechnet werden gt gt s LT - (seqalong (dat) - 1). / 3 gt sapply (split (dat, s), Mittelwert) gt gt gt Hoffe, dass dies hilft, gt gt Rui Barradas gt gt Gt Em 17-02-2014 18:45, CW escreveu: gt gtgt Hallo Liste, gtgt Wie berechne ich einen gleitenden Durchschnitt ohne Filter (). Filter () gtgt nicht scheinen, gewichtete Durchschnitte zu geben. Gtgt gtgt Ich schaue in apply (), tapply. Aber nichts ist entscheidend. Beispiel: gtgt gtgt datlt-c (1:20) gtgt Mittel (dat1: 3) gtgt Mittel (dat4: 6) gtgt Mittel (dat7: 9) gtgt Mittel (dat10: 12) gtgt gtgt etc. gtgt gtgt I Verstehen, der Punkt der Anwendung ist es, Schleifen zu vermeiden, wie sollte ich gtgt diese gtgt-gtgt in diese Anwendung in eine Anwendung () gtgt gtgt Danke, gtgt Mike gtgt gtgt alternative HTML-Version gelöscht gtgt gtgt gtgt versteckte E-Mail-Mailing-Liste gtgt stat. ethz. ch/ Mailman / listinfo / r-help gtgt BITTE lesen Sie die Buchungsanleitung R-project. org/gtgt posting-guide. html gtgt und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. gtgt gtgt alternative HTML-Version deletedTechnical Analyse mit R In diesem Beitrag nehmen auch einen Blick darauf, wie ein Händler R nutzen könnten 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 berechneten Indikatoren als neue Spalten in unserer Eingabedatei anhängen, so dass es für die weitere Analyse oder Handelsstrategie Prototyping in Excel, R, oder jede andere CSV freundliche Software-Paket Ihrer Wahl verwendet werden. 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 Hilfe der TTR-Bibliotheken berechnen. R-Funktion SMA: Jetzt sehen wir die ersten 50 Werte des sma20-Arrays: Hier verwenden wir die Funktion SMA von TTR 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 Nun wollen wir einen neuen Datenrahmen mit allen Inputs erstellen 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, und 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 mehrere Argumente: Eingabedatenreihe (wie 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 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 in / von Dateien, Datenbanken, URLs, Web Services, etc. Das kombiniert mit der Prägnanz von Die 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