Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 2441

 
Renat Fatkhullin:

Ya hemos dicho que estamos avanzando hacia la implementación del aprendizaje automático en MQL5.

Pronto lanzaremos soporte nativo para números complejos (listo), vectores de velocidad y matrices. Esto es exactamente la funcionalidad nativa del lenguaje, no de las bibliotecas.

Luego incluiremos un gran conjunto de mecánicas de ML y daremos una funcionalidad similar a TensorFlow. Esto nos permitirá escribir un nivel completamente diferente de robots nativos.

Eso es interesante, pero necesitamos intérpretes de modelos del mismo CatBoost con soporte para predictores categóricos y diferentes variantes de construcción de árboles, además de con multiclasificación. Parto de la base de que necesito una funcionalidad para utilizar los logros modernos, y luego una funcionalidad para recrearlos, mejorarlos y reciclarlos.

Construido en diferentes métodos de agrupación, clasificación, la conversión, la compresión de la dimensionalidad, la transformación, la selección de los predictores puede ser útil, ajustado al comercio.

 
Aleksey Vyazmikin:

Esto es interesante, pero necesitamos intérpretes de modelos CatBoost con soporte para predictores categóricos y diferentes variantes de árboles, además de la multiclasificación. Supongo que necesitamos funcionalidad para utilizar los logros modernos, y luego funcionalidad para recrearlos, mejorarlos, reciclarlos.

Construido en diferentes métodos de agrupación, clasificación, conversión, compresión de la dimensión, transformación, selección de predictores - puede ser útil con la corrección para el comercio.

Todo paso a paso.

Ya hemos hecho cosas (complejos, vectores y matrices en versiones alfa) que los lenguajes convencionales, incluido Python (que ni siquiera tiene matrices nativas de tipos simples) no tienen.

En realidad, los filtros y motores dentro de TensorFlow no son súper complejos. Se pueden portar de forma creativa a MQL5 sin la carga de la compatibilidad con todo lo que es inherente al proyecto inicial.

En nuestro tiempo hemos transferido y presentado en código fuente de MQL5 unas 500 funciones de R. Y en MQL5 es de 3 a 50 veces más rápido.

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

Ya hemos dicho que estamos avanzando hacia la implementación del aprendizaje automático en MQL5.

Pronto lanzaremos soporte nativo para números complejos (listo), vectores de velocidad y matrices. Esto es exactamente la funcionalidad nativa del lenguaje, no de las bibliotecas.

Luego incluiremos un gran conjunto de mecánicas de ML y daremos una funcionalidad similar a TensorFlow. Esto le permitirá escribir un nivel completamente diferente de robots nativos.

¿Va a utilizar WinML o DirectML o alguna solución propia?

¿Habrá soporte para ONNX?

 
Renat Fatkhullin:

Ya hemos dicho que estamos avanzando hacia la implementación del aprendizaje automático en MQL5.

Pronto lanzaremos soporte nativo para números complejos (listo), vectores de velocidad y matrices. Esto es exactamente la funcionalidad nativa del lenguaje, no de las bibliotecas.

Luego incluiremos un gran conjunto de mecánicas de ML y daremos una funcionalidad similar a TensorFlow. Esto permitirá escribir robots nativos de otro nivel.

Renat, esto es realmente interesante. Espero una documentación completa sobre la dirección desarrollada. Gracias.
 

Renat Fatkhullin:

Pronto lanzaremos soporte nativo para números complejos (listo), vectores de velocidad y matrices.

La capacidad de trabajar con arrays sin bucles, como en matlab y numpy (multiplicación por número, multiplicación elemento a elemento, slice) es muy necesaria.

 
Rorschach:

La capacidad de trabajar con arrays sin bucles, como en matlab y numpy (multiplicación por número, multiplicación elemento a elemento, slice) es muy necesaria.

Esto ya está disponible a nivel de idiomas.

 
Koldun Zloy:

¿Va a utilizar WinML o DirectML o algún tipo de solución propia?

¿Habrá soporte para ONNX?

En primer lugar, estamos haciendo un soporte nativo para los nuevos tipos de datos y las operaciones sobre ellos directamente en el lenguaje.

La aceleración de las operaciones a través de OpenCL/multihilo estará oculta y será transparente para los desarrolladores.

WinML/ONNX se considerará más adelante.

 
Offtopic eliminado.
 
Renat Fatkhullin:

Planeamos aplicar OpenCL de forma automática y transparente a las operaciones matriciales y de ML.

De hecho, vamos a exprimir al máximo sin utilizar toneladas de bibliotecas CUDA y tensorflow monstruosamente configurables.

¿No se aplicará OpenCL automáticamente a los vectores?
Es decir, si trabajamos con varios vectores, ¿sería más razonable utilizar una matriz?
¿O también se admitirán los vectores en OpenCL?

Añadido.
¿Se seleccionará automáticamente el recurso de hardware de la CPU o la GPU entre los disponibles?
¿O será posible decidir qué recurso utilizar?

 
Romano:

¿No se aplicará OpenCL automáticamente a los vectores?
Es decir, si trabajamos con varios vectores, ¿sería más racional utilizar una matriz?
¿O también se admitirán los vectores en OpenCL?

Añadido.
¿Se seleccionará automáticamente el recurso de hardware en la CPU o la GPU de entre los disponibles?
¿O será posible determinar qué recurso utilizar?

No tiene mucho sentido utilizar OpenCL de alto coste para vectores individuales.

Donde encontremos un efecto, lo aplicaremos. OpenCL no es un fin en sí mismo.

Espera a las versiones beta de las operaciones matriciales sin OpenCL al principio. Una vez depurada la funcionalidad básica, pasaremos a la aceleración.

Todo estará definitivamente cubierto con pruebas de estrés y benchmarks.