Diskussion zum Artikel "Schneller Handelsstrategie-Tester in Python mit Numba"

 

Neuer Artikel Schneller Handelsstrategie-Tester in Python mit Numba :

Der Artikel implementiert einen schnellen Strategietester für maschinelle Lernmodelle unter Verwendung von Numba. Das ist 50 Mal schneller als der reine Python-Strategie-Tester. Der Autor empfiehlt die Verwendung dieser Bibliothek, um mathematische Berechnungen zu beschleunigen, insbesondere solche, die Schleifen beinhalten.

Bei der Entwicklung von Handelsalgorithmen, die auf maschinellem Lernen basieren, ist es wichtig, die Ergebnisse ihres Handels in der Vergangenheit korrekt und schnell zu bewerten. Wenn wir den seltenen Einsatz des Testers in großen Zeitintervallen und mit einer geringen Historientiefe berücksichtigen, dann ist der Tester in Python durchaus geeignet. Wenn die Aufgabe jedoch mehrere Tests und hochfrequente Strategien beinhaltet, kann eine interpretierte Sprache zu langsam sein.

Angenommen, wir sind mit der Ausführungsgeschwindigkeit einiger Skripte nicht zufrieden, wollen aber unsere vertraute Python-Entwicklungsumgebung nicht aufgeben. An dieser Stelle kommt Numba zur Hilfe, das es uns ermöglicht, nativen Python-Code in schnellen Maschinencode zu konvertieren und zu kompilieren. Die Ausführungsgeschwindigkeit eines solchen Codes wird vergleichbar mit der Ausführungsgeschwindigkeit von Code in Programmiersprachen wie C und FORTRAN.

>


Autor: Maxim Dmitrievsky

 
Ich habe in dem Artikel nicht verstanden, was ein Tester ist?
 

Das Thema der Verwendung von Numba für Python wird nicht behandelt, es gibt fast keine Erklärung des Codes. An wen richtet sich dieser Artikel, an Anfänger? - dann werden sie es nicht verstehen, ohne dass der Code durchgekaut wird. Für Python-Experten? - Die brauchen ihn nicht, sie wissen bereits, wie man Berechnungen beschleunigt.

Auch der zweite Teil des Artikels ist nicht ganz einfach. Es wird ein Beispiel für eine Optimierung mit nur zwei Parametern und einem sehr groben Schritt angeführt und ein Vergleich zwischen der vollständigen Suche und dem Optimierungsalgorithmus angestellt, wobei behauptet wird, dass die Beschleunigung bis zu zwei Mal so hoch ist. Auf Kosten dessen, was erreicht wird? - Es wird nicht erklärt. Durch die Verringerung der Anzahl von Aufrufen zur Berechnung der Zielfunktion test_model_func? - aber im Fall von AO wird genau diese Anzahl von Zugriffen nicht angezeigt. In der Tat, da der Raum der Aufgabe ist sehr klein, ist es möglich, eine Beschleunigung von 400-mal, im Vergleich zu einer vollständigen Suche in dieser Aufgabe zu erhalten, ist es genug, um Zufallszahlen einmal zu generieren, sondern um mehrere Tests zu tun, und in dem Artikel, um das beste Ergebnis aus den Tests geben. Im Allgemeinen sind alle Grundsätze des Experimentierens verletzt.

 
Dieser Artikel richtet sich an Händler, nicht an Theoretiker. Ich bin mir bewusst, dass es auf dieser Website mehr Artikel zu Themen gibt, die nicht mit dem Handel zu tun haben, daher liegt er nicht im Trend.
 
fxsaber #:
Ich habe in dem Artikel nicht verstanden, was ein Tester ist?
Ein Tester ist ein Skript zum Testen von geschulten MOs auf die Geschichte der Zitate, offenbar :)
 
Maxim Dmitrievsky #:
Ein Tester ist ein Skript zum Testen trainierter MOs anhand der Kursentwicklung :)

Der Tester gibt Kursdaten+Handelsumgebung (aktuelle Aufträge) in den TS ein und erhält Handelssignale vom TS.

Bei Ihnen ist alles etwas anders, wenn ich das richtig verstanden habe.

 
fxsaber #:

Wenn ich es richtig verstanden habe, gibt der Tester Kursdaten und Handelsumgebung (aktuelle Aufträge) in den TS ein und erhält Handelssignale vom TS.

Wenn ich es richtig verstanden habe, ist es bei Ihnen etwas anders.

Kursdaten + Handelsrichtungen für jede Beobachtung (Kauf, Verkauf), die der MO vorhergesagt hat.

Das heißt, der TS wird nicht innerhalb des Testers ausgeführt, die Handelsrichtungen sind berechnet und im Voraus bekannt.

 
Maxim Dmitrievsky #:

Das heißt, der TS innerhalb des Testers wird nicht ausgeführt, die Richtungen der Trades sind berechnet und im Voraus bekannt.

Das war's. Ein anderes Konzept.

 
fxsaber #:

Verstanden. Ein anderes Konzept.

Konnten Sie die Skripte aus dem Artikel ausführen? Kein einziges Skript aus dem Artikel funktionierte ohne Fehler im Out-of-the-Box-Modus.
 
Andrey Dik #:
Haben Sie es geschafft, die Skripte aus dem Artikel auszuführen? Kein einziges Skript aus dem Artikel funktionierte ohne Fehler im Out-of-the-Box-Modus.

Ich habe es nicht geschafft.

 
Offenbar das Gefühl, wenn man versucht zu programmieren, ohne die Sprache zu kennen. Ein bewusster Versuch, den Artikel zu diskreditieren, funktioniert noch nicht. Brauche mehr Mana :)