Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2441

 
Renat Fatkhullin:

Wir haben bereits gesagt, dass wir uns auf die Implementierung des maschinellen Lernens in MQL5 zubewegen.

Bald werden wir native Unterstützung für komplexe Zahlen (fertig), Geschwindigkeitsvektoren und Matrizen veröffentlichen. Dies ist genau die native Funktionalität der Sprache, nicht der Bibliotheken.

Dann werden wir einen großen Satz von ML-Mechanik und geben Funktionalität ähnlich wie TensorFlow. Dies wird es uns ermöglichen, eine ganz andere Ebene von nativen Robotern zu schreiben.

Das ist interessant, aber wir brauchen Modellinterpreter desselben CatBoost mit Unterstützung für kategoriale Prädiktoren und verschiedene Varianten der Baumbildung, sowie mit Multiklassifikation. Ich gehe davon aus, dass ich eine Funktionalität brauche, um moderne Errungenschaften zu nutzen, und dann eine Funktionalität, um sie neu zu erstellen, zu verbessern, zu recyceln.

Eingebaut in verschiedene Methoden der Clustering, Klassifizierung, Konvertierung, Kompression der Dimensionalität, Transformation, Auswahl der Prädiktoren kann nützlich sein, angepasst an den Handel.

 
Aleksey Vyazmikin:

Das ist interessant, aber wir brauchen CatBoost-Modellinterpreter mit Unterstützung für kategoriale Prädiktoren und verschiedene Baumvarianten sowie Multiklassifikation. Ich gehe davon aus, dass wir Funktionen brauchen, um moderne Errungenschaften zu nutzen, und dann Funktionen, um sie neu zu erstellen, zu verbessern und zu recyceln.

Eingebaut sind verschiedene Methoden des Clusterns, der Klassifizierung, der Konvertierung, der Dimensionskompression, der Transformation und der Auswahl von Prädiktoren, die bei der Korrektur für den Handel nützlich sein können.

Alles Schritt für Schritt.

Wir haben bereits Dinge getan (Komplexe, Vektoren und Matrizen in den Alpha-Versionen), die herkömmliche Sprachen, einschließlich Python (das nicht einmal native Arrays einfacher Typen hat), nicht haben.

In Wirklichkeit sind die Filter und Engines in TensorFlow nicht super komplex. Sie können kreativ auf MQL5 portiert werden, ohne dass die Kompatibilität mit allem, was zum ursprünglichen Projekt gehört, gewährleistet werden muss.

In unserer Zeit haben wir etwa 500 Funktionen aus R in MQL5-Quellcode übertragen und präsentiert . Und in MQL5 ist es 3 bis 50 Mal schneller.

Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее
Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее
  • www.mql5.com
Рассмотрены функции для работы с основными статистическими распределениями, реализованными в языке R. Это распределения Коши, Вейбулла, нормальное, логнормальное, логистическое, экспоненциальное, равномерное, гамма-распределение, центральное и нецентральные распределения Бета, хи-квадрат, F-распределения Фишера, t-распределения Стьюдента, а также дискретные биномиальное и отрицательное биномиальные распределения, геометрическое, гипергеометрическое и распределение Пуассона. Есть функции расчета теоретических моментов распределений, которые позволяют оценить степень соответствия реального распределения модельному.
 
Renat Fatkhullin:

Wir haben bereits gesagt, dass wir uns auf die Implementierung des maschinellen Lernens in MQL5 zubewegen.

Bald werden wir native Unterstützung für komplexe Zahlen (fertig), Geschwindigkeitsvektoren und Matrizen veröffentlichen. Dies ist genau die native Funktionalität der Sprache, nicht der Bibliotheken.

Dann werden wir einen großen Satz von ML-Mechanik und geben Funktionalität ähnlich wie TensorFlow. So können Sie eine ganz andere Ebene von nativen Robotern schreiben.

Werden Sie WinML oder DirectML oder eine Ihrer eigenen Lösungen verwenden?

