Sunday 5 November 2017

C # Bollinger Bands


Unten sehen Sie meine C-Methode, um Bollinger-Bänder für jeden Punkt zu berechnen (gleitender Durchschnitt, oberes Band, unteres Band). Wie Sie sehen können, verwendet diese Methode 2 für Schleifen, um die sich bewegende Standardabweichung mit dem gleitenden Durchschnitt zu berechnen. Es verwendete, eine zusätzliche Schleife zu enthalten, um den gleitenden Durchschnitt über den letzten n Perioden zu berechnen. Dieses konnte ich entfernen, indem ich den neuen Punktwert zu totalaverage am Anfang der Schleife addierte und den i - n Punktwert am Ende der Schleife entfernte. Meine Frage ist jetzt grundsätzlich: Kann ich die verbleibende innere Schleife in einer ähnlichen Weise, wie ich mit dem gleitenden Durchschnitt gehandhabt, gefragt, Jan 31 13 um 21:45 Die Antwort ist ja, können Sie. Mitte der 80er Jahre entwickelte ich einen solchen Algorithmus (wahrscheinlich nicht original) in FORTRAN für eine Prozessüberwachungs - und Steuerungsanwendung. Leider, das war vor mehr als 25 Jahren und ich kann mich nicht erinnern, die genaue Formeln, aber die Technik war eine Erweiterung der eine für bewegte Durchschnitte, mit Berechnungen zweiten Ordnung anstelle von nur linear. Nach dem Betrachten des Codes einige, denke ich, dass ich suss heraus, wie ich es damals getan habe. Beachten Sie, wie Ihre innere Schleife macht eine Summe von Squares: in viel die gleiche Weise, dass Ihr Durchschnitt ursprünglich hatte eine Summe von Werten Die beiden einzigen Unterschiede sind die Reihenfolge (seine Macht 2 statt 1) ​​und dass Sie den Durchschnitt subtrahieren Jeder Wert, bevor Sie es quadrieren. Nun, die unzertrennlich aussehen könnte, aber in der Tat können sie getrennt werden: Nun ist das erste Wort nur eine Summe von Squares, behandeln Sie das auf die gleiche Weise, dass Sie die Summe der Werte für den Durchschnitt. Der letzte Term (k2n) ist nur der Durchschnitt quadratisch mal der Periode. Da Sie das Ergebnis durch die Periode ohnehin teilen, können Sie einfach die neue durchschnittliche Quadrat ohne die zusätzliche Schleife hinzufügen. Schließlich können im zweiten Term (SUM (-2vi) k), da SUM (vi) total kn, dann können Sie es in diese ändern: oder nur -2k2n. Die das zweifache des durchschnittlichen Quadratwinkels beträgt, sobald die Periode (n) erneut unterteilt ist. Also die endgültige kombinierte Formel ist: (achten Sie darauf, die Gültigkeit dieser zu überprüfen, da ich es Ableitung von der Spitze des Kopfes) Und Einbau in Ihren Code sollte so etwas aussehen: Vielen Dank für diese. Ich benutzte es als Grundlage für eine Umsetzung in C für die CLR. Ich entdeckte, dass in der Praxis können Sie so aktualisieren, dass newVar ist eine sehr kleine negative Zahl, und die sqrt fehlschlägt. Ich führte eine if, um den Wert auf Null für diesen Fall zu begrenzen. Nicht Idee, aber stabil. Dies trat auf, wenn jeder Wert in meinem Fenster den gleichen Wert hatte (ich benutzte eine Fenstergröße von 20 und der Wert in Frage 0,5 war, falls jemand es versuchen und reproduzieren will) ndash Drew Noakes Jul 26 13 at 15:25 Ive (Und dazu beigetragen, dass die Bibliothek) für etwas sehr ähnliches. Seine Open-Source, Portierung auf C sollte einfach sein, wie Laden-gekauft Pie (haben Sie versucht, einen Kuchen aus dem Nichts). Überprüfen Sie es: commons. apache. orgmathapi-3.1.1index. html. Sie haben eine StandardDeviation Klasse. Gehen Sie in die Stadt antwortete Jan 31 13 at 21:48 You39re willkommen Ich didn39t haben die Antwort you39re suchen. Ich definitiv didn39t bedeuten, vorzuschlagen, Portierung der gesamten Bibliothek Nur die mindestens notwendigen Code, die ein paar hundert Zeilen oder so sein sollte. Beachten Sie, dass ich keine Ahnung, was juristische Copyright-Beschränkungen apache hat auf, dass Code, so dass you39d haben, um zu überprüfen, dass aus. Wenn Sie es verfolgen, hier ist der Link. So dass Abweichung FastMath ndash Jason Jan 31 13 am 22:36 Die meisten wichtigen Informationen wurde bereits oben gegeben --- aber vielleicht ist dies immer noch von allgemeinem Interesse. Eine winzige Java-Bibliothek zur Berechnung von gleitendem Durchschnitt und Standardabweichung finden Sie hier: githubtools4jmeanvar Die Implementierung basiert auf einer Variante der oben erwähnten Welfords-Methode. Es wurden Methoden zum Entfernen und Ersetzen von Werten abgeleitet, die für das Verschieben von Wertfenstern verwendet werden können. Bollinger-Bänder sind Indikatoren, die bei Standardabweichungspegeln oberhalb und unterhalb eines einfachen gleitenden Durchschnitts aufgetragen werden. Da die Standardabweichung ein Maß für die Volatilität ist, zeigt eine große Standardabweichung einen volatilen Markt an, und eine kleinere Standardabweichung zeigt einen ruhigen Markt an. Bollinger Bands sind ein guter Weg, um die Volatilität gegenüber dem relativen Preisniveau über einen längeren Zeitraum zu vergleichen. Wir empfehlen Ihnen, mit den Finanzformeln zu lesen, bevor Sie fortfahren. Mithilfe von Finanzformeln erhalten Sie eine ausführliche Erläuterung, wie Sie Formeln verwenden können, und erläutert auch die verschiedenen Optionen, die Ihnen beim Anwenden einer Formel zur Verfügung stehen.

No comments:

Post a Comment