Discusión sobre el artículo "Aplicación práctica de las redes neuronales en el trading (Parte 2). Visión por computadora"

 

Artículo publicado Aplicación práctica de las redes neuronales en el trading (Parte 2). Visión por computadora:

El uso de la visión por computadora permite entrenar redes neuronales con la representación visual de la tabla de precios y los indicadores. Este método nos permitirá utilizar con mayor libertad todo el complejo de indicadores técnicos, pues no requiere su suministro digital a la red neuronal.

Antes de preparar una serie de imágenes, debemos decidir qué queremos de nuestra red neuronal. Lo ideal sería entrenar la red con los puntos de pivote. Y ya partiendo de ello, captar las imágenes en las que se dibujará la última barra extrema. Como resulta que este experimento no posee valor aplicado, nos centraremos en otro conjunto de imágenes. No obstante, tras leer el material de este artículo, en el futuro podremos experimentar con dicha matriz. Incluso resultará útil a la hora de asegurarnos de que las redes neuronales funcionen bien en las tareas de clasificación en imágenes completas. Pero las respuestas de la red que obtenemos en una serie temporal continua requieren una optimización adicional. 

Como no queremos complicar nuestro experimento, nos centraremos en dos categorías de imágenes:

  • Buy - cuando el precio sube o cuando el precio ha alcanzado el mínimo diario
  • Sell - cuando el precio baja o cuando el precio ha alcanzado el máximo diario

Buy   Buy1  Buy2  Buy3

Como podemos ver, para entrenar la red, debemos determinar el movimiento en cualquier dirección como el precio que alcanza nuevos valores extremos posteriores en la dirección de la tendencia; en este momento, tomaremos una instantánea del gráfico. El momento del viraje de la tendencia también es importante para el aprendizaje de la red. También tomaremos una instantánea del gráfico cuando el precio alcance el máximo o mínimo diario.

Autor: Andrey Dibrov

 

Muy buen artículo!
He disfrutado leyéndolo palabra por palabra (traduciéndolo) ya que yo también hice un experimento similar de predicciones de mercado basadas en CNN con implementaciones de Pytorch.

¡Gracias por compartir tu duro trabajo! :)

 

Sería interesante analizar un ZigZag puro (en los momentos en que se ha formado el último extremo, por supuesto).

Podrían surgir muchos patrones. Probablemente.

 
Gran artículo.
 
Andrey Khatimlianskii:

Sería interesante analizar el ZigZag puro (en los momentos en que se ha formado el último extremo, por supuesto).

Podrían surgir muchos patrones. Probablemente.

La única pregunta es para qué se necesita la visión por ordenador. Un zigzag puede formalizarse fácilmente en un "cincel").

 
Aleksey Mavrin:

La única pregunta es por qué se necesita aquí la visión por ordenador. Un zigzag se puede formalizar fácilmente en "cinceles")

Exactamente igual que las barras con indicadores, que el autor consideró. Sólo que el ZZ es más "limpio".

 
Andrey Khatimlianskii:

Exactamente igual que las barras con indicadores que consideró el autor. Sólo la ZZ es más "limpia".

Estoy de acuerdo. Un dabble de nada que hacer.

 

No se trata de formalizar algo en "cinceles". El zigzag es un indicador problemático en general... Concretamente se retrasa en la dinámica y no dice nada....

https://youtu.be/mcQH-OqC0Bs, https://youtu.be/XL5n4X0Jdd8

Практическое применение нейросетей в трейдинге. Python(Часть2). Компьютерное зрение
Практическое применение нейросетей в трейдинге. Python(Часть2). Компьютерное зрение
  • 2021.01.27
  • www.youtube.com
Подробно о этапах подготовки сверточной нейронной сети в статье https://www.mql5.com/ru/articles/8668В видео показан - процесс подготовки изображений графика...
 
Andrey Dibrov:

No se trata de formalizar algo en "cinceles". El zigzag es un indicador problemático en general... Concretamente se retrasa en la dinámica y no dice nada....

https://youtu.be/mcQH-OqC0Bs, https://youtu.be/XL5n4X0Jdd8

Andrey, no quiero criticar ni "menospreciar" tu trabajo, el trabajo en sí es potente y útil por el hecho mismo y la oportunidad de aprender.

Pero aun así me parece muy dudosa la utilidad práctica de tal planteamiento del problema. Al fin y al cabo, la esencia de las redes convolucionales es detectar y seleccionar cualquier entidad en datos de entrada no formalizados, formalizarlos y pasarlos a una capa totalmente conectada para su clasificación o cualquier otra cosa. Pues bien, la salida de una red convolucional serán principalmente entidades formalizadas, que se formalizan en estos indicadores, la representación específica es una cuestión secundaria. No entiendo qué puede encontrar una red convolucional excepto esto. Tu experimento sólo puede asegurarlo si comparas este enfoque sobre los mismos datos con una red clásica alimentada con datos indicadores como entrada. Estoy seguro de que la convolución simplemente tardará más en aprender y las métricas no serán mejores. Tal vez estoy equivocado y hay algo más allá de mi comprensión, entonces sería interesante obtener una refutación.

 
Aleksey Mavrin:

Andrew, de ninguna manera quiero criticar o "menospreciar" tu trabajo, el trabajo en sí es poderoso y útil por el hecho mismo y la oportunidad de aprender.

Pero aun así me parece muy dudosa la utilidad práctica de este planteamiento del problema. Al fin y al cabo, la esencia de las redes convolucionales es detectar y seleccionar cualquier entidad en datos de entrada no formalizados, formalizarlos y pasarlos a una capa totalmente conectada para su clasificación o cualquier otra cosa. Pues bien, la salida de una red convolucional serán principalmente entidades formalizadas, que se formalizan en estos indicadores, la representación específica es una cuestión secundaria. No entiendo qué puede encontrar una red convolucional excepto esto. Tu experimento sólo puede asegurarlo si comparas este enfoque sobre los mismos datos con una red clásica alimentada con datos indicadores como entrada. Estoy seguro de que la convolución simplemente tardará más en aprender y las métricas no serán mejores. Tal vez estoy equivocado y hay algo más allá de mi comprensión, entonces sería interesante obtener una refutación.

Totalmente de acuerdo con esto y lo he comparado. Pero la tarea en este experimento era bastante diferente: prescindir de la representación numérica de los indicadores utilizados. Lo mencioné en la introducción del artículo. Por cierto, se puede hacer sin indicadores en absoluto.... Y los resultados también serán positivos. Ahora lo estoy preparando para su lanzamiento en el trabajo real. Vamos a ver lo que se mostrará en la práctica.....

 
Andrey Dibrov:

Estoy totalmente de acuerdo con esto y lo he comparado. Pero la tarea en este experimento era bastante diferente: prescindir de la representación numérica de los indicadores utilizados. Lo mencioné en la introducción del artículo. Por cierto, usted puede hacer sin indicadores en absoluto.... Y los resultados también serán positivos. Ahora lo estoy preparando para su lanzamiento en el trabajo real. Vamos a ver lo que se mostrará en la práctica.....

Ya veo. Voy a notar al mismo tiempo una ventaja tal que este enfoque encaja en la llamada "universalización de los sistemas de IA", es decir, cuando las mismas soluciones=arquitecturas se utilizan para resolver diferentes problemas.

Supongo que también permite en parte deshacerse del proceso de preprocesamiento de datos. Yo alimento la fuente primaria en bruto a la "red", y ella la digerirá como debe normalizarla, etc.

Gracias por la respuesta. Éxito en su labor :)