Wird es Unterstützung für ONNX geben?

 
Renat Fatkhullin:

Wir haben bereits gesagt, dass wir uns auf die Implementierung des maschinellen Lernens in MQL5 zubewegen.

Bald werden wir native Unterstützung für komplexe Zahlen (fertig), Geschwindigkeitsvektoren und Matrizen veröffentlichen. Dies ist genau die native Funktionalität der Sprache, nicht der Bibliotheken.

Dann werden wir einen großen Satz von ML-Mechanik und geben Funktionalität ähnlich wie TensorFlow. Dies wird es ermöglichen, native Roboter auf einer völlig anderen Ebene zu schreiben.

Renat, das ist wirklich interessant. Ich hoffe auf eine ausführliche Dokumentation über die entwickelte Richtung. Ich danke Ihnen!
 

Renat Fatkhullin:

In Kürze werden wir native Unterstützung für komplexe Zahlen (fertig), Geschwindigkeitsvektoren und Matrizen veröffentlichen.

Die Fähigkeit, mit Arrays ohne Schleifen zu arbeiten, wie in Matlab und Numpy (Multiplikation mit Zahlen, Element-für-Element-Multiplikation, Slice) ist sehr wichtig.

 
Rorschach:

Die Fähigkeit, mit Arrays ohne Schleifen zu arbeiten, wie in Matlab und Numpy (Multiplikation mit Zahlen, Element-für-Element-Multiplikation, Slice) ist sehr wichtig.

Dies ist bereits auf Sprachebene möglich.

 
Koldun Zloy:

Werden Sie WinML, DirectML oder eine eigene Lösung verwenden?

Wird es ONNX-Unterstützung geben?

Erstens bieten wir native Unterstützung für neue Datentypen und Operationen mit ihnen direkt in der Sprache.

Die Beschleunigung von Operationen über OpenCL/Multithreading wird für die Entwickler verborgen und transparent sein.

Auf WinML/ONNX wird später eingegangen.

 
Offtopic gelöscht.
 
Renat Fatkhullin:

Wir planen die automatische und transparente Anwendung von OpenCL auf Matrix- und ML-Operationen.

In der Tat werden wir das Maximum herausholen, ohne Unmengen von monströs konfigurierbaren CUDA- und Tensorflow-Bibliotheken zu verwenden.

Wird OpenCL nicht automatisch auf Vektoren angewendet?
Das heißt, wenn wir mit mehreren Vektoren arbeiten, wäre es sinnvoller, eine Matrix zu verwenden?
Oder werden Vektoren auch in OpenCL unterstützt?

Hinzugefügt.
Wird die Hardware-Ressource auf der CPU oder GPU automatisch aus den verfügbaren Ressourcen ausgewählt?
Oder wird es möglich sein, zu entscheiden, welche Ressource zu verwenden ist?

 
Roman:

Wird OpenCL nicht automatisch auf Vektoren angewendet?
Das heißt, wenn wir mit mehreren Vektoren arbeiten, wäre es sinnvoller, eine Matrix zu verwenden?
Oder werden Vektoren auch in OpenCL unterstützt?

Hinzugefügt.
Wird die Hardware-Ressource auf CPU oder GPU automatisch aus den verfügbaren Ressourcen ausgewählt?
Oder wird es möglich sein, die zu verwendende Ressource zu bestimmen?

Es ist wenig sinnvoll, OpenCL mit hohen Kosten für einzelne Vektoren zu verwenden.

Wo wir eine Wirkung finden, werden wir sie anwenden. OpenCL ist kein Selbstzweck.

Warten Sie zunächst auf die Beta-Versionen der Matrix-Operationen ohne OpenCL. Sobald die Grundfunktionalität fehlerfrei ist, werden wir uns der Beschleunigung widmen.

Alles wird definitiv mit Stresstests und Benchmarks abgedeckt.

Grund der Beschwerde: