Exponentieller Gewichteter Gleitender Mittelwert Vba




Exponentieller Gewichteter Gleitender Mittelwert VbaRecipe6.4.Smoothing Daten mit gewichteten Durchschnittswerte Youd wie glatt Daten in einer Zeitreihe. Losung Verwenden Sie Exponential-Glattungsfunktion im Analysis ToolPak oder konstruieren Sie eine geglattete Datenreihe selbst, indem Sie Tabellenfunktionen und VBA verwenden. Diskussion Glattungsdaten sind oft wunschenswert, um unerwunschtes Rauschen in einer Datenreihe zu beseitigen. Berechnen von Bewegungsdurchschnitten, wie in Rezept 6.3 diskutiert, ist tatsachlich ein Glattungsprozess. Neben den oben beschriebenen Methoden der gleitenden Mittelwerte gibt es weitere Moglichkeiten, Daten zu glatten. Excel bietet eine exponentielle Glattungsfunktion als Teil des Analysis ToolPak. Desweiteren konnen Sie beliebige Glattungsoperationen erstellen, die Sie mit Standardkalkulationsblattern (und / oder VBA) wunschen. Sie haben diesen Ansatz bereits im vorigen Rezept gesehen, zeigen aber diesmal, wie Sie einen gewichteten gleitenden Durchschnitt verwenden, der von einem kubischen Spline-Interpolationskernel Gebrauch macht. Exponentielle Glattung Die exponentielle Glattung ist auch eine gewichtete Mittelungstechnik. Die Idee hinter der gewichteten Mittelung besteht darin, Datenwerte zu liefern, die dem Wert am nachsten liegen, der prognostiziert wird oder im Vergleich zu weiter entfernten Werten eine gro?ere Bedeutung oder einen gro?eren Einfluss hat. Exponentielle Glattung verwendet die folgende Formel: F n 1 ist der Wert, der im Zeitintervall n 1 abgeschatzt wird. A ist ein Gewichtungsfaktor, der in Excel als Dampfungsfaktor bezeichnet wird. F n der vorherige Schatzwert ist und Y n der vorherige Istwert in der ursprunglichen Datenreihe ist. Um eine exponentielle Glattung zu verwenden, wahlen Sie Werkzeuge Abbildung 6-11. Dialogfeld "Exponentialglattung" Geben Sie im Feld Eingabebereich den Zellbereich ein, der die Eingabedaten enthalt, die Sie glatten mochten (oder wahlen Sie im Arbeitsblatt). Geben Sie im Feld Dampfungsfaktor einen Dampfungsfaktor ein oder lassen Sie ihn leer, um den Standardwert von 0,3 zu verwenden. Geben Sie im Feld Ausgabebereich einen Verweis auf die oberste Zelle im gewunschten Ausgabezellenbereich ein. Drucken Sie OK, wenn Sie fertig sind, und Sie sollten die Ergebnisse auf Ihrer Tabelle sehen. Abbildung 6-12 zeigt ein Beispiel fur die gleichen Jahrestemperaturdaten, die in der vorherigen Rezeptur verwendet wurden. Die resultierende Datenreihe nach Glattung ist in Spalte R enthalten. Abbildung 6-12. Exponentielle Glattungsergebnisse Genau wie das Tool Moving Average, das fruher beschrieben wurde, legt das Tool Exponential Smoothing eine Zellenformel anstelle eines Wertes in jeder Zelle der resultierenden Datenreihe an. Auf diese Weise werden die geglatteten Daten automatisch aktualisiert, wenn sich Ihre ursprunglichen Daten andern. Die Zelle R10 ist in Abbildung 6-12 ausgewahlt, so dass Sie sehen konnen, wie die Formeln aussehen. Die Formel ist in der Formelleiste dargestellt und hat die Form 0.7O90.3R9. Wie Sie sehen konnen, entspricht diese Formel der exponentiellen Glattungsgleichung, die ich Ihnen fruher gezeigt habe. Selbstverstandlich konnen Sie diese Formeln selbst eingeben und dabei die Notwendigkeit nutzen, das Analyse-ToolPak zu verwenden, wenn Sie es wunschen. Abbildung 6-13 zeigt eine grafische Darstellung der geglatteten Datenreihe, die der Originalreihe uberlagert ist, so dass Sie den Unterschied zwischen den beiden sehen konnen. Abbildung 6-13. Exponentiell geglattete Temperaturdaten Andere gewichtete Mittelungsverfahren werden ublicherweise in der Zeitreihenanalyse verwendet. Im nachsten Abschnitt Ill zeigen Sie ein basierend auf einem kubischen Spline-Interpolationskernel. Kernel-Glattung In diesem Beispiel zeigt Ill eine gewichtete Mittelungstechnik, die einen kubischen Spline-Interpolationskern verwendet, der entworfen ist, um einen Gau?schen Kernel zu approximieren. Sie konnen alle Arten von verschiedenen Kerne fur Glattung mit nur geringfugigen Anderungen an der Technik Ill present. Der Kernel, den ich verwende, ist: r stellt den Abstand zwischen Datenpunkten dar und h stellt den effektiven Glattungsradius geteilt durch 2 dar. Kranke verwenden diese Glattungsfunktion, um Gewichte zu berechnen, wenn gewichtete Durchschnittswerte der Zeitreihen berechnet werden. Um diese Aufgabe zu erleichtern, habe ich eine VBA-Funktion namens Wcs, die Sie aus der Tabelle aufrufen. Beispiel 6-1 zeigt meine VBA-Implementierung fur diesen Glattungskernel. Beispiel 6-1. Kubische Spline-Kernel Dies ist eine ziemlich einfache Umsetzung der Gleichung Ich zeigte fruher, so werde ich nicht uber jede Zeile des Codes. Beziehen Sie sich auf Kapitel 2, wenn Sie nicht bereits beschleunigen, wenn Sie VBA verwenden und benutzerdefinierte Funktionen und Unterprogramme hinzufugen. Kranke benutzen diese Funktion, um Gewichte zu erzeugen, um die gleichen Temperaturdaten, die fruher erortert wurden, zu glatten. Abbildung 6-14 zeigt eine mit dieser Funktion berechnete Gewichtstabelle I. Abbildung 6-14. Gewichtstabelle Die erste Spalte in der Tabelle mit der Beschriftung r. Enthalt relative Indizes um den vierten Index mit der Bezeichnung 0. Wir konnen dies hier tun, um r zu berechnen, da die Zeitreihendaten in gleichma?ig beabstandeten Intervallen abgetastet werden. Die zweite Spalte enthalt Formeln wie Wcs (U10,2). Dies ist die in Zelle V10 enthaltene Formel. Alle anderen Zellen enthalten ahnliche Formeln. Die Summe der Gewichtungen (berechnet unter Verwendung der in Zelle V14 gezeigten SUM-Formel) ist erforderlich, um die gewichtete Durchschnittsberechnung zu normalisieren. Sie konnen diesen Schritt vermeiden, wenn Ihr Kernel einheitlich uber seinen Supportbereich integriert. Jetzt, um die geglattete Datenreihe zu berechnen, richte ich eine weitere Spalte in meiner Kalkulationstabelle ein, wie in Abbildung 6-15 gezeigt. Abbildung 6-15. Ergebnisse der Kernel-Glattung Die geglatteten Daten sind in Spalte S unter der Uberschrift Kernel-Glattung enthalten. Ich selektierte den ersten geglatteten Datenwert in Zelle S10 in der Figur, so dass Sie die Zellformel sehen konnen. Die Formel ist SUMPRODUCT (R7: R13, V7: V13) / V14. Wie Sie sehen konnen, verwendet es die SUMPRODUCT-Formel, um die Summe der Produkte jedes entsprechenden Terms in den beiden angegebenen Zellbereichen zu berechnen (weitere Informationen zu dieser und anderen praktischen Funktionen finden Sie in Kapitel 7). In diesem Fall entspricht der erste Zellenbereich den sechs Datenelementen um das gegebene Datenelement, einschlie?lich des gegebenen Datenelements. Dies bedeutet, dass der gewichtete Mittelwert in diesem Fall uber dem i-ten Datenposten zentriert ist und den gewichteten Einfluss der drei vorherigen Posten und die drei folgenden Posten umfasst. Der zweite Zellbereich enthalt die in Abbildung 6-14 dargestellten Gewichte. Weiterhin normalisiert das Teilen durch die Summe der in der Zelle V14 enthaltenen Gewichtungen das Ergebnis. Sobald die erste Formel aufgebaut wurde, habe ich einfach kopiert und in die restlichen Zellen in der Datenreihe eingefugt. Beachten Sie, dass wir einige Daten verlieren. Insbesondere verlieren wir aufgrund des Einflussbereichs der gewichteten Gewichtungsfunktion I die ersten und letzten drei Datenposten im Bereich. Sie konnen den Einflussbereich erhohen, indem Sie den Wert fur den in Wcs ubergebenen h-Parameter erhohen. Oder Sie konnen es verringern, indem Sie diesen Wert verringern. Je gro?er der Einflussbereich ist (umso gro?er die Anzahl der Datenelemente in der Reihe, die fur jedes geglattete Ergebnis gemittelt wird), desto glatter wird die resultierende Datenreihe. Abbildung 6-16 zeigt ein Diagramm der geglatteten Datenreihe im Vergleich zu den ursprunglichen Datenreihen. Der Effekt der Glattung ist deutlich erkennbar. Abbildung 6-16. Kernelgeglattete Temperaturdaten Siehe auch Siehe Rezept 6.3, um herauszufinden, wie man ungewogene gleitende Durchschnitte in Excel berechnet. Glattung von Daten mit den Techniken in diesem und dem vorherigen Rezept ist eigentlich eine Form der Filterung. Sie konnen auch Daten in der Frequenzdomane in Excel mit Fourier-Transformationen lesen Rezept 6.10, um mehr zu erfahren. Berechnen Historische Volatilitat mit EWMA Volatilitat ist die am haufigsten verwendete Ma? fur das Risiko. Die Volatilitat in diesem Sinne kann entweder eine historische Volatilitat (eine aus fruheren Daten beobachtete) oder eine Volatilitat (beobachtet aus Marktpreisen von Finanzinstrumenten) sein. Die historische Volatilitat kann auf drei Arten berechnet werden: Einfache Volatilitat, exponentiell gewichtetes Wachstum Durchschnitt (EWMA) GARCH Einer der gro?en Vorteile von EWMA ist, dass es mehr Gewicht auf die jungsten Ertrage bei der Berechnung der Renditen gibt. In diesem Artikel werden wir untersuchen, wie die Volatilitat mit EWMA berechnet wird. Wenn wir die Aktienkurse anschauen, konnen wir die taglichen logarithmischen Renditen unter Verwendung der Formel ln (P i / P i -1) berechnen, wobei P fur P steht Jeder Tag schlie?t Aktienkurs. Wir mussen das naturliche Protokoll verwenden, weil wir die Renditen kontinuierlich erweitern wollen. Wir haben jetzt taglich Rucksendungen fur die gesamte Preisreihe. Schritt 2: Platzieren Sie die Ruckkehr Der nachste Schritt ist die nehmen das Quadrat der langen Ruckkehr. Dies ist tatsachlich die Berechnung der einfachen Varianz oder der Volatilitat, die durch die folgende Formel dargestellt wird: Hier steht u fur die Rendite und m fur die Anzahl der Tage. Schritt 3: Gewichte Zuweisen Gewichte zuweisen, so dass die jungsten Renditen ein hoheres Gewicht haben und altere Renditen weniger Gewicht haben. Dazu benotigen wir einen Faktor Lambda (), eine Glattungskonstante oder einen persistenten Parameter. Die Gewichte werden als (1-) 0 zugewiesen. Lambda muss kleiner als 1 sein. Risikometrik verwendet Lambda 94. Das erste Gewicht ist (1-0,94) 6, das zweite Gewicht ist 60,94 5,64 und so weiter. In EWMA summieren sich alle Gewichte auf 1, jedoch sinken sie mit einem konstanten Verhaltnis von. Schritt 4: Multiplizieren Ruckkehr-quadriert mit den Gewichten Schritt 5: Nehmen Sie die Summe von R 2 w Dies ist die abschlie?ende EWMA-Varianz. Die Volatilitat ist die Quadratwurzel der Varianz. Der folgende Screenshot zeigt die Berechnungen. Das obige Beispiel, das wir gesehen haben, ist der von RiskMetrics beschriebene Ansatz. Die verallgemeinerte Form von EWMA kann als die folgende rekursive Formel dargestellt werden: 1 CommentHow zum Berechnen der gewichteten Bewegungsdurchschnitte in Excel mit exponentieller Glattung Excel-Datenanalyse fur Dummies, 2nd Edition Das Exponential-Glattungswerkzeug in Excel berechnet den gleitenden Durchschnitt. Die exponentielle Glattung gewichtet jedoch die in den gleitenden Durchschnittsberechnungen enthaltenen Werte, so da? neuere Werte einen gro?eren Einfluss auf die Durchschnittsberechnung haben und alte Werte einen geringeren Effekt haben. Diese Gewichtung wird durch eine Glattungskonstante erreicht. Um zu veranschaulichen, wie das Exponential-Glattungswerkzeug arbeitet, nehmen Sie an, dass Sie wieder die durchschnittliche tagliche Temperaturinformation betrachten. Gehen Sie folgenderma?en vor, um gewichtete gleitende Mittelwerte mit exponentieller Glattung zu berechnen: Um einen exponentiell geglatteten gleitenden Durchschnitt zu berechnen, klicken Sie zuerst auf die Schaltflache Data tab8217s Data Analysis. Wenn Excel das Dialogfeld Datenanalyse anzeigt, wahlen Sie aus der Liste den Punkt Exponentielle Glattung aus, und klicken Sie dann auf OK. Excel zeigt das Dialogfeld Exponentielle Glattung an. Identifizieren Sie die Daten. Um die Daten zu identifizieren, fur die Sie einen exponentiell geglatteten gleitenden Durchschnitt berechnen mochten, klicken Sie in das Textfeld Eingabebereich. Identifizieren Sie dann den Eingabebereich, indem Sie entweder eine Arbeitsbereichsadresse eingeben oder den Arbeitsblattbereich auswahlen. Wenn Ihr Eingabebereich eine Textbeschriftung enthalt, um Ihre Daten zu identifizieren oder zu beschreiben, aktivieren Sie das Kontrollkastchen Beschriftungen. Geben Sie die Glattung konstant. Geben Sie den Glattungskonstantenwert in das Textfeld Dampfungsfaktor ein. Die Excel-Hilfedatei legt nahe, dass Sie eine Glattungskonstante zwischen 0,2 und 0,3 verwenden. Vermutlich jedoch, wenn Sie dieses Tool verwenden, haben Sie Ihre eigenen Ideen, was die richtige Glattungskonstante ist. (Wenn you8217re ahnungslos uber die Glattungskonstante, vielleicht sollten Sie shouldn8217t mit diesem Tool.) Sagen Sie Excel, wo die exponentiell geglattete gleitende durchschnittliche Daten platzieren. Verwenden Sie das Textfeld Ausgabebereich, um den Arbeitsblattbereich zu identifizieren, in dem Sie die gleitenden Durchschnittsdaten platzieren mochten. Beispielsweise legen Sie die gleitenden Durchschnittsdaten in das Arbeitsblatt-Feld B2: B10. (Optional) Diagramm die exponentiell geglatteten Daten. Um die exponentiell geglatteten Daten darzustellen, aktivieren Sie das Kontrollkastchen "Diagrammausgabe". (Optional) Geben Sie an, dass Standardfehlerinformationen berechnet werden sollen. Um Standardfehler zu berechnen, aktivieren Sie das Kontrollkastchen Standardfehler. Excel legt Standardfehlerwerte neben den exponentiell geglatteten gleitenden Mittelwerten fest. Klicken Sie auf OK, nachdem Sie festgelegt haben, welche gleitenden durchschnittlichen Informationen Sie berechnen mochten und wo Sie sie platzieren mochten. Excel berechnet gleitende durchschnittliche Informationen. Hier ist ein Code, der hilfreich sein sollte fur diejenigen, die technische Analyse im Handel und wollen Strategien in Excel zu testen. Sie berechnet den einfachen, linear gewichteten und exponentiellen gleitenden Durchschnitt. Weiter werde ich die Schritte zur Erstellung des Formulars und des VBA-Codes vorstellen und erlautern. Einfugen einer UserForm 8211 Name: MAForm Fugen Sie vier Labels aus den Toolbox-Steuerelementen hinzu 8211 Beschriftungen wie im obigen Druckbildschirm Fugen Sie eine ComboBox fur die gleitende durchschnittliche Typauswahl hinzu. Es hei?t comboTypeMA Fugen Sie zwei RefEdit-Steuerelemente fur den Eingabebereich und den Ausgabebereich hinzu. Fugen Sie eine TextBox hinzu, um die gleitende durchschnittliche Periode zu selektieren. Fugen Sie zwei Schaltflachen hinzu: Name: buttonSubmit, Caption: Submit und Name: buttonCancel, Caption: Cancel Um die Dropdown-Liste fur die MA-Typ-Auswahl zu generieren und das User-Formular zu laden, ein neues Modul Wird mit dem unten stehenden Code eingefugt. Die ComboBox-Elemente, die mit gleitenden Durchschnittswerten und dem Benutzerformular gefullt werden, werden geladen. Option Explicit Sub loadMAForm () Mit MAFormboTypeMA. RowSource. AddItem Einfach. AddItem Gewichtet. AddItem Exponentielles Ende Mit MAForm. Show End Sub Unten ist der Code, der der Schaltflache Submit zugeschrieben wird. Private Sub buttonSubmitClick () Dim inputRange, outputRange Als Bereich Der inputRange enthalt die Preisreihen, die fur die Berechnung der MAs verwendet werden, und der outputRange wird mit den gleitenden Durchschnittswerten gefullt. Dim inputPeriod As Integer Der gleitende Durchschnittszeitraum wird deklariert. Dim inputAddress, outputAddress As String Die als String deklarierten Eingabe - und Ausgabebereiche. Wenn comboTypeMA. Value ltgt Exponential und comboTypeMA. Value ltgt Einfach und comboTypeMA. Value ltgt Weighted True Dann MsgBox Wahlen Sie einen gleitenden Durchschnittstyp aus der Liste aus. RefInputRange. SetFocus Exit Sub Dieser Teil der Prozedur erzwingt die ersten Einschrankungen bezuglich der ubermittelten Daten. Wenn der gleitende Durchschnittstyp nicht in der Dropdown-Liste enthalten ist, wird der Vorgang nicht zum nachsten Schritt fortgesetzt, und der Benutzer wird aufgefordert, ihn erneut auszuwahlen. ElseIf RefInputRange. Value Then MsgBox Bitte wahlen Sie den Eingabebereich. RefInputRange. SetFocus Exit Sub ElseIf RefOutputRange. Value Dann MsgBox Bitte wahlen Sie den Ausgabebereich. RefOutputRange. SetFocus Exit Sub ElseIf RefInputPeriod. Value Then MsgBox Bitte wahlen Sie die gleitende durchschnittliche Periode. RefInputPeriod. SetFocus Exit Sub ElseIf Nicht IsNumeric (RefInputPeriod. Value) Dann MsgBox Moving durchschnittliche Periode muss eine Zahl sein. RefInputPeriod. SetFocus Exit Sub End If Weitere Einschrankungen werden erstellt. Eingabebereich, Ausgabebereich und Eingabeperiode durfen nicht leer sein. Auch die gleitende durchschnittliche Periode muss eine Zahl sein. inputAddress RefInputRange. Value Set inputRange Range (inputAddress) outputAddress RefOutputRange. Value Set outputRange Range (outputAddress) inputPeriod RefInputPeriod. Value Die Argumente fur inputRange und outputRange Bereiche werden inputAddress und outputAddress als Strings deklariert. If inputRange. Columns. Count ltgt 1 Dann kann der MsgBox-Eingabebereich nur eine Spalte haben. RefInputRange. SetFocus Exit Sub Der inputRange darf nur eine Spalte enthalten. ElseIf inputRange. Rows. Count ltgt outputRange. Rows. Count MsgBox Dann Ausgangsbereich eine unterschiedliche Anzahl von Zeilen als der Eingangsbereich hat. RefInputRange. SetFocus Exit Sub End If Die inputRange und outputRange mussen eine gleiche Anzahl von Zeilen haben. Dim RowCount As Integer RowCount inputRange. Rows. Count Dim CROW As Integer ReDim inputarray (1 bis RowCount) Fur crow 1 Um RowCount inputarray (CROW) inputRange. Cells (krahe, 1).Value Next CROW inputarray als Array deklariert ist und it8217s Elemente Entsprechen den Werten aus jeder Zeile des Eingangsbereichs. Wenn inputPeriod gt RowCount Then MsgBox Anzahl der ausgewahlten Beobachtungen ist amp RowCount amp und die Periode amp inputPeriod amp. Der Eingangsbereich muss eine hohere oder gleiche Anzahl von Elementen haben als der ausgewahlte Zeitraum. RefInputRange. SetFocus Exit Sub End If Eine weitere Einschrankung 8211 hinzugefugt wird Der Eingangsbereich muss einen gleichen oder hoheren Betrag von Elementen als die Periode haben. Wenn inputPeriod lt 0 Then durchschnittliche Dauer MsgBox bewegen hoher als 0 RefInputPeriod. SetFocus Exit Sub End sein muss, wenn der gleitende Durchschnitt Zeitraum muss hoher als Null sein. ReDim output (inputPeriod Um RowCount) As Variant Auch die Array-Dimensionen von output bestimmt werden. Die untere Grenze des Arrays ist die inputPeriod Wert und die obere Grenze ist, den Wert RowCount (die Anzahl der Elemente in dem inputRange). Im folgenden Teil der Prozedur wurde der einfache gleitende Durchschnitt berechnet, wenn die Auswahl fur comboTypeMA einfach ist. SMA ----------------------------------------- Wenn comboTypeMA. Value Simple Then Dim i , J Als Integer Dim temp als Double Fur i inputPeriod Fur RowCount temp 0 Fur j (i - (inputPeriod - 1)) Zu i temp temp inputarray (j) Next j outputarray (i) temp / inputPeriod outputRange. Cells (i, 1 ).Value outputarray (i) Next i outputRange. Cells (0, 1).Value SMA (amp inputPeriod amp) Grundsatzlich berechnet das Verfahren den gleitenden Durchschnitt der letzten x-Zahlen (x entspricht der inputPeriod), beginnend mit dem Element Des Eingangsarrays gleich der inputPeriod. Unten ist ein vereinfachtes Beispiel, das jeden Schritt des Verfahrens zeigt. In diesem Beispiel gibt es vier Ziffern (no01, no02, no03 und no04) von Zeile 1 bis Zeile 4 und die gleitende durchschnittliche Periode ist 3. Nach jedem neuen gleitenden Durchschnitt berechnet jede Zelle des outputRange den Wert aus dem Wert Ausgabearray. Und nachdem alle gleitenden Mittelwerte berechnet sind, wird in der Zelle uber outputRange ein Titel eingefugt, der den gleitenden Durchschnittstyp und die Periode enthalt. Dieser nachste Teil wird den exponentiellen gleitenden Durchschnitt berechnen. EMA ------------------------------------------ ElseIf comboTypeMA. Value Exponential Dann Dim Alpha As Doppel alpha 2 / (inputPeriod 1) Fur j 1 Zu inputPeriod temp temp inputarray (j) Weiter j outputarray (inputPeriod) temp / inputPeriod Zuerst wird der Wert von alpha bestimmt. Da bei der Berechnung der Wert der EMA auf der vorherigen EMA basiert, wird der erste der einfache gleitende Durchschnitt sein. (I - 1) alpha (inputarray (i) - outputarray (i - 1)) Next i Beginnend mit dem zweiten gleitenden Durchschnitt werden sie auf der Grundlage der obigen Formel berechnet: Vorherige EMA plus alpha multipliziert mit der Differenz zwischen der aktuellen Zahl aus dem Eingangsarray und dem vorherigen EMA-Wert. (I, 1).Value outputarray (i) Weiter i outputRange. Cells (0, 1).Value EMA (amp inputPeriod amp) Genau wie der Code fur SMA wird das Outputarray gefullt und Die Zelle uber Outputarray reprasentiert den Typ und die Periode des gleitenden Durchschnitts. Unten ist der Code fur die Berechnung der gewichteten gleitenden Durchschnitt. WMA ------------------------------------------ ElseIf comboTypeMA. Value Weighted Then Dim TEMP2 As Integer For i inputPeriod Um RowCount Temp 0 temp2 0 fur j (i - (inputPeriod - 1)) bis i Temp Temp inputarray (j) (j - i inputPeriod) TEMP2 TEMP2 (j - i inputPeriod) Next j output (i ) temp / temp2 outputRange. Cells (i, 1).Value output (i) Next i outputRange. Cells (0, 1).Value WMA (amp inputPeriod amp) End If Die folgenden Tabelle sind die Schritte zur Berechnung der einzelnen variablen enthalt verwendet fur Die WMA-Berechnung. Genau wie im vorherigen Beispiel, in diesem gibt es fur Zahlen im inputRange. Und die Eingabeperiode ist 3. Unten ist der endgultige Code der Prozedur, die das Benutzerformular entladt. Unload MAForm End Sub Die folgende Prozedur ist fur die Schaltflache Abbrechen. Es wird in demselben Modul hinzugefugt. Private Sub buttonCancelClick () Unload MAForm End SubHow berechnen EMA in Excel Erfahren Sie, wie die exponentielle gleitende Durchschnitt in Excel und VBA, zu berechnen und eine kostenlose Web verbundenen Kalkulationstabelle erhalten. Die Kalkulationstabelle holt die Bestandsdaten von Yahoo Finance ab, berechnet die EMA (uber dem gewahlten Zeitfenster) und stellt die Ergebnisse dar. Der Download-Link ist unten. Die VBA kann angesehen und bearbeitet werden. Aber zuerst disover, warum EMA ist wichtig fur technische Handler und Marktanalysten. Historische Aktienkurse werden oft mit vielen hochfrequenten Gerauschen belastet. Das verbirgt oft gro?e Trends. Gleitende Durchschnitte helfen, diese kleinen Schwankungen auszugleichen, so dass Sie einen besseren Einblick in die allgemeine Marktrichtung erhalten. Der exponentielle gleitende Durchschnitt legt mehr Wert auf neuere Daten. Je gro?er die Zeitspanne, desto geringer die Wichtigkeit der aktuellsten Daten. EMA wird durch diese Gleichung definiert. (Multipliziert mit einem Gewicht) und yesterday8217s EMA (multipliziert mit 1-Gewicht) Sie mussen die EMA-Berechnung mit einer anfanglichen EMA (EMA 0) kickstart. Dies ist gewohnlich ein einfacher gleitender Durchschnitt der Lange T. Die obige Tabelle gibt beispielsweise die EMA von Microsoft zwischen dem 1. Januar 2013 und dem 14. Januar 2014 an. Technische Handler verwenden oft die Kreuzung zweier gleitender Durchschnitte 8211 mit einer kurzen Zeitskala Und ein anderer mit einer langen Zeitskala 8211, um Kauf / Verkaufssignale zu erzeugen. Haufig werden 12- und 26-Tage-Gleitmittel verwendet. Wenn der kurzere gleitende Durchschnitt uber dem langeren gleitenden Durchschnitt steigt, ist der Markt aufwarts tendiert, der dieses ein Kaufsignal ist. Allerdings, wenn die kurzere gleitende Mittelwerte fallt unter den langlebigen Durchschnitt, der Markt sinkt dies ist ein Verkaufssignal. Let8217s erlernen zuerst, wie man EMA using Arbeitsblattfunktionen berechnet. Danach entdecken wir, wie man VBA zur Berechnung von EMA verwendet (und automatisch Plot Diagramme) Berechnen Sie EMA in Excel mit Worksheet-Funktionen Schritt 1. Let8217s sagen, dass wir die 12-Tage-EMA von Exxon Mobil8217s Aktienkurs berechnen wollen. Wir mussen zunachst historische Aktienkurse 8211 erhalten, die Sie mit diesem Bulk-Aktien-Downloader tun konnen. Schritt 2 . Berechnen Sie den einfachen Durchschnitt der ersten 12 Preise mit Excel8217s Average () - Funktion. In der Screengrab unten, in Zelle C16 haben wir die Formel AVERAGE (B5: B16) wo B5: B16 enthalt die ersten 12 schlie?en Preise Schritt 3. Knapp unterhalb der Zelle in Schritt 2 verwendet wird, geben Sie die Formel EMA oben Da haben Sie es You8217ve erfolgreich einen wichtigen technischen Indikator berechnet, EMA, in einer Tabelle. Berechnen EMA mit nun VBA let8217s die Berechnungen mit VBA mechanisieren, einschlie?lich der automatischen Erstellung von Plots. Ich won8217t Sie die volle VBA zeigen hier (it8217s verfugbar in der Tabelle unten), aber we8217ll den kritischsten Code diskutieren. Schritt 1. Download historische Aktienkurse fur Ihren Ticker von Yahoo Finance (mit CSV-Dateien), und sie in Excel laden oder die VBA in dieser Tabelle verwenden, um historische Zitate direkt in Excel zu bekommen. Ihre Daten konnen so aussehen: Schritt 2. Dies ist, wo wir ein paar Gehirnzellen zu excercise brauchen 8211 mussen wir die EMA Gleichung in VBA zu implementieren. Wir konnen R1C1-Stil verwenden, um programmgesteuert Formeln in einzelne Zellen eingeben. Untersuchen Sie das Code-Snippet unten. EMAWindow ist eine Variable, die gewunschten Zeitfenster numRows gleich ist die Gesamtzahl der Datenpunkte 1 (8220 18221 ist, weil we8217re, dass die tatsachliche Bestandsdaten beginnt in Zeile unter der Annahme, 2) die EMA in Spalte h berechnet Unter der Annahme, dass EMAWindow 5 und numrows 100 (das hei?t, gibt es 99 Datenpunkte) die erste Zeile stellt eine Formel in Zelle h6, die das arithmetische Mittel der ersten 5 historischen Datenpunkte die zweite Zeile stellt Formeln in Zellen h7 berechnet: h100, die die EMA von der restlichen 95 berechnet Datenpunkte Schritt 3 Diese VBA-Funktion erzeugt einen Plot des engen Preises und der EMA. Gro?er Job auf Diagrammen und Erklarungen. Ich habe eine Frage though. Wenn ich das Startdatum ein Jahr spater und sehen Sie sich den letzten EMA Daten andern, ist es deutlich anders, als wenn ich den gleichen EMA Zeitraum mit einem fruheren Starttermin fur den gleichen letzten Tag Referenz. Ist das, was Sie erwarten. Es macht es schwierig, auf veroffentlichte Diagramme mit EMAs angezeigt und sehen nicht das gleiche Diagramm. Shivashish Sarkar sagt: Hallo, ich bin mit Ihrem EMA-Rechner und ich wirklich zu schatzen wissen. Allerdings habe ich bemerkt, dass der Rechner nicht in der Lage ist, die Diagramme fur alle Unternehmen zu zeichnen (es zeigt, Laufzeitfehler 1004). Konnen Sie bitte erstellen Sie eine aktualisierte Version Ihres Rechners, in dem neue Unternehmen werden einbezogen werden Leave a Reply Cancel reply Wie die kostenlose Spreadsheets Master Knowledge Base Aktuelle Beitrage