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

 

Llevo un tiempo jugando con la neurona de convolución. Hasta ahora no ha funcionado, pero al menos he descubierto cómo prepararme y predecir con ella. Aquí hay un código simple con comentarios, y una tabla para la prueba.

Hay dos capas de convolución y una capa oculta normal. El modelo entrenado acaba produciendo siempre "1" en la salida (compra). La idea es tener docenas, no 2 capas de convolución, y luego semanas para entrenar, y no hay ninguna garantía de éxito. Pero vale la pena intentarlo.

Volví a revisar forex_mxnet.txt, había un error allí, para una función softmax el número de salidas en la última capa debe ser igual al número de clases. La opción con regresión en este caso no es posible en absoluto.

Archivos adjuntos:
eurusd_h1.zip  30 kb
forex_mxnet.txt  20 kb
 
Dr.Trader:

1) No estoy seguro de lo que quiere decir con "agrupación". Por lo general, no se agrupa un predictor en particular, sino que se toman una docena de ellos, y se encuentran áreas en el espacio donde estos puntos se agrupan. Por ejemplo, en la imagen de abajo, teniendo dos predictores, la agrupación en 2 clusters dará sólo clusters azules y rojos.

2) ¿Quizás se refiera a los patrones? Patrón verde: el precio baja y luego sube. Amarillo: el precio sube desde abajo. Rojo: arriba->abajo. ¿Lo has hecho bien?


Inicialmente no sabemos qué predictores son buenos y cuáles son malos, si los agrupamos todos a la vez en un modelo (estocástico+rsi+masd.......) = clusters 1,2,3,4,5..... entonces contabilizaremos también los predictores innecesarios, ni siquiera sabremos que son innecesarios...

Tenemos que agrupar cada predictor

K1 = (estocástico) = clusters 1,2,3,4,5....

K2 = (rci) = grupos 1,2,3,4,5....

K3 = (masa) = racimos 1,2,3,4,5....

entonces buscamos combinaciones de números de conglomerados entre combinaciones de modelos

К1

K1 y K2

K2 y K3

K1 y K3

K1 y K2 y K3

2) Correcto, en este contexto, las agrupaciones y los patrones son la misma cosa

 
mytarmailS:

Las agrupaciones y los patrones son diferentes. Las agrupaciones en un vector son intervalos, es decir, la lista de todos los valores de indicadores permitidos se divide en varias zonas. Pero en este caso los intervalos 2 y 3 de tu foto son uno y el mismo.

Pero si el segundo y el tercer grupo son necesariamente cosas diferentes, entonces ya no son grupos, sino patrones.

 
Dr.Trader:

Las agrupaciones y los patrones son diferentes. Las agrupaciones en un vector son intervalos, es decir, la lista de todos los valores de indicadores permitidos se divide en varias zonas. Pero en este caso los intervalos 2 y 3 de tu foto son uno y el mismo.

Pero si el segundo y el tercer grupo son necesariamente cosas diferentes, ya no son grupos, sino patrones.

Si no agrupamos el último valor del indicador, sino, por ejemplo, 10 últimos valores de la ventana deslizante, obtenemos un cluster con un número determinado que considera tanto las características numéricas como las geométricas del indicador (pendientes, etc.)

¿Qué es un grupo o un patrón?

¿He respondido a su pregunta o no he entendido la pregunta? :)

 
mytarmailS:

¿He respondido a su pregunta o he entendido mal la pregunta? :)

Eso es sí, bastante agrupación, entonces está bien.
 

Aquí es donde miro cómo se comporta el comité de todos los modelos disponibles en la validación frente a las aproximaciones ingenuas: sólo compra, sólo venta, direcciones aleatorias.

Bai se está adelantando ligeramente en esta muestra.

Queda por delante otra muestra retrasada para validar el comité poco igualado. Es posible que la venta sea mejor. Pero lo que importa es cómo se comporta el comité de modelos...

Correlación con el esquema que di:

 
Alexey Burnakov:

