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

 
Dr. Trader:

Me encontré con una descripción comprensible de una neurona LSTM, así que escribí un pequeño código para probarla. Artículo -http://datareview.info/article/znakomstvo-s-arhitekturoy-lstm-setey/

El código toma 100 barras de eurusd m5, cuenta incrementos de barras y la neurona lstm aprende a predecir el siguiente incremento basándose en el último conocido.
Lo he entrenado sin complejas ecuaciones analíticas, los pesos de la neurona se ajustan por optimización discreta lbfgs, es peor pero servirá para una prueba sencilla.

La estimación de la predicción (R2) resultó ser un poco más que cero, lo cual es muy bajo, pero sigue siendo mejor que una conjetura al azar. Teniendo en cuenta que la neurona lstm no toma algunos indicadores o array de incrementos, sino un solo valor a partir del cual predice el siguiente, y se repite para cada barra, y en general es muy simple - el resultado es mejor de lo que esperaba. Pero si tomamos miles de barras, la puntuación R2 resulta ser < 0, una pena. Y parece que el resultado de tal modelo empeora mucho en Forex sobre nuevos datos, necesito inventar algunas bicicletas con validación cruzada, no habrá beneficio en una forma tan simple.

Ahora necesito componer de alguna manera una red a partir de estas neuronas, pero no se menciona en el artículo.



A juzgar por la imagen, predice la barra anterior. ¿O tal vez no entiendo algo?

 
Maxim Dmitrievsky:

Todavía no me he dado cuenta de la utilidad de estas redes para nada :)

Tengo un amigo que siempre se ha quemado con ellos, aprendió keras, cogió una serie de trabajo sencilla con beneficio estacional, entrenó la red durante casi un día y luego se la juró.

No sé cómo construye el modelo. Mi modelo tarda de 1 a 3 minutos en aprender a partir de 100 épocas.

PS. Y la convergencia del modelo puede detenerse en la época 20-40, por lo que es posible reducir el tiempo de entrenamiento.
 
Si alguien está interesado, mantengo un repositorio con el proyecto en githab.
Hace tiempo que no lo actualizo, así que el código es antiguo, pero el principio de recogida, procesamiento y almacenamiento de previsiones, así como los ejemplos de modelos de redes recurrentes, están ahí.
 
Maxim Dmitrievsky:

Todavía no me he dado cuenta de la utilidad de estas redes para nada :)

Tengo un amigo que siempre se entusiasmó con ellos, aprendió keras, tomó una serie sencilla en el trabajo con ganancia estacional y casi un día más o menos entrenó la red... Después de eso lo maldijo por mucho tiempo

Los artículos sobre lstm muestran que pueden describir con bastante precisión las series temporales, mejor que todos los demás modelos, por ejemplo, pueden incluso aprender a reproducir audio digital (voz, música), mientras que para los bosques o las neuronas ordinarias esto es una tarea imposible.
Creo que con un gran número de neuronas una red de este tipo describirá el gráfico de crecimiento con suficiente precisión, pero al mismo tiempo existe la posibilidad de sobrealimentación - en barras nuevas el modelo puede ser inútil.


SanSanych Fomenko:

A juzgar por la imagen, predice la barra anterior. ¿O hay algo que no entiendo?

La neurona Lstm predice el siguiente valor apoyándose en el anterior, y en este caso se apoya tanto que incluso el ojo puede verlo. Si utiliza toda su red en lugar de una sola neurona, este problema desaparecerá.


Aleksey Terentev:
Si te interesa, tengo repositorio con el proyecto en githab.
Hace mucho tiempo que no lo actualizo, así que el código es antiguo, pero hay algunos principios de recogida, procesamiento y almacenamiento de previsiones, así como ejemplos de modelos recurrentes.
Gracias, intentaré ejecutarlo. Antes de eso estuve tratando de entender mxnet, pero sus ejemplos eran para trabajar con textos y no con series de tiempo, así que no llegué muy lejos.
 
Dr. Trader:

A juzgar por los artículos sobre lstm - pueden describir series temporales con bastante precisión, mejor que todos los demás modelos, por ejemplo, pueden incluso aprender a reproducir la señal de audio digital (voz, música), mientras que para las neuronas forestales u ordinarias esto es una tarea imposible.
Creo que con un gran número de neuronas
una red de este tipo describirá el gráfico de crecimiento con suficiente precisión, pero al mismo tiempo existe la posibilidad de sobrealimentación - en barras nuevas el modelo puede ser inútil.


él también lo pensaba, a juzgar por sus artículos

 

¿No tiene nadie una biblioteca cpp decente con regresión lineal? que permita una comprobación de características... o análisis discriminante... o andamiaje... algo que pueda ser portado :) algib es demasiado simple

regresión+bosque sería mejor

 
Maxim Dmitrievsky:

alglib es demasiado simple

Lo simple es malo y lo complejo es malo...

Eres uno de mis pocos alumnos que tiene algo en el camino, como un mal bailarín.

Eres uno de mis pocos alumnos que baila mal. Aunque he advertido muchas veces sobre todo esto del ML y la programación, que es un escarceo que no tiene nada que ver con el trading real, la gente es tímida, de voluntad débil y pobre además de todo, para los que el trading está generalmente prohibido (en los países desarrollados a nivel de legislación), Entonces, cuando el mercado se dé cuenta de quién es quién, y el mercado nunca engaña ni puede ser engañado, será demasiado tarde, los ahorros de diez años de trabajo contratado se evaporarán, no los volverán a contratar y tendrán que mendigar o recoger chatarra de vidrio, ser indigentes en general.

 
Vasily Perepelkin:

y lo simple es malo y lo complejo es malo...

Usted es uno de mis pocos estudiantes, que tiene algo en su camino, como un mal bailarín.

Aunque he advertido muchas veces sobre todo esto del ML y la programación, que es un escarceo no tiene nada que ver con el comercio real, la gente es tímida, de voluntad débil y encima pobre, que generalmente tiene prohibido comerciar (en los países desarrollados a nivel de legislación), Intentan esconderse detrás de fórmulas y códigos para echarse polvo en los ojos, y luego cuando el mercado se dé cuenta de quién es quién, y el mercado nunca engaña y no puede ser engañado, será demasiado tarde, sus ahorros de diez años de trabajo contratado se evaporarán, no volverán a ser contratados y tendrán que mendigar o recoger residuos de vidrio, para ser unos indigentes en general.


eres como una chica pegajosa a la que se le ha dicho "no" cinco veces y todavía te manda mensajes por facebook y sms.

 
Maxim Dmitrievsky:

¿No tiene nadie una biblioteca cpp decente con regresión lineal? que permita una comprobación de características... o análisis discriminante... o andamiaje... algo que pueda ser portado :) algib es demasiado simple

la regresión + el andamiaje es mejor

https://github.com/Artelnics/OpenNN es una biblioteca fácil de aprender. Pero faltan muchas técnicas modernas. La regresión está disponible, pero el andamiaje no.
https://github.com/Microsoft/CNTK - Multiherramienta. No se ha estudiado. Como opción de dll.
https://github.com/BVLC/caffe - También bastante potente, para ser una opción dll.
 
Vasily Perepelkin:

y lo simple es malo y lo complejo es malo...

Usted es uno de mis pocos estudiantes, que tiene algo en su camino, como un mal bailarín.

Aunque he advertido muchas veces sobre todo esto del ML y la programación, que es un escarceo no tiene nada que ver con el comercio real, la gente es tímida, de voluntad débil y encima pobre, que generalmente tiene prohibido comerciar (en los países desarrollados a nivel de legislación), Entonces, cuando el mercado se dé cuenta de quién es quién, y el mercado nunca engaña y no puede ser engañado, será demasiado tarde, sus ahorros después de diez años de trabajo contratado se evaporarán, no encontrarán un trabajo y tendrán que mendigar o recoger chatarra de vidrio, ser indigentes en general.


Profesor, deje de chapotear. ¿O es usted un profesor de spam y de inundaciones?