Fourier-basierte Hypothese - Seite 9

 
grasn писал(а) >>

Ich bin kein Experte für lineare Algebra, aber ich habe Beschreibungen von schnelleren Algorithmen gesehen. Übrigens, wenn jemand es hat - geben Sie es an Urain weiter, es wird eine noch nützlichere Bibliothek im Sinne der Geschwindigkeit der Berechnungen sein.

Ein schnellerer Algorithmus ist die Gauß-Methode (mit entsprechenden Änderungen).

Ich habe gestern begonnen, eine Bibliothek für lineare Algebra zu schreiben (ich habe mich nicht auf die Urain-Bibliothek verlassen). Meine Bibliothek hat mehr Möglichkeiten. Warten Sie es ab.

 
lea писал(а) >>

Ein schnellerer Algorithmus ist die Gauß-Methode (mit entsprechenden Änderungen).

Ich habe gestern begonnen, eine Bibliothek zur linearen Algebra zu schreiben (ich habe mich nicht auf die Urain-Bibliothek verlassen). Meine Bibliothek hat mehr Möglichkeiten. Warten Sie.

Damit Ihnen meine Worte nicht leer vorkommen, werde ich eine Header-Datei meiner Bibliothek anlegen. Meine Bibliothek selbst wird noch erweitert und getestet (ich prüfe Berechnungen in Maple).

Dateien:
libmatrix.mqh  18 kb
 
grasn >> :

Ich bin kein Experte für lineare Algebra, aber ich habe Beschreibungen von schnelleren Algorithmen gesehen. Übrigens, wenn jemand es hat - geben Sie es an Urain weiter, es wird eine noch nützlichere Bibliothek im Sinne der Geschwindigkeit der Berechnungen sein.

Man sollte die Matrix in eine Dreiecksform reduzieren, z.B. durch die Jordano-Hauss-Eliminierungsmethode. Das Produkt ihrer (Dreiecks-)Diagonalelemente ist die Determinante der Ausgangsmatrix (dabei muss man die Vorzeichen bei der Zeilentransposition bei der Eliminierung berücksichtigen). Danach kann man die gesamte Matrix mit Hilfe ihrer partiellen Minoren und partiellen Determinanten umkehren. Sie arbeitet zehnmal schneller als kanonische Methoden. Und es ist möglich, die Korrektheit des Programms nur durch kanonische Kurzalgorithmen zu überprüfen. 1.

Numerische Rezepte in C, Zweite Ausgabe (1992).

Lösung von linearen algebraischen Gleichungen

http://www.nrbook.com/a/bookcpdf.php


Übrigens gibt es auch ein nützliches, kostenloses und gutes Buch (obwohl das meiste davon über Fourier ist)

2. das Handbuch für Wissenschaftler und Ingenieure zur digitalen Signalverarbeitung
Von Steven W. Smith, Ph.D.

http://www.dspguide.com/pdfbook.htm

 
AlexEro >> :

Man reduziert eine Matrix in eine Dreiecksform - z. B. durch die Jordano-Hauss-Eliminierungsmethode, das Produkt ihrer (Dreiecks-)Diagonalelemente ist die Determinante der Ausgangsmatrix (dabei sollte man auch die Vorzeichen beim Umordnen der Zeilen bei der Eliminierung berücksichtigen). Danach kann man die gesamte Matrix mit Hilfe ihrer partiellen Minoren und partiellen Determinanten umkehren. Sie arbeitet zehnmal schneller als kanonische Methoden. Und es ist möglich, die Korrektheit von Programmen nur durch kanonische Kurzalgorithmen zu überprüfen.

Numerische Rezepte in C, Zweite Ausgabe (1992).

Lösung von linearen algebraischen Gleichungen

http://www.nrbook.com/a/bookcpdf.php


Übrigens gibt es auch ein nützliches, kostenloses und gutes Buch (obwohl das meiste davon über Fourier ist)

2. das Handbuch für Wissenschaftler und Ingenieure zur digitalen Signalverarbeitung
Von Steven W. Smith, Ph.

http://www.dspguide.com/pdfbook.htm


Eigentlich ist diese Methode bei der Bestimmung der Determinante implementiert, aber gibt es etwas Schnelleres für die Umrechnung?

Ich finde einen Minor für jede Zelle und teile durch die Determinante. (Es stellt sich heraus, dass N^2 Minors zu finden sind, und der Minor ist auch eine Determinante um einen Rang weniger)

 
Urain писал(а) >>

Eigentlich ist diese Methode bei der Ermittlung der Determinante implementiert, aber gibt es etwas Schnelleres für die Umrechnung.

Ich finde einen Minor für jede Zelle und teile durch die Determinante. (Es stellt sich heraus, dass N^2 Minors gefunden werden müssen, und ein Minor ist auch eine Determinante um einen Rang weniger)

Die Gauß-Methode kann hierfür angepasst werden. O(N^3). Schlagen Sie auf Wikipedia unter "inverse Matrix" nach.

 
Urain >> :

Eigentlich ist diese Methode bei der Ermittlung der Determinante implementiert, aber gibt es etwas Schnelleres für die Umrechnung.

Ich finde einen Minor für jede Zelle und teile durch die Determinante. (Es stellt sich heraus, dass N^2 Minors gefunden werden müssen, und ein Minor ist auch eine Determinante um einen Rang weniger)

Dieser Zyklus braucht nur ein wenig Zeit. Das Problem ist, dass man einen Minderjährigen rekursiv zählt, nicht wahr? Sie können das Verfahren beschleunigen, indem Sie jede Untermatrix nicht durch Rekursion zählen, sondern indem Sie jede (Unter-, Privat-, Submatrix-) Matrix in eine Dreiecksform umwandeln.

 
grasn >> :

Die Zeile einer solchen Matrix ist im Wesentlichen die Dynamik des KP-Koeffizienten für eine bestimmte Geschichte. Und solche Serien sind, so seltsam es klingen mag, stationär und haben eine Menge Vorteile. Hier sind ein paar Beispiele:

Frequenz 0:

Danke für das Programm in Mathcade. Ich habe versucht, es nachzubilden, musste aber feststellen, dass es sich ein wenig anders verhält als in Ihrem Beispiel. Für die Vorhersage habe ich einen Abschnitt der letzten Woche auf M15 mit einer Länge von 1500 Bars auf EURUSD genommen. Er sieht in etwa so aus wie Ihr Testabschnitt.

Aber nachdem ich CreateModeMatrix() verwendet habe, ergibt sich bei Frequenz 0 ein ganz anderes Bild:


Bei anderen Frequenzen ergibt sich in etwa das gleiche Bild. Das heißt, keine großen Zeiträume wie in Ihrem Beispiel. Wenn es Ihnen nichts ausmacht, geben Sie bitte Ihre Meinung dazu ab, welche der Optionen richtig ist:

a) anderer Datensatz - andere Merkmale;

b) Fehlinterpretation der Ergebnisse der DW-Matrix;

c) Tippfehler im Programm.

 
equantis >> :

Danke für das Programm in Mathcade. Ich habe versucht, es nachzubilden, musste aber feststellen, dass es sich ein wenig anders verhält als in Ihrem Beispiel. Für die Vorhersage habe ich einen Abschnitt der letzten Woche auf M15 mit einer Länge von 1500 Bars auf EURUSD genommen. Er sieht in etwa so aus wie Ihr Testabschnitt.

Aber nachdem ich CreateModeMatrix() verwendet habe, ergibt sich bei Frequenz 0 ein ganz anderes Bild:


Bei anderen Frequenzen ergibt sich in etwa das gleiche Bild. Das heißt, keine großen Zeiträume wie in Ihrem Beispiel. Wenn Sie nichts dagegen haben, geben Sie bitte Ihre Meinung dazu ab, welche davon richtig ist:

a) anderer Datensatz - andere Merkmale;

b) Fehlinterpretation der Ergebnisse der DW-Matrix;

c) Tippfehler im Programm.


1:1 Umsetzung?


PS: Eine Korrektur. Wenn 1:1 und die Eingabezeile in Anführungszeichen steht, ist das ziemlich seltsam. Wenn das Bild gleichmäßig ist, ist es schon sehr seltsam.

 
Urain >> :

Ich finde einen Minor für jede Zelle und teile durch die Determinante (das sind N^2 Minors, die zu finden sind, und ein Minor ist auch eine Determinante um einen Rang weniger).

Das ist natürlich eine langsame Methode. Ich frage mich, wie Sie noch etwas für eine 100 x 100 Matrix bekommen haben.

 

Nur für den Fall, um Ihr Gewissen zu beruhigen:o)

Warnung

Als ich mir das Thema der Anwendung der Fourier-Transformation ansah, erinnerte ich mich an etwas, mit dem ich mich früher amüsiert habe, und schrieb, dass dies "ein Lager von Modellen ist, die nicht da sein sollten". Um ehrlich zu sein, habe ich dieses Modell damals aufgegeben, nachdem ich die Komplexität und die praktische Unmöglichkeit der Umsetzung dieses Ansatzes voll erkannt hatte. Nur im Konzept zerlegen wir Komplexes in Einfaches. In der Praxis zeigt sich, dass es unmöglich ist, 50, 100 oder mehr Prognosen mit ausreichender Genauigkeit zu erstellen, um es vorsichtig auszudrücken. Die Natur ist ziemlich schwer zu betrügen, genauer gesagt - unmöglich. Und was die Sache noch schlimmer macht, ist, dass wir nicht die ersten Ergebnisse brauchen (sie sind die genauesten), sondern die letzten in der Vorhersagereihe, und das sind eben die am wenigsten genauen. Und die Serie selbst ist nicht so einfach. Folglich ist es praktisch unmöglich, die Vorhersage für den Handel zu nutzen (es besteht keine Notwendigkeit, auf ein glückliches Einzelbild zu achten).


Ichbin mir nicht so sicher, ob es notwendig ist, Zeit in diese Richtung zu investieren... Die Lösung mag sicherlich existieren, aber sie ist sehr, sehr, sehr, sehr schwer zu finden, wenn man die Besonderheiten der Marktpreise bedenkt.