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

 
Yuriy Asaulenko:


De hecho, dicen que hay muchas neuronas en Internet y en C++. Pero no los he buscado.


http://www.opennn.net/

https://www.neuraldesigner.com/

OpenNN | Open Neural Networks Library
  • www.opennn.net
The main advantage of OpenNN is its high performance. It is developed in C++ for better memory management and higher processing speed, and implements CPU parallelization by means of OpenMP and GPU acceleration with CUDA.
 
Y sin embargo, según tengo entendido, no hay resultados satisfactorios en las operaciones, ¡ni siquiera en la demo!
 
elibrarius:

Estoy empezando a explorar las redes neuronales.

Estoy buscando opciones que se puedan implementar directamente en MT5.

Estoy interesado en la variante que utiliza ALGLIB (https://www.mql5.com/ru/articles/2279), pero de la descripción de la red se deduce que es una red secuencial sin retroalimentación. Y la desventaja es que sólo puede ser entrenado por un hilo de procesador (que procesa el Asesor Experto con una red neuronal).

Creo que no sería muy difícil añadir 2 capas secuenciales ocultas a la red neuronal del artículo https://www.mql5.com/ru/articles/497 y luego entrenarla por fuerza bruta o genética en el probador. Pero en este caso puedes utilizar muchos más hilos de cálculo (núcleos de tu procesador, en la red y en la nube). ¿Lo he entendido bien?

¿Cómo añadir instrucciones manuales para las respuestas correctas (lugares de compra y venta) en el entrenamiento de una red de este tipo?

¿Quizá ya existe una biblioteca para redes secuenciales multicapa en algún lugar?

Y también, no entiendo muy bien la utilidad de usar capas internas, para fines de comercio de divisas. ¿Tiene sentido añadirlos? ¿Por qué?


El MLP no es bueno para la previsión del mercado, véase los vídeos anteriores, necesita RNN, es decir, una red con memoria.

https://nplus1.ru/material/2016/11/04/recurrent-networks

Азбука ИИ: «Рекуррентные нейросети»
Азбука ИИ: «Рекуррентные нейросети»
  • 2016.11.04
  • Тарас Молотилин
  • nplus1.ru
N+1 совместно с МФТИ продолжает знакомить читателя с наиболее яркими аспектами современных исследований в области искусственного интеллекта. В прошлый раз мы писали об общих принципах машинного обучения и конкретно о методе обратного распространения ошибки для обучения нейросетей. Сегодня наш собеседник — Валентин Малых, младший научный...
 
Renat Akhtyamov:
Y, sin embargo, no hay resultados satisfactorios en las operaciones, ni siquiera en la demo.

Es una cuestión de optimización, no tiene sentido tetar todas las versiones todavía, lo probaré cuando haya implementado todo por completo
 
Yuriy Asaulenko:

Un experimento para entrenar una red neuronal (NS) para cruzar dos MAs fracasó. Fue entrenado para reconocer sólo el cruce ascendente.

Para el experimento se seleccionó y probó el NS - 3,3,3,1 para el entrenamiento y el reconocimiento de patrones creados artificialmente. Sin embargo, después de aprender a reconocer los MA, no se reconoció ni un solo cruce. La razón - el NS necesita más imágenes de contraste, y no se preocupa por todas las diferencias de 0,01-0,1 entre las entradas.

Para una estructura determinada de NS es muy posible obtener un reconocimiento fiable con una diferencia de señal no inferior a 0,2-0,3.


MLP que todo el tiempo y dará un lío tal, ya he experimentado con ellos, no hay manera de recoger las capas - a continuación, volver a entrenar, a continuación, volver a entrenar no suficientes capas, a continuación, su cantidad
 
Renat Akhtyamov:
No veo resultados satisfactorios ni siquiera en la demo.

Nadie va a pasar meses desarrollando una estrategia para luego ir a presumir de ella en una cuenta demo. Estas cosas se negocian en el real, y el historial de transacciones se oculta a todo el mundo. Incluso he leído en el foro cómo la gente opera a propósito en dos brokers, turnándose para perder en uno y compensar las pérdidas en el otro, de manera que ni siquiera el broker sabe qué operaciones se hicieron con la estrategia y cuáles fueron falsas.

Hay resultados. A veces, las buenas combinaciones de predictores y el modelo aportan beneficios durante un par de meses, más a menudo - menos. Pero son sustituidos por otros.


Mi opinión personal - neuronas, bosques, regresiones - todo esto es demasiado débil para el forex. La razón es que el comportamiento de los precios cambia todo el tiempo, las reglas que son rentables hoy pueden no serlo hace una semana. Y el enfoque estándar -tomar los indicadores y el precio durante un par de meses y entrenar la neurona- significa que debe encontrar las mismas reglas de comportamiento del precio para los dos meses. Y no hay tales reglas y nadie sabe lo que encontrará, pero se equivocará el 99% de las veces. A veces el modelo puede tener suerte y caer en ese 1%, pero está demasiado lejos del grial y tales Asesores Expertos suelen operar bien hasta el primer stop loss y luego pueden ser desechados.

Estoy estudiando modelos de reconocimiento de patrones que observan el comportamiento de los precios después de patrones similares en la historia y utilizan esas estadísticas para operar.
No he visto un paquete en R que haga todo lo que necesito, tengo un modelo montado a destajo a partir de otros, más mis propias motos. Lo más cercano que he visto a una descripción del modelo está en otro hilo, yo aconsejaría empezar a construir tu grial con esto (cita abajo). En el proceso surgirán nuevos problemas, tendrás que pensar y experimentar sobre ellos.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Analizar las características ESTADÍSTICAS más importantes de un patrón y elegir un método de negociación basado en él.

Vladimir, 2017.04.06 06:20

Busca el indicador de mi vecino más cercano en el código base. El método es bastante sencillo. Establecer la duración del patrón actual, encontrar patrones similares en el historial (por ejemplo, utilizar la correlación como distancia entre patrones), predecir el comportamiento futuro de los precios a partir de patrones pasados ponderando sus predicciones individuales. Esto es esencialmente lo mismo que la agrupación, o RBF, o SVM, o GRNN. Todo depende de cómo se mida la distancia entre la pauta actual y las pautas anteriores similares. Lea sobre GRNN y Bayes. Allí la teoría de la predicción se describe en términos de distribuciones estadísticas. Se ha escrito mucho sobre GRNN y los métodos de predicción mencionados anteriormente y todo se reduce a una simple fórmula:


predicción y = SUM y[k]*exp(-d[k]/2s^2) / SUM exp(-d[k]/2s^2)


donde y[k] es el k-ésimo patrón pasado, d[k] es la distancia del k-ésimo patrón al patrón actual. Si las distancias tienen una distribución gaussiana, entonces d[k] = (x - x[k])^2. Para una distribución arbitraria (súper gaussiana), d[k] = |x - x[k]|^p, donde se elige p dependiendo de si se quiere dar más peso a los vecinos más cercanos (p grande), o dar a todos los vecinos casi el mismo peso (p pequeño) como en el socialismo. Con p=0, tenemos el socialismo total.

Tras conocer los vecinos más cercanos y el GRNN, surge la siguiente pregunta obvia. Cómo medir la distancia entre el patrón actual y los patrones pasados si se tienen en cuenta las distorsiones del eje temporal (es decir, los patrones pasados pueden parecerse al patrón actual pero estirados o comprimidos en el tiempo). Aquí es donde radica el problema.


 

¿alguien ha probado la programación genética como método de LD?

¿Como Chaos Hunter?

 
Maxim Dmitrievsky:


El MLP no es adecuado para la previsión del mercado, véase los vídeos anteriores, necesita RNN, es decir, una red con memoria

https://nplus1.ru/material/2016/11/04/recurrent-networks

Si no me equivoco, RNN será extremadamente difícil de implementar en MT5, y los buenos resultados requieren un desarrollo comprado o interno con enormes costes de mano de obra.

Si además de la información sobre el precio y los indicadores de la barra actual, envía a MLP toda la información de las 10-30 barras anteriores, será una especie de memoria. Algunas de las neuronas procesarán el estado actual, y otras procesarán el desarrollo de la situación en el pasado más cercano.

Al operar manualmente, también miramos las últimas barras, y no sólo el estado actual de los indicadores.

Está claro que la cantidad de cálculos aumentará, por eso me interesaba la posibilidad de transferir los cálculos de un núcleo a todos los núcleos del procesador, la red o la nube. ¿Cómo se puede hacer esto? Al menos para MLP.

 
nowi:

¿alguien ha probado la programación genética como método de LD?

¿Como Chaos Hunter?

¿Qué hay de los Cazadores del Caos? Dame un enlace específico.
 
elibrarius:

Está claro que la cantidad de cómputo aumentará, por lo que me interesaba la posibilidad de transferir el cómputo de un núcleo a todos los núcleos del procesador, la red o la nube. ¿Cómo se puede hacer esto? Al menos para MLP.


En OpenCL, no si no eres perezoso ))