Lets sagen, ich habe eine Liste: Ich möchte eine Funktion, die die bewegte n-Tage-Durchschnitt berechnet zu erstellen. Also, wenn n 5 war, würde ich wollen, dass mein Code die ersten 1-5 zu berechnen, fügen Sie es und finden Sie den Durchschnitt, was wäre 3.0, dann auf 2-6 gehen, berechnen den Durchschnitt, was wäre 4.0, dann 3 -7, 4-8, 5-9, 6-10. Ich möchte nicht die ersten n-1 Tage zu berechnen, so ab dem n-Tag, es zählen die letzten Tage. Dies scheint zu drucken, was ich will: Aber ich weiß nicht, wie die Zahlen in diesen Listen zu berechnen. Ich mag Martijns Antwort auf diesem, wie george, Ich frage mich, ob dies nicht schneller wäre, indem Sie eine laufende Summierung anstelle der Anwendung der Summe () immer und immer wieder auf die meisten die gleichen Zahlen . Auch die Idee, während der Hochlaufphase keine Werte als Vorgabe zu haben, ist interessant. In der Tat kann es viele verschiedene Szenarien, die man für bewegte Durchschnitte konzipieren kann. Ermöglicht die Aufteilung der Durchschnittsberechnung in drei Phasen: Ramp Up: Starten von Iterationen, bei denen die aktuelle Iteration lt Fenstergröße anzeigt Steady Progress: Wir haben genau die Fenstergröße Anzahl der verfügbaren Elemente, um einen normalen Durchschnitt zu berechnen: sum (xiterationcounter-windowsize: iterationcounter) / Windowsize Ramp Down: Am Ende der Eingabedaten könnten wir wieder eine andere Fenstergröße - 1 durchschnittliche Anzahl - zurückgeben. Heres eine Funktion, die Arbitrary iterables (Generatoren sind fein) als Eingabe für Daten akzeptiert Willkürliche Fenstergrößen 1 Parameter zum Ein - / Ausschalten der Produktion von Werten während der Phasen für Ramp Up / Down Callback-Funktionen für jene Phasen, um zu steuern, wie Werte erzeugt werden. Dies kann verwendet werden, um ständig eine Vorgabe (z. B. keine) vorzusehen oder Teildurchschnitte bereitzustellen. Es scheint ein bisschen schneller als Martijns-Version zu sein, was jedoch viel eleganter ist. Heres der Test-Code: Die ursprüngliche Frage kann nun mit dieser Funktion Aufruf gelöst werden: beantwortet Feb 18 13 at 18:15 Verwenden Sie die Summe und Karte Funktionen. Die Map-Funktion in Python 3 ist im Grunde eine faulen Version von diesem: Im sicher können Sie erraten, was die Summe-Funktion. Antwort # 2 am: April 23, 2011, 07:10:27 pm »Ein Ansatz, der vermeidet Zwischensummen Zwischensummen .. make, die läuft (int (v)). dann. Wenn Sie Ameisen tragen um Zahlen ein Strings .. Alt ohne die globale: sicher sein, zu tun, schwimmende Mathematik, auch wenn Sie Werte eingegeben werden ganze Zahlen beantwortet Laufsummenalgorithmus schneller ist. Ich habe eine Antwort, die Ihren Standpunkt. Es gibt einfach keine Notwendigkeit für eine globale Variable hier. Ich habe versucht zu schwer zu aviod eine explizite for-Schleife. Ndash agentp Es gibt eine andere Lösung, die ein itertools Rezept paarweise () erweitert. Sie können dies auf nwise () erweitern. Die Ihnen das Schiebefenster (und arbeitet, wenn das iterable ist ein Generator): Während eine relativ hohe Setup-Kosten für kurze iterable s diese Kosten verringert in Auswirkungen, je länger der Datensatz. Dies nutzt Summe (), aber der Code ist einigermaßen elegant: beantwortet 26 November um 14: 59Mittelwerte: Was sind sie Unter den beliebtesten technischen Indikatoren werden gleitende Durchschnitte verwendet, um die Richtung des aktuellen Trends zu messen. Jede Art von gleitendem Durchschnitt (gemeinhin in diesem Tutorial als MA geschrieben) ist ein mathematisches Ergebnis, das durch Mittelung einer Anzahl von vergangenen Datenpunkten berechnet wird. Sobald es bestimmt ist, wird der daraus resultierende Mittelwert dann auf eine Tabelle aufgetragen, um es den Händlern zu ermöglichen, auf geglättete Daten zu schauen, anstatt sich auf die täglichen Preisschwankungen zu konzentrieren, die in allen Finanzmärkten inhärent sind. Die einfachste Form eines gleitenden Durchschnitts, der als einfacher gleitender Durchschnitt (SMA) bekannt ist, wird berechnet, indem das arithmetische Mittel eines gegebenen Satzes von Werten genommen wird. Um beispielsweise einen gleitenden 10-Tage-Durchschnitt zu berechnen, würden Sie die Schlusskurse der letzten 10 Tage addieren und dann das Ergebnis mit 10 teilen. In Abbildung 1 ist die Summe der Preise für die letzten 10 Tage (110) Geteilt durch die Anzahl von Tagen (10), um den 10-Tage-Durchschnitt zu erreichen. Wenn ein Trader einen 50-Tage-Durchschnitt sehen möchte, würde die gleiche Art der Berechnung gemacht, aber er würde auch die Preise in den letzten 50 Tagen enthalten. Der daraus resultierende Durchschnitt unter (11) berücksichtigt die letzten 10 Datenpunkte, um den Händlern eine Vorstellung davon zu geben, wie ein Vermögenswert im Verhältnis zu den vergangenen 10 Tagen bewertet wird. Vielleicht fragen Sie sich, warum technische Händler nennen dieses Tool einen gleitenden Durchschnitt und nicht nur ein normaler Durchschnitt. Die Antwort ist, dass, wenn neue Werte verfügbar werden, die ältesten Datenpunkte aus dem Satz fallen gelassen werden müssen und neue Datenpunkte hereinkommen müssen, um sie zu ersetzen. Somit bewegt sich der Datensatz ständig auf neue Daten, sobald er verfügbar ist. Diese Berechnungsmethode stellt sicher, dass nur die aktuellen Informationen berücksichtigt werden. Wenn in Fig. 2 der neue Wert von 5 zu dem Satz hinzugefügt wird, bewegt sich das rote Feld (das die letzten 10 Datenpunkte darstellt) nach rechts und der letzte Wert von 15 wird aus der Berechnung entfernt. Weil der relativ kleine Wert von 5 den hohen Wert von 15 ersetzt, würden Sie erwarten, dass der Durchschnitt des Datensatzabbaus zu sehen, was er tut, in diesem Fall von 11 bis 10. Wie sehen sich die gleitenden Mittelwerte aus? MA berechnet worden sind, werden sie auf ein Diagramm aufgetragen und dann verbunden, um eine gleitende mittlere Linie zu erzeugen. Diese Kurvenlinien sind auf den Diagrammen der technischen Händler üblich, aber wie sie verwendet werden, können drastisch variieren (mehr dazu später). Wie Sie in Abbildung 3 sehen können, ist es möglich, mehr als einen gleitenden Durchschnitt zu irgendeinem Diagramm hinzuzufügen, indem man die Anzahl der Zeitperioden, die in der Berechnung verwendet werden, anpasst. Diese kurvenreichen Linien scheinen vielleicht ablenkend oder verwirrend auf den ersten, aber youll wachsen Sie daran gewöhnt, wie die Zeit vergeht. Die rote Linie ist einfach der durchschnittliche Preis in den letzten 50 Tagen, während die blaue Linie der durchschnittliche Preis in den letzten 100 Tagen ist. Nun, da Sie verstehen, was ein gleitender Durchschnitt ist und wie es aussieht, stellen Sie auch eine andere Art von gleitenden Durchschnitt ein und untersuchen, wie es sich von der zuvor genannten einfachen gleitenden Durchschnitt unterscheidet. Die einfache gleitende Durchschnitt ist sehr beliebt bei den Händlern, aber wie alle technischen Indikatoren, hat es seine Kritiker. Viele Personen argumentieren, dass die Nützlichkeit der SMA begrenzt ist, da jeder Punkt in der Datenreihe gleich gewichtet wird, unabhängig davon, wo er in der Sequenz auftritt. Kritiker argumentieren, dass die neuesten Daten bedeutender sind als die älteren Daten und sollten einen größeren Einfluss auf das Endergebnis haben. Als Reaktion auf diese Kritik begannen die Händler, den jüngsten Daten mehr Gewicht zu verleihen, was seitdem zur Erfindung verschiedener Arten von neuen Durchschnittswerten geführt hat, wobei der populärste der exponentielle gleitende Durchschnitt (EMA) ist. (Für weitere Informationen siehe Grundlagen der gewichteten gleitenden Mittelwerte und was ist der Unterschied zwischen einer SMA und einer EMA) Exponentieller gleitender Durchschnitt Der exponentielle gleitende Durchschnitt ist eine Art von gleitendem Durchschnitt, die den jüngsten Preisen mehr Gewicht verleiht, um sie reaktionsfähiger zu machen Zu neuen Informationen. Das Erlernen der etwas komplizierten Gleichung für die Berechnung einer EMA kann für viele Händler unnötig sein, da fast alle Kartierungspakete die Berechnungen für Sie durchführen. Jedoch für Sie Mathegeeks heraus dort, ist hier die EMA-Gleichung: Wenn Sie die Formel verwenden, um den ersten Punkt der EMA zu berechnen, können Sie feststellen, dass es keinen Wert gibt, der als die vorhergehende EMA benutzt werden kann. Dieses kleine Problem kann gelöst werden, indem man die Berechnung mit einem einfachen gleitenden Durchschnitt beginnt und mit der obigen Formel fortfährt. Wir haben Ihnen eine Beispielkalkulationstabelle zur Verfügung gestellt, die praktische Beispiele enthält, wie Sie sowohl einen einfachen gleitenden Durchschnitt als auch einen exponentiellen gleitenden Durchschnitt berechnen können. Der Unterschied zwischen der EMA und SMA Nun, da Sie ein besseres Verständnis haben, wie die SMA und die EMA berechnet werden, können wir einen Blick darauf werfen, wie sich diese Mittelwerte unterscheiden. Mit Blick auf die Berechnung der EMA, werden Sie feststellen, dass mehr Wert auf die jüngsten Datenpunkte gelegt wird, so dass es eine Art von gewichteten Durchschnitt. In Abbildung 5 sind die Anzahl der Zeitperioden, die in jedem Durchschnitt verwendet werden, identisch (15), aber die EMA reagiert schneller auf die sich ändernden Preise. Beachten Sie, wie die EMA einen höheren Wert hat, wenn der Preis steigt, und fällt schneller als die SMA, wenn der Preis sinkt. Diese Reaktionsfähigkeit ist der Hauptgrund, warum viele Händler es vorziehen, die EMA über die SMA zu verwenden. Was sind die verschiedenen Tage Durchschnittliche Mittelwerte sind eine völlig anpassbare Indikator, was bedeutet, dass der Benutzer frei wählen können, was Zeitrahmen sie bei der Schaffung der durchschnittlichen wollen. Die häufigsten Zeitabschnitte, die bei gleitenden Durchschnitten verwendet werden, sind 15, 20, 30, 50, 100 und 200 Tage. Je kürzer die Zeitspanne, die verwendet wird, um den Durchschnitt zu erzeugen, desto empfindlicher wird es für Preisänderungen sein. Je länger die Zeitspanne, desto weniger empfindlich, oder mehr geglättet, wird der Durchschnitt sein. Es gibt keinen richtigen Zeitrahmen für die Einrichtung Ihrer gleitenden Durchschnitte. Der beste Weg, um herauszufinden, welche am besten für Sie arbeitet, ist es, mit einer Reihe von verschiedenen Zeitperioden zu experimentieren, bis Sie eine finden, die zu Ihrer Strategie passt. Moving Averages: Wie Sie sie verwenden
No comments:
Post a Comment