Adaptive digitale Filter

 
Viele verwenden jetzt die JMA und ihre Modifikationen, aber es gibt fast keine Erwähnung der spezifischen theoretischen Annahmen, auf denen sie funktioniert. Wenn jemand das weiß, bitte mitteilen.
 

Es gibt eine ganze Reihe von Informationen zu diesem Thema, z. B. hier: http://prodav.narod.ru/dsp/index.html (Abschnitt "adaptive digitale Filterung")


Fragen Sie auch Prival, er scheint der einzige DSP-Experte unter uns zu sein, ich denke, er kann theoretisch helfen.

PS: Was ist JMA?

 

Ich würde gerne helfen. Aber leider kann ich MQL-Code nicht so frei lesen wie MathCad, wo die Formeln so geschrieben sind, wie wir es aus Büchern gewohnt sind. Das einzige, was mir scheint (obwohl ich mir nicht sicher bin), ist die Verwendung eines der Regressionstypen, um es klarer zu machen

Es gibt eine lineare Regression wie y(x)=ax+b. Man kann die Koeffizienten a und b auf verschiedene Arten berechnen, man kann ANC verwenden (scheint dort nicht verwendet zu werden), und man kann die Rekursion verwenden, aber um sie zu verstehen, muss man die Schleifen klar verstehen (ich komme da durcheinander, wo, was, warum berechnet wird). Höchstwahrscheinlich handelt es sich um eine nichtlineare Regression, denn es gibt einige if(), während die Berechnung + Art der Regressionsgleichung selbst nicht klar ist, wie viele Koeffizienten es gibt.

Im Allgemeinen können fast alle Indikatoren als digitale Filter betrachtet werden, der MA ist ein digitaler Filter. Das Wort Anpassung bedeutet in der Regel, dass sich einige Parameter (Koeffizienten im Filterkanal) in Abhängigkeit von den Eigenschaften des Eingangssignals ändern müssen. Daher würde ich zunächst auf AMA, FRAMA und ähnliche adaptive digitale Filter (der Mittelwertbildungsparameter (n) ändert sich in Abhängigkeit von der Varianzschätzung des Eingangsprozesses) sowie auf fast alle FFT- und Wavelet-Filter verweisen, die eine Schwellenwertverarbeitung verwenden (sie versuchen, die TF-Parameter an das Spektrum des gewünschten Eingangssignals anzupassen).

SATL und FATL sind jedoch nicht adaptiv, da in der Entwurfsphase einmal TF-Koeffizienten berechnet wurden, die es ermöglichten, das Einschwingverhalten des Filters an das Spektrum des Eingangssignals (AFR und IFR) anzupassen, und sich diese Koeffizienten im Betrieb nicht ändern. Dies sind so genannte angepasste Filter. Es gibt jedoch einen idealen, in der DSP-Sprache als optimal bezeichneten Filter, der zwar schwer zu bauen, aber möglich ist. Dazu müssen Sie die Spektren von Nutzsignal und Rauschen kennen.

Ich weiß nicht, ob ich Ihnen geholfen oder Sie verwirrt habe :-), aber auf jeden Fall viel Glück.

 
2 grasn - vielen Dank für den Link, das Material ist sehr gut)

2 Prival - ich habe einige Erfahrung mit dieser Art von digitalen Filtern, aber auf dem Prinzip der "Theorie zur Praxis" (Kaufman-Filter), visuell die Ergebnisse waren sehr gut, aber die Statistik zeigte keine besonderen Vorteile. Die Statistiken sind in JMA besser, weil ich dem Algorithmus einige originelle Lösungen hinzugefügt habe, und das ist es, was ich verstehen möchte. Jetzt werde ich den Code auf der Grundlage der Theorie auseinandernehmen und nach den Unterschieden suchen müssen))
 
NightPaul:

2 grasn - vielen Dank für den Link, das Material ist sehr gut)

