Wednesday 5 July 2017

Einfach Gleitender Durchschnitt Beispiel Matlab


Simple Moving Average - SMA BREAKING DOWN Einfache Moving Average - SMA Ein einfacher gleitender Durchschnitt ist anpassbar, da er für eine andere Anzahl von Zeiträumen berechnet werden kann, einfach durch Hinzufügen des Schlusskurses der Sicherheit für eine Anzahl von Zeiträumen und dann Teilen Diese Summe um die Anzahl der Zeiträume, die den Durchschnittspreis der Sicherheit über den Zeitraum gibt. Ein einfacher gleitender Durchschnitt glättet die Volatilität und macht es einfacher, die Preisentwicklung eines Wertpapiers zu sehen. Wenn der einfache gleitende Durchschnitt aufblickt, bedeutet dies, dass der Sicherheitspreis steigt. Wenn es nach unten zeigt, bedeutet dies, dass der Wert der Sicherheit abnimmt. Je länger der Zeitrahmen für den gleitenden Durchschnitt, desto glatter der einfache gleitende Durchschnitt. Ein kürzerfristiger gleitender Durchschnitt ist volatiler, aber sein Lesen ist näher an den Quelldaten. Analytische Bedeutung Durchgehende Durchschnitte sind ein wichtiges analytisches Instrument, um die aktuellen Preisentwicklungen und das Potenzial für eine Veränderung eines etablierten Trends zu identifizieren. Die einfachste Form der Verwendung eines einfachen gleitenden Durchschnittes in der Analyse ist es, um schnell zu identifizieren, ob eine Sicherheit in einem Aufwärtstrend oder Abwärtstrend ist. Ein weiteres beliebtes, wenn auch etwas komplexeres analytisches Werkzeug ist es, ein Paar einfacher gleitender Durchschnitte zu vergleichen, wobei jeder unterschiedliche Zeitrahmen abdeckt. Wenn ein kurzfristiger einfacher gleitender Durchschnitt über einem längerfristigen Durchschnitt liegt, wird ein Aufwärtstrend erwartet. Auf der anderen Seite signalisiert ein langfristiger Durchschnitt über einem kürzeren Durchschnitt eine Abwärtsbewegung im Trend. Beliebte Trading Patterns Zwei beliebte Trading-Muster, die einfache gleitende Durchschnitte verwenden, gehören das Todeskreuz und ein goldenes Kreuz. Ein Todeskreuz tritt auf, wenn der 50-tägige, einfach gleitende Durchschnitt unter dem 200-Tage-Gleitender Durchschnitt liegt. Dies gilt als bärisches Signal, dass weitere Verluste auf Lager sind. Das goldene Kreuz tritt auf, wenn ein kurzfristiger gleitender Durchschnitt über einen langfristig gleitenden Durchschnitt bricht. Verstärkt durch hohe Handelsvolumina, kann dies signalisieren weitere Gewinne sind im Speicher.29 September, 2013 Umzugsdurchschnitt durch Faltung Was ist gleitender Durchschnitt und was ist es gut für Wie ist das Bewegen von Mitteln durch die Verwendung von Faltung Bewegen Durchschnitt ist eine einfache Operation in der Regel verwendet werden Unterdrücken das Rauschen eines Signals: Wir setzen den Wert jedes Punktes auf den Mittelwert der Werte in seiner Nachbarschaft. Nach einer Formel: Hier ist x die Eingabe und y ist das Ausgangssignal, während die Größe des Fensters w ist, soll ungerade sein. Die obige Formel beschreibt eine symmetrische Operation: Die Proben werden von beiden Seiten des tatsächlichen Punktes genommen. Unten ist ein echtes Leben Beispiel. Der Punkt, an dem das Fenster gelegt wird, ist rot. Werte außerhalb von x sollen Nullen sein: Um herumzuspielen und die Effekte des gleitenden Durchschnitts zu sehen, werfen Sie einen Blick auf diese interaktive Demonstration. Wie man es durch Faltung macht Wie Sie vielleicht erkannt haben, ist die Berechnung des einfachen gleitenden Durchschnitts ähnlich der Faltung: In beiden Fällen wird ein Fenster entlang des Signals verschoben und die Elemente im Fenster werden zusammengefasst. Also, versuch es, das Gleiche zu tun, indem du eine Faltung benutzt. Verwenden Sie die folgenden Parameter: Die gewünschte Ausgabe ist: Als erster Ansatz, versuchen wir, was wir bekommen, indem wir das x-Signal durch den folgenden k-Kernel falten: Der Ausgang ist genau dreimal größer als der erwartete. Es kann auch gesehen werden, dass die Ausgangswerte die Zusammenfassung der drei Elemente im Fenster sind. Es ist, weil während der Faltung das Fenster verschoben wird, werden alle Elemente in ihm mit einem multipliziert und dann zusammengefasst: yk 1 cdot x 1 cdot x 1 cdot x Um die gewünschten Werte von y zu erhalten. Die Ausgabe wird durch 3 geteilt: Nach einer Formel, die die Teilung einschließt: Aber wäre es nicht optimal, die Teilung während der Faltung zu machen. Hier kommt die Idee, indem sie die Gleichung neu arrangiert: So werden wir den folgenden k Kernel verwenden: Auf diese Weise werden wir Bekomme die gewünschte Ausgabe: Im Allgemeinen: Wenn wir gleitenden Durchschnitt durch Faltung mit einer Fenstergröße von w machen wollen. Wir verwenden den folgenden k Kernel: Eine einfache Funktion, die den gleitenden Durchschnitt macht: Ein Beispiel ist: Download movAv. m (siehe auch movAv2 - eine aktualisierte Version, die eine Gewichtung erlaubt) Beschreibung Matlab enthält Funktionen namens movavg und tsmovavg (Zeitreihen bewegen Durchschnitt) in der Financial Toolbox, movAv ist entworfen, um die grundlegende Funktionalität dieser zu replizieren. Der Code hier gibt ein schönes Beispiel für die Verwaltung von Indizes innerhalb Schleifen, die verwirrend sein können, um mit zu beginnen. Ive bewusst bewahrt den Code kurz und einfach, um diesen Prozess klar zu halten. MovAv führt einen einfachen gleitenden Durchschnitt durch, der in einigen Situationen verwendet werden kann, um laute Daten wiederherzustellen. Es funktioniert, indem man den Mittelwert der Eingabe (y) über ein gleitendes Zeitfenster nimmt, dessen Größe durch n angegeben ist. Je größer n ist, desto größer ist der Glanzgrad der Wirkung von n relativ zur Länge des Eingangsvektors y. Und effektiv (gut, Art von) schafft einen Tiefpass-Frequenz-Filter - siehe die Beispiele und Überlegungen Abschnitt. Da die Menge an Glättung, die durch jeden Wert von n gegeben wird, relativ zu der Länge des Eingangsvektors ist, ist es immer wert, verschiedene Werte zu testen, um zu sehen, was angemessen ist. Denken Sie auch daran, dass n Punkte in jedem Durchschnitt verloren gehen, wenn n 100 ist, die ersten 99 Punkte des Eingangsvektors enthalten nicht genügend Daten für einen 100pt Durchschnitt. Dies kann durch Stapeln von Durchschnittswerten etwas vermieden werden, z. B. der Code und das Diagramm unten vergleichen eine Anzahl unterschiedlicher Längenfensterdurchschnitte. Beachten Sie, wie glatt 1010pt mit einem einzigen 20pt Durchschnitt verglichen wird. In beiden Fällen gehen insgesamt 20 Datenpunkte verloren. Erstellen Sie xaxis x1: 0.01: 5 erzeugen Rauschen rausschalten 4 Rausch repmat (randn (1, ceil (numel (x) noiseReps)), noiseReps, 1) Rauschumformung (Rauschen, 1, Länge (Rauschen) noiseReps) Generieren Sie ydata noise yexp ( (Y, 10) 10 pt y3 movAv (y2, 10) 1010 pt y4 movAv (y, 20) 20 pt y5 movAv (y, 40) 40 pt (X, y, y2, y3, y4, y5, y6) Legende (Rohdaten, 10pt gleitender Durchschnitt, 1010pt, 20pt, 40pt, 100pt) xlabel (x) ylabel (x, y, y2, y3, y4, y5, y6) Y) Titel (Vergleich der gleitenden Durchschnitte) movAv. m Code Durchlauffunktion Ausgang movAv (y, n) Die erste Zeile definiert den Funktionsnamen, Ein - und Ausgänge. Die Eingabe x sollte ein Vektor von Daten sein, um den Durchschnitt zu durchführen, n sollte die Anzahl der Punkte sein, um den Durchschnitt über die Ausgabe auszuführen, wird die gemittelten Daten enthalten, die von der Funktion zurückgegeben werden. VorbereitungsausgangNaN (1, Numel (y)) Mittelpunkt von n midPoint Runde finden (n2) Die Hauptarbeit der Funktion erfolgt in der for-Schleife, aber vor dem Start werden zwei Dinge vorbereitet. Zuerst wird die Ausgabe als NaNs vorgegeben, dies diente zwei Zwecken. Zuerst ist die Vorveröffentlichung in der Regel gute Praxis, da es das Gedächtnis-Jonglieren reduziert, das Matlab zu tun hat, zweitens macht es es sehr einfach, die gemittelten Daten in eine Ausgabe zu bringen, die die gleiche Größe wie der Eingangsvektor hat. Dies bedeutet, dass die gleiche xaxis später für beide verwendet werden kann, was für das Plotten bequem ist, alternativ können die NaNs später in einer Zeile des Codes entfernt werden (Ausgabeausgabe (Die Variable midPoint wird verwendet, um die Daten in dem Ausgangsvektor auszurichten N 10, 10 Punkte werden verloren, weil für die ersten 9 Punkte des Eingangsvektors es nicht genügend Daten gibt, um einen 10-Punkt-Durchschnitt zu nehmen. Da die Ausgabe kürzer als die Eingabe ist, muss sie ordnungsgemäß ausgerichtet werden Verwendet werden, so dass eine gleiche Menge an Daten am Anfang und am Ende verloren geht und die Eingabe wird mit dem Ausgang durch die NaN-Puffer, die bei der Vorverteilung der Ausgabe erzeugt werden, mit einer Ausrichtung von 1: Länge (y) - n, (A: b) ban berechnen Mittelwert (amidPoint) Mittelwert (y (a: b)) Ende In der for-Schleife selbst wird ein Mittelwert über jedes aufeinanderfolgende Segment der Eingabe übernommen. Die Schleife läuft für a Definiert als 1 bis zur Länge des Eingangs (y), abzüglich der Daten, die verloren gehen (n) Wenn der Eingang 100 Punkte lang ist und n 10 ist, läuft die Schleife von (a) 1 bis 90. Dies ist möglich Bedeutet, dass der erste Index des zu gemittelten Segments bereitgestellt wird. Der zweite Index (b) ist einfach an-1. Also auf der ersten iteration, a1. N10 So b 11-1 10. Der erste Durchschnitt wird über y (a: b) übernommen. Oder x (1:10). Der Durchschnitt dieses Segments, das ein einzelner Wert ist, wird im Ausgang am Index amidPoint gespeichert. Oder 156. Auf der zweiten Iteration, a2. B 210-1 11 So wird der Mittelwert über x (2:11) übernommen und im Ausgang (7) gespeichert. Bei der letzten Iteration der Schleife für eine Eingabe der Länge 100, a91. B 9010-1 100 so wird der Mittelwert über x (91: 100) übernommen und im Ausgang (95) gespeichert. Dies verlässt den Ausgang mit insgesamt n (10) NaN-Werten am Index (1: 5) und (96: 100). Beispiele und Überlegungen Umzugsdurchschnitte sind in manchen Situationen sinnvoll, aber sie sind nicht immer die beste Wahl. Hier sind zwei Beispiele, wo sie nicht unbedingt optimal sind. Mikrofonkalibrierung Dieser Satz von Daten repräsentiert die Pegel jeder Frequenz, die von einem Lautsprecher erzeugt und von einem Mikrofon mit einer bekannten linearen Antwort aufgezeichnet wird. Der Ausgang des Lautsprechers variiert mit der Frequenz, aber wir können diese Variation mit den Kalibrierdaten korrigieren - die Ausgabe kann in der Höhe angepasst werden, um die Schwankungen der Kalibrierung zu berücksichtigen. Beachten Sie, dass die Rohdaten verrauscht sind - das bedeutet, dass eine kleine Frequenzänderung eine große, unberechenbare Änderung der Ebene zu berücksichtigen scheint. Ist das realistisch oder ist dies ein Produkt der Aufzeichnungsumgebung Es ist in diesem Fall sinnvoll, einen gleitenden Durchschnitt anzuwenden, der die Pegelfrequenzkurve glättet, um eine Eichkurve zu liefern, die etwas weniger unregelmäßig ist. Aber warum ist dies nicht optimal in diesem Beispiel Mehr Daten wäre besser - Mehrere Kalibrierungen läuft gemittelt zusammen würde das Rauschen im System zerstören (solange es zufällig) und eine Kurve mit weniger subtilen Details verloren zu machen. Der gleitende Durchschnitt kann sich nur annähern, und kann einige höhere Frequenz Dips und Peaks aus der Kurve, die wirklich existieren zu entfernen. Sinuswellen Mit einem gleitenden Durchschnitt auf Sinuswellen hebt sich zwei Punkte hervor: Die allgemeine Frage der Wahl einer vernünftigen Anzahl von Punkten, um den Durchschnitt zu übertreffen. Es ist einfach, aber es gibt effektivere Methoden der Signalanalyse als die Mittelung von oszillierenden Signalen im Zeitbereich. In dieser Grafik ist die ursprüngliche Sinuswelle blau aufgetragen. Lärm wird hinzugefügt und als orangefarbene Kurve aufgetragen. Ein gleitender Durchschnitt wird an verschiedenen Punkten durchgeführt, um zu sehen, ob die ursprüngliche Welle wiederhergestellt werden kann. 5 und 10 Punkte liefern vernünftige Ergebnisse, aber entfernen Sie nicht das Geräusch ganz, wo, wie eine größere Anzahl von Punkten beginnen, Amplitude Detail zu verlieren, wie der Durchschnitt erstreckt sich über verschiedene Phasen (denken Sie daran, die Welle oscilates um Null, und Mittel (-1 1) 0) . Ein alternativer Ansatz wäre, ein Tiefpassfilter zu konstruieren, als es auf das Signal im Frequenzbereich angewendet werden kann. Ich werde nicht ins Detail gehen, da es über den Rahmen dieses Artikels hinausgeht, aber da das Rauschen beträchtlich höhere Frequenz als die Wellen-Grundfrequenz ist, wäre es in diesem Fall ziemlich einfach, einen Tiefpassfilter zu konstruieren, als die Hochfrequenz zu entfernen Lärm.

No comments:

Post a Comment