Tuesday 3 January 2017

Profit Of Weighted Moving Average Forecasting

Net. sourceforge. openforecast. models Klasse WeightedMovingAverageModel Ein gewichtetes gleitendes Durchschnittsprognosemodell basiert auf einer künstlich konstruierten Zeitreihe, in der der Wert für einen gegebenen Zeitraum durch den gewichteten Mittelwert dieses Werts und die Werte für eine gewisse Anzahl vorhergehender Zeit ersetzt wird Zeiträume. Wie Sie vielleicht aus der Beschreibung erraten haben, ist dieses Modell am besten für Zeitreihendaten, d. H. Daten, die sich über die Zeit ändern, geeignet. Da der Prognosewert für einen gegebenen Zeitraum ein gewichteter Durchschnitt der vorangegangenen Perioden ist, wird die Prognose immer scheinbar zurückbleiben, entweder bei der Erhöhung oder Verminderung der beobachteten (abhängigen) Werte. Wenn beispielsweise eine Datenreihe einen merkbaren Aufwärtstrend aufweist, wird eine gewichtete gleitende Durchschnittsprognose generell eine Unterbewertung der Werte der abhängigen Variablen ergeben. Das gewichtete gleitende Durchschnittmodell, wie das gleitende Durchschnittsmodell, hat gegenüber anderen Prognosemodellen einen Vorteil, dass es in einer Reihe von Beobachtungen Gipfel und Mulden (oder Täler) glättet. Jedoch, wie das gleitende Durchschnittmodell, hat es auch einige Nachteile. Insbesondere erzeugt dieses Modell keine tatsächliche Gleichung. Daher ist es nicht alles, was nützlich als ein Mittel-Langstrecken-Prognose-Tool. Es kann nur zuverlässig genutzt werden, um ein paar Perioden in die Zukunft zu prognostizieren. Seit: 0.4 Autor: Steven R. Gould Felder geerbt aus der Klasse net. sourceforge. openforecast. models. AbstractForecastingModel WeightedMovingAverageModel () Erstellt ein neues gewichtetes gleitendes Durchschnittsprognosemodell. WeightedMovingAverageModel (Doppelgewichte) Erstellt ein neues gewichtetes gleitendes Durchschnittsprognosemodell unter Verwendung der angegebenen Gewichte. Prognose (double timeValue) Gibt den Prognosewert der abhängigen Variablen für den gegebenen Wert der unabhängigen Zeitvariablen zurück. GetForecastType () Gibt einen oder zwei Wortnamen dieser Art von Prognosemodell zurück. GetNumberOfPeriods () Gibt die aktuelle Anzahl von Perioden zurück, die in diesem Modell verwendet werden. GetNumberOfPredictors () Gibt die Anzahl der Prädiktoren zurück, die vom zugrunde liegenden Modell verwendet werden. SetWeights (Doppelgewichte) Setzt die Gewichte dieses gewichteten gleitenden Durchschnittsprognosemodells auf die angegebenen Gewichte. ToString () Dies sollte überschrieben werden, um eine textuelle Beschreibung des aktuellen Prognosemodells zu liefern, einschließlich, wenn möglich, alle abgeleiteten Parameter. Von der Klasse geerbte Methoden network. sourceforge. openforecast. models. AbstractTimeBasedModel WeightedMovingAverageModel Erstellt ein neues gewichtetes gleitendes Durchschnittsprognosemodell unter Verwendung der angegebenen Gewichte. Für ein gültiges zu konstruierendes Modell sollten Sie init aufrufen und einen Datensatz mit einer Reihe von Datenpunkten übergeben, wobei die Zeitvariable initialisiert wird, um die unabhängige Variable zu identifizieren. Die Größe des Gewichts-Arrays wird verwendet, um die Anzahl der Beobachtungen zu bestimmen, die verwendet werden, um den gewichteten gleitenden Durchschnitt zu berechnen. Zusätzlich wird der letzten Periode das Gewicht gegeben, das durch das erste Element des Arrays, d. H. Gewichte, definiert ist. Die Größe des Gewichts-Arrays wird auch verwendet, um die Menge zukünftiger Perioden zu bestimmen, die effektiv prognostiziert werden können. Mit einem 50-Tage-gewichteten gleitenden Durchschnitt können wir mit einer Genauigkeit nicht mehr als 50 Tage über den letzten Zeitraum, für den Daten verfügbar sind, prognostizieren. Selbst Prognosen in der Nähe des Endes dieses Bereichs sind wahrscheinlich unzuverlässig. Hinweis zu Gewichten Im Allgemeinen sollten die Gewichte, die an diesen Konstruktor übergeben werden, bis zu 1,0 addieren. Wenn jedoch die Summe der Gewichte nicht bis zu 1,0 addiert, skaliert diese Implementierung alle Gewichte proportional, so dass sie auf 1,0 addieren. Parameter: Gewichte - ein Array von Gewichten, um den historischen Beobachtungen bei der Berechnung des gewichteten gleitenden Durchschnitts zuzuordnen. WeightedMovingAverageModel Konstruiert ein neues gewichtetes gleitendes Durchschnittsprognosemodell, wobei die benannte Variable als unabhängige Variable und die angegebenen Gewichte verwendet wird. Parameter: independentVariable - der Name der unabhängigen Variablen, die in diesem Modell verwendet werden soll. Gewichte - ein Array von Gewichten, um den historischen Beobachtungen bei der Berechnung des gewichteten gleitenden Durchschnitts zuzuordnen. WeightedMovingAverageModel Erstellt ein neues gewichtetes gleitendes Durchschnittsprognosemodell. Dieser Konstruktor soll nur von Unterklassen (also geschützt) verwendet werden. Jede Unterklasse, die diesen Konstruktor verwendet, muss anschließend die (geschützte) setWeights-Methode aufrufen, um die von diesem Modell zu verwendenden Gewichte zu initialisieren. WeightedMovingAverageModel Konstruiert ein neues gewichtetes gleitendes Durchschnittsprognosemodell unter Verwendung der angegebenen unabhängigen Variablen. Parameter: independentVariable - der Name der unabhängigen Variablen, die in diesem Modell verwendet werden soll. SetWeights Setzt die Gewichte dieses gewichteten gleitenden Durchschnittsprognosemodells auf die angegebenen Gewichte. Dieses Verfahren soll nur von Unterklassen (also geschützt) und nur in Verbindung mit dem (geschützten) Ein-Argument-Konstruktor verwendet werden. Jede Unterklasse, die den Ein-Argument-Konstruktor verwendet, muss anschließend setWeights aufrufen, bevor die Methode AbstractTimeBasedModel. init (net. sourceforge. openforecast. DataSet) aufgerufen wird, um das Modell zu initialisieren. Anmerkung zu Gewichten Im allgemeinen sollten die an diese Methode übergebenen Gewichte bis zu 1,0 addieren. Wenn jedoch die Summe der Gewichte nicht bis zu 1,0 addiert, skaliert diese Implementierung alle Gewichte proportional, so dass sie auf 1,0 addieren. Parameter: Gewichte - ein Array von Gewichten, um den historischen Beobachtungen bei der Berechnung des gewichteten gleitenden Durchschnitts zuzuordnen. Gibt den Prognosewert der abhängigen Variablen für den gegebenen Wert der unabhängigen Zeitvariablen zurück. Unterklassen müssen diese Methode in einer Weise implementieren, die mit dem von ihnen implementierten Prognosemodell übereinstimmt. Unterklassen können die Methoden getForecastValue und getObservedValue verwenden, um frühere Prognosen und Beobachtungen zu erhalten. Gegeben durch: Prognose in Klasse AbstractTimeBasedModel Parameter: timeValue - der Wert der Zeitvariablen, für die ein Prognosewert erforderlich ist. Gibt den Prognosewert der abhängigen Variablen für die angegebene Zeit zurück. Throws: IllegalArgumentException - Bei unzureichenden historischen Daten - an init übergebene Beobachtungen - erzeugen Sie eine Prognose für den angegebenen Zeitwert. GetNumberOfPredictors Gibt die Anzahl der Prädiktoren zurück, die vom zugrunde liegenden Modell verwendet werden. Rückgabewerte: die Anzahl der Prädiktoren, die das zugrunde liegende Modell verwendet. GetNumberOfPeriods Gibt die aktuelle Anzahl von Perioden zurück, die in diesem Modell verwendet werden. Angegeben durch: getNumberOfPeriods in der Klasse AbstractTimeBasedModel Gibt die aktuelle Anzahl der in diesem Modell verwendeten Perioden zurück. GetForecastType Gibt einen oder zwei Wortnamen dieser Art von Prognosemodell zurück. Halten Sie diese kurz. Eine längere Beschreibung sollte in der Methode toString implementiert werden. Dies sollte überschrieben werden, um eine textuelle Beschreibung des aktuellen Prognosemodells zu liefern, wobei nach Möglichkeit alle abgeleiteten Parameter verwendet werden. Spezifiziert durch: toString in der Schnittstelle ForecastingModel Overrides: toString in der Klasse AbstractTimeBasedModel Gibt eine Stringdarstellung des aktuellen Prognosemodells und seine Parameter zurück. Weight Moving Averages: Die Grundlagen Im Laufe der Jahre haben Techniker zwei Probleme mit dem einfachen gleitenden Durchschnitt gefunden. Das erste Problem liegt im Zeitrahmen des gleitenden Durchschnitts (MA). Die meisten technischen Analysten glauben, dass Preis-Aktion. Der Eröffnungs - oder Schlussaktienkurs, reicht nicht aus, um davon abhängen zu können, ob Kauf - oder Verkaufssignale der MAs-Crossover-Aktion richtig vorhergesagt werden. Zur Lösung dieses Problems weisen die Analysten den jüngsten Preisdaten nun mehr Gewicht zu, indem sie den exponentiell geglätteten gleitenden Durchschnitt (EMA) verwenden. (Erfahren Sie mehr bei der Exploration der exponentiell gewogenen gleitenden Durchschnitt.) Ein Beispiel Zum Beispiel, mit einem 10-Tage-MA, würde ein Analytiker den Schlusskurs des 10. Tag nehmen und multiplizieren Sie diese Zahl mit 10, der neunte Tag um neun, der achte Tag um acht und so weiter auf die erste der MA. Sobald die Summe bestimmt worden ist, würde der Analytiker dann die Zahl durch die Addition der Multiplikatoren dividieren. Wenn Sie die Multiplikatoren des 10-Tage-MA-Beispiels hinzufügen, ist die Zahl 55. Dieses Kennzeichen wird als linear gewichteter gleitender Durchschnitt bezeichnet. (Für verwandte Themen lesen Sie in Simple Moving Averages machen Trends Stand Out.) Viele Techniker sind fest davon überzeugt, in der exponentiell geglättet gleitenden Durchschnitt (EMA). Dieser Indikator wurde auf so viele verschiedene Weisen erklärt, dass er Studenten und Investoren gleichermaßen verwirrt. Vielleicht die beste Erklärung kommt von John J. Murphys Technische Analyse der Finanzmärkte, (veröffentlicht von der New York Institute of Finance, 1999): Der exponentiell geglättete gleitende Durchschnitt behebt beide Probleme mit dem einfachen gleitenden Durchschnitt verbunden. Erstens weist der exponentiell geglättete Durchschnitt den neueren Daten ein größeres Gewicht zu. Daher ist es ein gewichteter gleitender Durchschnitt. Doch während es den vergangenen Preisdaten eine geringere Bedeutung zuweist, enthält es in seiner Berechnung alle Daten in der Lebensdauer des Instruments. Zusätzlich ist der Benutzer in der Lage, die Gewichtung anzupassen, um ein größeres oder geringeres Gewicht zu dem letzten Tagespreis zu ergeben, der zu einem Prozentsatz des vorherigen Tageswertes addiert wird. Die Summe der beiden Prozentwerte addiert sich zu 100. Beispielsweise könnte dem letzten Tagespreis ein Gewicht von 10 (.10) zugewiesen werden, das zum vorherigen Tagegewicht von 90 (.90) addiert wird. Das ergibt den letzten Tag 10 der Gesamtgewichtung. Dies wäre das Äquivalent zu einem 20-Tage-Durchschnitt, indem die letzten Tage Preis einen kleineren Wert von 5 (.05). Abbildung 1: Exponentiell geglättete gleitende Durchschnittswerte Die obige Grafik zeigt den Nasdaq Composite Index von der ersten Woche im Aug. 2000 bis zum 1. Juni 2001. Wie Sie deutlich sehen können, ist die EMA, die in diesem Fall die Schlusskursdaten über einen Neun-Tage-Zeitraum, hat endgültige Verkaufssignale am 8. September (gekennzeichnet durch einen schwarzen Pfeil nach unten). Dies war der Tag, an dem der Index unter dem Niveau von 4.000 unterbrach. Der zweite schwarze Pfeil zeigt ein anderes Bein, das die Techniker tatsächlich erwartet hatten. Der Nasdaq konnte nicht genug Volumen und Interesse von den Kleinanlegern erzeugen, um die 3.000 Marke zu brechen. Danach tauchte es wieder zu Boden, um 1619.58 am 4. April. Der Aufwärtstrend vom 12. April ist durch einen Pfeil markiert. Hier schloss der Index bei 1.961,46, und Techniker begannen zu sehen, institutionelle Fondsmanager ab, um einige Schnäppchen wie Cisco, Microsoft und einige der energiebezogenen Fragen abholen. (Lesen Sie unsere verwandten Artikel: Moving Average Umschläge: Raffinieren ein beliebtes Trading-Tool und Moving Average Bounce.)


No comments:

Post a Comment