Discusión sobre el artículo "Simulador rápido de estrategias comerciales en Python usando Numba"

 

Artículo publicado Simulador rápido de estrategias comerciales en Python usando Numba:

Este artículo implementaremos un simulador rápido de estrategias para modelos de aprendizaje automático utilizando Numba. En cuanto a su velocidad, superará en un factor de 50 a un simulador de estrategias puramente basado en Python. El autor recomienda usar esta biblioteca para acelerar los cálculos matemáticos, y especialmente cuando se utilizan ciclos.

Al desarrollar algoritmos comerciales basados en el aprendizaje automático, resulta importante evaluar correcta y rápidamente sus resultados comerciales en la historia. Si consideramos un uso poco frecuente del simulador en grandes intervalos de tiempo y con una profundidad de historia pequeña, el simulador de Python resultará bastante adecuado. Si la tarea consiste en realizar múltiples pruebas, incluidas estrategias de alta frecuencia, el lenguaje interpretado podría ser demasiado lento.

Supongamos que no estamos satisfechos con la velocidad de ejecución de algunos scripts, pero no queremos renunciar a nuestro conocido entorno de desarrollo Python. Aquí es donde entra en juego Numba, que nos permitirá traducir y compilar código Python nativo a código máquina rápido sobre la marcha, con velocidades de ejecución comparables a las de lenguajes de programación como C y FORTRAN.

>


Autor: Maxim Dmitrievsky

 
No he entendido en el artículo a qué se llama probador.
 

El tema del uso de Numba para Python no está cubierto, casi no hay explicación del código. ¿A quién va dirigido este artículo, a principiantes? - no lo entenderán sin el código masticado. ¿Para expertos en Python? - no lo necesitan, ya saben cómo acelerar los cálculos.

La segunda parte del artículo tampoco es del todo suave. Se da un ejemplo de optimización con sólo dos parámetros con un paso muy grueso y se hace una comparación entre la búsqueda completa y el algoritmo de optimización, mientras se afirma que el speedup es hasta 2 veces más rápido. ¿A expensas de qué se consigue? - no se explica. ¿Reduciendo el número de llamadas al cálculo de la función objetivo test_model_func? - pero en el caso de AO este mismo número de accesos no se muestra. De hecho, dado que el espacio de la tarea es muy pequeño, es posible obtener un speedup de 400 veces, en comparación con una búsqueda completa en esta tarea, es suficiente para generar números aleatorios una vez, pero para hacer múltiples pruebas, y en el artículo para dar el mejor resultado de las pruebas. En general, se violan todos los principios de la experimentación.

 
Este artículo es para operadores, no para teóricos. Soy consciente de que hay más artículos en el sitio sobre temas alejados del trading, por lo que no está en tendencia.
 
fxsaber #:
No he entendido en el artículo lo que se llama Tester?
Un tester es un script para probar MOs entrenados en la historia de las cotizaciones, aparentemente :)
 
Maxim Dmitrievsky #:
Un probador es un script para probar MOs entrenadas en el historial de cotizaciones, aparentemente :)

El probador introduce datos de precios+entorno de negociación (órdenes actuales) al ST y recibe señales de negociación del ST.

Todo es algo diferente para usted, si he entendido bien.

 
fxsaber #:

Si he entendido bien, el probador introduce datos de precios+entorno de negociación (órdenes actuales) al ST y recibe señales de negociación del ST.

Si he entendido bien, es algo diferente para usted.

Datos de precios + direcciones de negociación para cada observación (compra, venta) que la OM ha pronosticado.

Es decir, el TS no se ejecuta dentro del probador, las direcciones de las operaciones se calculan y se conocen de antemano.

 
Maxim Dmitrievsky #:

Es decir, la TS dentro del probador no se ejecuta, las direcciones de las operaciones se calculan y se conocen de antemano.

Entendido. Otro concepto.

 
fxsaber #:

Entendido. Concepto diferente.

¿Pudiste ejecutar los scripts del artículo? Ni un solo script del artículo funcionó sin errores en modo out-of-the-box.
 
Andrey Dik #:
¿Has conseguido ejecutar los scripts del artículo? Ni un solo script del artículo funcionó sin errores en modo out-of-the-box.

Yo no lo hice.

 
Aparentemente esa sensación cuando intentas programar sin conocer el lenguaje. Un intento consciente de desacreditar el artículo aún no funciona. Necesito más maná :)