Discusión sobre el artículo "Uso práctico de las redes neuronales de Kohonen en el trading algorítmico (Parte I) Instrumental"

 

Artículo publicado Uso práctico de las redes neuronales de Kohonen en el trading algorítmico (Parte I) Instrumental:

El presente artículo desarrolla la idea del uso de redes de Kohonen en MetaTrader 5 que fue abordada en algunas publicaciones anteriores. Las clases corregidas y mejoradas proporcionan el instrumental para solucionar las tareas prácticas.

En los códigos fuente heredados, la normalización de los datos de entrada no se usa. Sin embargo, ella es muy importante cuando diferentes componentes (características) de los vectores de entrada tienen un rango de valores diferente. Es así tanto para los resultados de la optimización de los EAs, como durante el agrupamiento de los valores de diferentes indicadores. En cuanto a los resultados de la optimización, podemos ver que los valores con un beneficio neto de decenas de millares están juntos con los valores pequeños del coeficiente de Sharp o con valores de un dígito del factor de recuperación.

No se puede enseñar a la red de Kohonen usando los datos de la escala tan diferente, porque la red va a considerar prácticamente sólo los componentes grandes e ignorar los pequeños. Usted puede ver eso en la imagen de abajo obtenida a través del programa que será considerado paso a paso en este artículo y adjuntado al final. En el programa existe la posibilidad de generar los vectores de entrada aleatorios en los cuales tres componentes están determinados dentro de los rangos [0, 1000], [0, 1] y [-1, +1]. El parámetro de entrada especial UseNormalization permite activar/desactivar la normalización.

Vamos a ver la estructura de la red de Kohonen en tres planos correspondientes a tres dimensiones de los vectores.  Primero, veremos el resultado del aprendizaje de la red sin normalización.

Resultado del aprendizaje de la red de Kohonen sin normalización de los datos de entrada

Resultado del aprendizaje de la red de Kohonen sin normalización de los datos de entrada

Ahora, veremos los mismo con normalización.

Resultado del aprendizaje de la red de Kohonen con normalización de los datos de entrada

Resultado del aprendizaje de la red de Kohonen con normalización de los datos de entrada

Autor: Stanislav Korotky

 
En el futuro, utilizaremos CSOMDisplay para la tarea de seleccionar los parámetros óptimos del experto, y CSOM para la previsión.

Por desgracia, he olvidado completamente el tema. La lectura de los artículos en los enlaces no dio ninguna comprensión.


Supongamos que se han optimizado tres parámetros de entrada. Kohonen hizo la agrupación y los visualizó. ¿Cuál es la conveniencia de encontrar los parámetros óptimos?

No entiendo nada de previsiones. Si es posible, una idea en pocas palabras también.

 

En el futuro, me gustaría ver un ejemplo práctico de este tipo.


Introducimos algún parámetro de entrada adicional en el Asesor Experto. Y evaluar su dependencia de los demás.

[Eliminado]  

Me interesa más la parte práctica de usar clustering en forex, aparte de hacer tablas de correlación y demás. Además no entiendo el tema de la estabilidad de los mapas sobre nuevos datos, cuales son las formas de estimar la capacidad de generalización y cuanto se reentrenan

Al menos en teoría para entender como se puede utilizar esto de forma efectiva. Lo único que se me ocurre es dividir una serie temporal en varios "estados"

 
fxsaber:

Digamos que hay tres parámetros de entrada que se han optimizado. Kohonen ha realizado la agrupación y la visualización. ¿Cuál es la conveniencia de encontrar los parámetros óptimos?

No entiendo en absoluto lo de la previsión. Si es posible, también en pocas palabras la idea.

Normalmente la optimización da una gran variedad de opciones y no da estimaciones de su estabilidad. El segundo artículo intenta resolver estos problemas en parte visualmente, en parte algorítmicamente con la ayuda de los mapas de Kohonen. El artículo ha sido enviado para su verificación.

 
fxsaber:

Introducimos algunos parámetros de entrada adicionales en el Asesor Experto. Y evaluamos su dependencia de otros.

Kohonen nos permite hacer esto visualmente - en forma de mapa. Si estamos hablando de un solo dígito, entonces esto es para otros métodos.

 
Maxim Dmitrievsky:

Me interesa más la parte práctica de usar clustering en forex, aparte de hacer tablas de correlación y demás. Además no entiendo el tema de la estabilidad de los mapas sobre nuevos datos, cuales son las formas de estimar la capacidad de generalización y cuanto se reentrenan

Al menos en teoría para entender como se puede utilizar esto de forma efectiva. Lo único que se me ocurre es dividir la serie temporal en varios "estados"

Quizá la parte 2 ofrezca algunas respuestas. Si se preserva la ley de distribución de los datos, debería haber estabilidad. Para controlar la generalizabilidad, se sugiere elegir el tamaño del mapa y/o la duración del entrenamiento mediante un muestreo de validación.

Algunos ejemplos de casos de uso se encuentran en la segunda parte.

[Eliminado]  
Stanislav Korotky:

Quizá la segunda parte ofrezca algunas respuestas. Si se mantiene la ley de distribución de los datos, debería haber estabilidad. Para controlar la generalizabilidad, se sugiere elegir el tamaño del mapa y/o la duración del entrenamiento mediante un muestreo de validación.

Algunos ejemplos de casos de uso se encuentran en la segunda parte.

sí, lo siento, no había visto que ya existe un método de detención mediante muestreo de validación. Entonces esperemos ejemplos, interesante :)

 
Aclaración/addendum: a partir de ahora, la versión de ALGLIB portado a MQL5 ya proporciona aglomeración jerárquica aglomerativa - ver ClusterizerRunAHC en el archivo MQL5/Include/Math/Alglib/dataanalysis.mqh.