Bai se adelanta ligeramente en esta muestra.

Si el gráfico de precios está subiendo en ese marco de tiempo, entonces estadísticamente será más rentable a veces simplemente abrir una operación de compra, mantenerla y cerrarla. No es que sea "rentable", pero será menos pérdida comparado con abrir una orden de venta y mantenerla durante algún tiempo. Por eso la compra y la venta son tan simétricas en torno a las operaciones aleatorias. No es el modelo en sí lo que tira para adelante, sino el precio que lo acompaña con éxito.
 
Dr.Trader:
Si el gráfico de precios está subiendo en ese marco temporal, estadísticamente será más rentable a veces abrir una operación de compra, mantenerla y cerrarla. No es que sea "rentable", sólo que la pérdida será menor en comparación con si también abres al azar una operación de venta y la mantienes durante un tiempo. Por eso la compra y la venta son tan simétricas en torno a las operaciones aleatorias. No es el modelo en sí lo que tira para adelante, sino el precio que lo acompaña con éxito.
A eso me refiero. Tanto las operaciones de venta como las de compra y las aleatorias se hicieron sin un patrón... Pero la tendencia era al alza y la compra es mejor contra el resto del azar.

Y las ofertas de los modelos entrenados son verdes... En esta muestra están a la cabeza. Se ha elegido este objetivo en particular porque los modelos se dirigen por término medio hacia el lado positivo en esta muestra, que no participó ni en el entrenamiento ni en la selección de patrones. Luego habrá un comité de ajustes y validación. Y sólo utilizaré la última muestra retrasada una vez en todo el estudio.

PS ) Todo incluido en la propagación. Por lo tanto, la aleatoriedad se distribuye por debajo de cero.
 

Tiene buena pinta en general, me pregunto qué pasará al final.

Sobre la comisión - he puesto algunos ejemplos, pero hay modelos que utilizan la regresión con redondeo para clasificar, y ahí no está tan claro. He probado dos formas diferentes de combinar los votos:

1) redondear todo a las clases, y tomar la clase que obtenga más votos.
Es decir, tener una previsión para 4 bares de tres modelos
c(0,1, 0,5, 0,4, 0,4) c(0,6, 0,5, 0,7, 0,1) c(0,1, 0,2, 0,5, 0,7) Lo redondearía aún más a las clases
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) , y el vector final con las predicciones sería c(0, 1, 1, 0) por número de votos.

2) otra opción es hallar el resultado medio de inmediato, y sólo entonces redondearlo a las clases
el resultado sería c((0,1+0,6+0,1)/3, (0,5+0,5+0,2)/3, (0,4+0,7+0,5)/3, (0,4+0,1+0,7)/3)
o (0,2666667, 0,4000000, 0,5333333, 0,4000000), o
c(0, 0, 1, 0)

Puedes ver que el resultado es diferente, y depende de qué paso redondear. No sé cuál es más estándar, pero creo que el segundo método funciona mejor con los nuevos datos.
 
Alexey Burnakov:

Aquí es donde miro cómo se comporta el comité de todos los modelos disponibles en la validación frente a las aproximaciones ingenuas: sólo compra, sólo venta, direcciones aleatorias.

Bai se está adelantando ligeramente en esta muestra.

Queda por delante otra muestra retrasada para validar el comité poco igualado. Es posible que la venta sea mejor. Pero lo que importa es cómo se comporta el comité de modelos...

Correlación con el esquema que di:

Lo principal es que el instrumento básico de mi Sequent Demark tiene algunas características bastante interesantes, una de las cuales es la posibilidad de comprar. Hay más señales de compra y las maquetas se mueven mejor en ellas; hay menos señales de venta y las maquetas se mueven peor en ellas. Creo que muestra una tendencia global a la baja, cuando la imagen cambiará a la inversa, habrá condiciones previas para comprar, me refiero a la libra, por supuesto, y en los Judios tales demasiado visible en once....