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

 
Mihail Marchukajtes:

Ten en cuenta que cualquier redundancia de datos retrasará la entrada en combate del modelo. Esto afecta directamente a la calidad de las señales recibidas después de ....

Personalmente, he elegido la siguiente metodología. He invertido el modelo obtenido utilizando señales de compra y lo he probado en la misma parte del mercado pero para señales de venta. Así, no pierdo un tiempo precioso y estimo adecuadamente las capacidades del modelo. IMHO

Quiero intentar enseñar y probar el modelo utilizando el método clásico de entrenar|validar|probar. Si el modelo funciona, entonces la prueba será una operación real, es decir, utilizo train|valid en NS y ejecuto la operación real con la configuración obtenida. ¿O tal vez un tren sea suficiente? Para que la formación se acerque al momento del comercio real. Como último recurso, podemos validar sobre los datos antes del trazado del tren.
 

Por cierto, sí. La sección de control también puede estar antes de la sección de aprendizaje. Yo también lo hago, pero tengo la clasificación, no le importa el orden. En caso de previsión o regresión el orden de los datos es IMPORTANTE.

Pero en mi caso con la separación en Compra y Venta es lo más importante, porque la sección de control cae en el mismo período de mercado que la sección de aprendizaje. Es que los datos son diametralmente opuestos, pero todas las leyes y noticias que están en vigor en este momento son las mismas para las secciones de formación y de control. En este caso, la negociación comienza justo después de la sección del tren, lo que aumenta potencialmente el tiempo de la ST.

 
Mihail Marchukajtes:

Personalmente, he elegido la siguiente metodología. He invertido el modelo obtenido utilizando señales de compra y lo he probado en la misma parte del mercado, pero para señales de venta. Así, no pierdo un tiempo precioso y estimo adecuadamente las capacidades del modelo. IMHO

¿Por qué no enseñar un único modelo con valores de salida de Compra y Venta, por ejemplo de 1,0 a -1,0, y todo lo que está alrededor de 0,0 es plano?

 
elibrarius:
Quiero intentar entrenar y probar el modelo utilizando la metodología clásica con train|valid|test. Si el modelo funciona, entonces la prueba será una operación real, es decir, alimentaré train|valid a NS y ejecutaré una operación real con la configuración recibida. ¿O tal vez un tren sea suficiente? Para que la formación se acerque al momento del comercio real. Como último recurso, podemos validar los datos de la formación previa.
Aquí se discute sobre el número y la secuencia de entrenamiento, prueba, validación, pero no se habla de la validación cruzada, probablemente todo el mundo la utiliza por defecto o nadie la utiliza...
 
Ivan Negreshniy:
Discuten sobre el número y la secuencia de las secciones de entrenamiento, prueba y validación, pero no hablan de la validación cruzada, probablemente todo el mundo la utiliza por defecto o nadie la utiliza...

He leído que la validación cruzada se utiliza cuando hay pocos datos y se necesita al menos algo sobre lo que validar. En el mercado de divisas hay muchos datos: millones de barras de minutos durante varios años. Creo que nadie lo usa.

 
elibrarius:

En la validación cruzada chiall que se utiliza cuando los datos son escasos y se necesita algo a lo que recurrir. En el mercado de divisas hay muchos datos, millones de barras de minutos durante varios años. Creo que nadie lo usa.

En mi opinión, esta es la forma correcta de compensar el efecto de barajar y combinar manualmente los datos de entrada.
 
Ivan Negreshniy:

¿Por qué no enseñar de una vez el mismo modelo con valores de Compra y Venta en la salida, por ejemplo de 1,0 a -1,0, y todo lo que esté cerca de 0,0 - plano?


Eso no es... No es nuestro método. Al enseñar a comprar y vender a la vez, desaparece la zona de control.....

 
Ivan Negreshniy:

Buena idea y útil biblioteca MT5 pero es bastante problemático sincronizarlo con un archivo de script de Python IMHO.

Creo que es mejor sincronizar directamente las variables MQL con las de python a través de un diccionario local y ejecutar fragmentos de código Python directamente desde las constantes de cadena en el código de EA.

He hecho la prueba, compilando bcc64 desde la línea de comandos y funciona bien en python 3.6:

Estaría bien añadir esta funcionalidad a tu biblioteca, estaba a punto de escribir la mía propia, pero por desgracia por ahora estoy ocupado con la biblioteca P-net para python.

Por cierto, escribí sobre esta nueva red neuronal aquí en una rama, por resultados preliminares de pruebas sobre ejemplos con Iris de Fisher se entrena tres órdenes de magnitud más rápido que la DNN en TensorFlow, con iguales resultados en las pruebas.


Lo pensaré. Desde mi biblioteca, puedes ejecutar cualquier script de Python y ejecutar cualquier función desde él. La biblioteca no es complicada. Creo que será suficiente para mí y para muchos otros.

 
Grigoriy Chaunin:

Lo pensaré. Desde mi biblioteca, puedes ejecutar cualquier script de Python y ejecutar cualquier función desde él. La biblioteca no es complicada. Creo que será suficiente para mí y para muchos otros.

Sí, su librería es perfectamente utilizable, pero creo que podría necesitar algunas mejoras, ya que la carga de scripts desde archivos separados y la sincronización de argumentos y valores de sus funciones a través de variables globales en la dll no es siempre la mejor manera.
 

Supongo que sí. Es muy probable que la biblioteca cambie. Ahora mismo tengo la tarea de dominar Python a nivel avanzado y dominar la ciencia de los datos. Todo el tiempo para eso. Y cuando esté listo un modelo viable. Ya estaré pensando en cómo acoplarlo a MT.

Renat escribió en un hilo vecino que van a añadir Python, R y C#. Pero no entiendo si será posible trabajar simplemente en MetaEditor o integrarse con MQL. Trabajar en el Metaeditor no es realmente conveniente, los editores de código son suficientes. Creo que la integración es más probable. Eso sería genial. Y mi trabajo en la integración de Python es una solución temporal.