Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 3258
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Der Verbrauch wird durch diese Linie fast verdoppelt.
Es ist nur ein Übergang von CMatrixDouble zu matrix<double>. Ich musste sogar diesen Matrixvergleich wegen des Speichers durchführen.
Und die Zeit wird durch diese Umwandlung um 40% erhöht. Kommentiert // Res = MatrixOut.ToMatrix();
D.h. wenn man nur mit Alglibov fnctional arbeitet (ohne dessen Matrizen in Terminalmatrizen umzuwandeln), geht es schneller.
Wie lange braucht Python, um die gleiche Größe der ursprünglichen Matrix wie im obigen Beispiel zu berechnen?
Zeitmessung unter Berücksichtigung der Matrixerstellung
werfen Sie Ihre Steine weg )
Zeitmessung unter Berücksichtigung der Matrixerstellung
Dies geschieht mit einem alten FX-8350.
Auf ihrer Grundlage habe ich eine Berechnung der Korrelationsmatrix vorgenommen.
Ich habe die Leistung gemessen.
Für die Statistik habe ich folgendes Ergebnis erhalten
Ich sollte anmerken, dass Python eine kleine Parallelisierung beim Ausführen von Code hat - für eine halbe Sekunde für etwa zwei Kerne, der Rest wird auf einem Kern gezählt.
die NumPy-Bibliothek ist in C geschrieben.
Nun, ja, das macht Sinn. Deshalb habe ich auch erwähnt, dass der Python-Wrapper schneller ist als ein C-Compiler wie MQL5.
Hier auf R bietet ChatGPT
Ergebnis
Soweit ich weiß, kann Python mit einer Integer-Matrix arbeiten, und die Geschwindigkeiten sind hier von einer anderen Größenordnung
Wenn der Code korrekt ist, sieht das Ergebnis wie folgt aus
Die Frage der Genauigkeit/Vergleichbarkeit der Ergebnisse der Berechnungen selbst sollte geprüft werden.
Dies ist einfach ein Übergang von CMatrixDouble zu matrix<double>.
Es braucht 20% mehr Ausführungszeit, um die Formate in beide Richtungen zu konvertieren. Aber es ist immer noch viel (> 3 mal) langsamer als NumPy.