2 Prival - ich habe einige Erfahrung mit dieser Art von digitalen Filtern, aber auf dem Prinzip der "Theorie zur Praxis" (Kaufman-Filter), visuell die Ergebnisse waren sehr gut, aber die Statistik zeigte keine besonderen Vorteile. Die Statistiken sind in JMA besser, weil ich dem Algorithmus einige originelle Lösungen hinzugefügt habe, und das ist es, was ich verstehen möchte. Jetzt muss ich den Code auf der Grundlage der Theorie auseinandernehmen und nach den Unterschieden suchen ))

Versuchen Sie Folgendes: Nehmen Sie die AMA (Kaufman) als Grundlage, aber verwenden Sie ein Regressionsmodell anstelle eines einfachen Durchschnitts. Vielleicht ist es auf diese Weise einfacher und alles wird klarer + Sie werden Ihren eigenen Code erstellen. IHMO kann diese Kombination von Methoden gut sein.
 
Übrigens keine schlechte Option. Ich werde Ihnen Bescheid geben, wenn die Ergebnisse vorliegen.
 
Prival, lassen Sie mich den Code in Formeln umschreiben und Sie erklären.
 
Integer:
Prival, lassen Sie mich den Code in Formeln umschreiben und Sie erklären.

Der Code von was, JMA. Oder soll ich Formeln schreiben, wie man JMA umschreibt? Meine Erfahrung als Programmierer sagt mir, dass es besser (und schneller) ist, seinen eigenen Code zu schreiben, als sich mit dem Code eines anderen auseinanderzusetzen und den gleichen (oder einen sehr ähnlichen) zu schreiben.
 

Liebe Kolleginnen und Kollegen, betrachten Sie mich nicht als zu lästig, aber was ist JMA? Ich habe versucht, meinen eigenen adaptiven Filter auf der Grundlage des Widrow-Hopf-Algorithmus der kleinsten Quadrate zu entwickeln, der der einfachste zu sein scheint. Nach einigen Experimenten war ich mir zu 300 % sicher, dass es unmöglich ist, einen adaptiven Filter für Zeitreihen am Devisenmarkt zu entwickeln, denn es gibt keine Wunder, sondern nur Zauberer. Der Hauptgrund dafür ist der große Einfluss des Nicht-Stationaritätseffekts: Die Oberfläche der Filterleistung ändert sich ständig, daher ändern sich auch die Minima dieser Oberfläche, und es gibt auch Probleme mit der Konvergenz der Gewichtungskoeffizienten. Aber im Allgemeinen bin ich kein Experte, sondern nur Autodidakt in Sachen DSP.

PS: Wenn Sie wirklich adaptive Filter machen, lassen Sie mich bitte einen Blick darauf werfen :o)

 
2 Integer
Wenn es nicht zu viel Mühe macht, wäre es eine gute Idee, den JJMASeries-Code aus diesem Artikel 'Effiziente Mittelwertbildungsalgorithmen mit minimaler Verzögerung und ihre Verwendung in Indikatoren' auseinanderzunehmen.

2 grash
Hier ist, was der Autor selbst über JMA schreibt ) - http://www.jurikres.com/catalog/ms_ama.htm#top
Da das alles zum Verkauf steht, bekommen wir nur die zerlegten Codes, so wie ich sie selbst verstehe, aber ich möchte wirklich verstehen, was der knifflige Teil ist.

 

Es gibt übrigens einen kleinen Hit über den Kalman-Filter(Prival, das ist nur für Sie):

JMA leistet BESSER ALS ANDERE SOPHISTISCHE METHODEN, einschließlich ...

Kalman-Filter g, g-h, g-h-k, mit oder ohne Fading-Speicher
Savitzky-Golay-Filter, mit oder ohne Fading-Speicher
Adaptiver gleitender Durchschnitt von Kaufman (KAMA)
Chande's Variable Index Dynamic Average (VIDYA)
Double Exponential Moving Average (DEMA)
Dreifacher exponentieller gleitender Durchschnitt (T3)
Browns modifizierter gleitender Durchschnitt (MMA)
Ehlers modifizierter optischer elliptischer Filter (MEF)
Ehlers symmetrisch gewichteter FIR-Filter
Gleitender Rumpfdurchschnitt (HMA)

P.S. Übrigens, am Ende dieser Seite befindet sich ein Link zu Kalmans Filter.

Grund der Beschwerde: