Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 3269
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Was ist also das Endziel dieser ganzen Korrelationsgeschichte?
Ich werde in der Lage sein zu berechnen, was andere aufgrund technischer Beschränkungen nicht können.
Auch Tests und Visualisierung und schnelles Handeln, wahrscheinlich
Die abschließende Optimierung ist ebenfalls normal, um die Parameter der Geschäfte zu erfassen
Zuerst habe ich versucht, die frontale Variante zu machen - jedes Mal alle Zeilen zu zählen. Ich hatte den Eindruck, dass es einen Fehler in Alglib gibt, denn ich konnte ihn in meinem eigenen Programm nicht finden.
Das Ergebnis stimmt oft überein.
Aber in manchen Situationen ist das nicht der Fall.
Wenn es immer so wäre, dann wäre es meine Schuld. Aber irgendetwas ist hier faul an der Sache.
gemacht.
Print(Matrix1);
Print("------------------");
Print(Matrix2);
Matrix2 hat die ersten 5 Übereinstimmungen, dann Nullen.
Die Matrizen wurden ähnlich, aber IsEqual funktioniert immer noch nicht. Irgendetwas anderes irgendwo...Ich habe Res.Col(Corr.Row(0), i); in Res.Row(Corr.Row(0), i) geändert;
Geändert von Res.Col(Corr.Row(0), i); zu Res.Row(Corr.Row(0), i);
Das scheint falsch zu sein.
Hergestellt
Print(Matrix1);
Print("------------------");
Print(Matrix2);
Matrix2 hat die ersten 5 Übereinstimmungen, dann Nullen.
Die Matrizen wurden ähnlich, aber IsEqual funktioniert immer noch nicht. Irgendetwas anderes irgendwo...Ich habe Res.Col(Corr.Row(0), i); in Res.Row(Corr.Row(0), i) geändert;
Ich habe das Problem gefunden
Es sollte wie folgt sein
for (int i = 0; i < (int)Matrix.Cols(); i++)
{
if (i)
Vector.SwapCols(0, i);
CBaseStat::PearsonCorrM2(Vector, MatrixIn, MatrixIn.Rows(), 1, MatrixIn.Cols(), Corr);
Res.Col(Corr.Row(0), i);
}
P.S.
Im Allgemeinen ist dein Code schön und übersichtlich. Ich würde alles in Schleifen machen))))
Und PearsonCorrM2 kann um das 2fache beschleunigt werden, wenn man mit Dreiecken zählt, d.h. vom Ende her geht. Zählen Sie 100 Zeilen mit allen, dann 99 mit allen 0-99, 99 und 100. bereits gezählt - Sie können einfach kopieren. ...50. Zeile mit allen bis 50. und so weiter.
Ich habe irgendwo gelesen, dass man die Korrelation schnell durch eine schnelle Fourier-Transformation lesen kann... Auch als Option zur Beschleunigung.
Ich habe es getan. Es macht Sinn, wenn die Stringlänge groß ist. Ich zeige es Ihnen mal.
Das Problem gefunden
So sollte es sein