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

 
Aleksey Vyazmikin:

Ya ha empezado a entrenar sin minutos, ya veremos.

También utilizo el tiempo de 1/4 de barra: horas, 4 horas, días.

En general, resulta que los modelos de madera necesitan una gran cantidad de entradas, que están pre-divididas al máximo, es decir, tienen el mínimo número de divisiones propias posibles.

 
elibrarius:

En general, resulta que los modelos de madera necesitan muchas entradas que estén lo más separadas posible, es decir, que tengan el mínimo número de divisiones propias posibles.

Si uno mismo hace la cuantificación, entonces sí, pero también hay una automatización incorporada.

Los histogramas de arriba son sólo el diferente número de cuantos por predictor, puedes ver cómo afectan al resultado final.

Si para sacar vetas de información valiosa como un quantum separado del predictor, es posible codificar esta veta como una característica binaria y alimentarla por separado.

 
elibrarius:

En general, resulta que los modelos de madera necesitan ser alimentados con una gran cantidad de insumos que estén pre-divididos lo más posible, es decir, que tengan el mínimo número de divisiones propias posibles.

Balance - T1 con minutos y T2 sin minutos - resultado medio: 3384/3126/3890

Recall - resultado medio: 0,0459/0,0424/0,0458


Precisión - puntuación media: 0,5216/0,5318/0,5389

En cuanto a las puntuaciones medias en el agregado T2, surgió el peor escenario.

Abrí la tabla de significación de los predictores y me sorprendió



Parece que no me gustan los últimos cambios realizados por el método de entrenamiento, ¿tal vez hice algo mal?

//день недели, час = ввести через 2 предиктора sin и cos угла от полного цикла 360/7,  360/24
   double tmp[4];
   int nInd=0;
   MqlDateTime dts;
   double pi=3.1415926535897932384626433832795;
   for(int buf=0; buf<2; buf++)
   {
      TimeToStruct(iTime(Symbol(),PERIOD_CURRENT,0),dts);
      //tmp[buf]=(double)(dts.hour*60+dts.min)*360.0/1440.0;
      tmp[buf]=(double)(dts.hour*60+dts.min)*360.0/24.0;
      tmp[buf]=(buf==0?MathSin(tmp[0]*pi/180.0):MathCos(tmp[0]*pi/180.0));

      TimeToStruct(iTime(Symbol(),PERIOD_CURRENT,0),dts);
      //tmp[buf+2]=(double)(dts.day_of_week*1440+dts.hour*60+dts.min)*360.0/10080.0;
      tmp[buf+2]=(double)dts.day_of_week*360.0/7.0;
      tmp[buf+2]=(buf==0?MathSin(tmp[0]*pi/180.0):MathCos(tmp[0]*pi/180.0));
   }


Abrí la muestra



Y he visto que la columna TimeHG contiene horas - error mío - tengo que rehacer todas las pruebas.


 
Aleksey Vyazmikin:

Equilibrio - T1 con actas y T2 sin actas - puntuación media: 3384/3126/3890

Recall - puntuación media: 0,0459/0,0424/0,0458


Precisión - puntuación media: 0,5216/0,5318/0,5389

En cuanto a las puntuaciones medias en el agregado T2, salió la peor opción.

Abrí la tabla de significación de los predictores y me sorprendió



Parece que no me gustan los últimos cambios realizados por el método de entrenamiento, ¿tal vez hice algo mal?


Abrí la muestra



Y vi que la columna TimeHG - son horas - mi error - Tengo que rehacer todas las pruebas.


Y las horas se quedaron con los minutos.

 tmp[buf]=(double)(dts.hour*60+dts.min)*360.0/24.0;

Debería ser así

 tmp[buf]=(double)(dts.hour)*360.0/24.0;
TimeHG - aparentemente se hizo cargo de todo, por lo que el resto del reloj no se utilizó.
 
elibrarius:

Y el reloj se queda con los minutos

Tenemos que hacer esto.

DE ACUERDO.

 

Entrenamiento durante 3 meses, por pura diversión, entrenando al principio. El calendario completo es 2014-2020.

Si se toma un período grande, se obtiene un modelo mediocre. Al mismo tiempo, puede tomar diferentes períodos de 3 meses en todo el período.

Aquí, por ejemplo, se puede ver el periodo de formación: antes y después la dinámica es positiva.


Futuros actuales

La expectativa de Mat muestra 6,15 en ticks reales.

Tomé un modelo más nuevo.


Curiosamente, son diferentes y esto da la posibilidad de combinarlos en un comité. La expectativa matemática es de 12,64.

A continuación se muestra un histograma con el balance estimado, incluyendo la muestra de entrenamiento, en función del número de ventana de entrenamiento - cuanto más alto sea el número, más cerca de nuestro tiempo, os recuerdo que la muestra es de 2014 a octubre de 2020.

Curiosamente, en algunos lugares los beneficios caen hasta casi la mitad del valor máximo. ¿Qué puede significar esto: zonas más ruidosas en los entrenamientos?

 
elibrarius:

Y el reloj se queda con los minutos

Debería ser así

TimeHG - aparentemente se hizo cargo de todo, por lo que el resto del reloj no se utilizó.

Balance - T1 con minutos y T2 sin minutos - resultado medio: 4209,70/2882,50/3889,90


Recall - resultado medio: 0,0479/0,0391/0,0458


Precisión - puntuación media: 0,5318/0,5168/0,5389

Importancia de los predictores



En promedio, la opción sin minutos (T2) se fusiona.

 
Aleksey Vyazmikin:

Balance - T1 con actas y T2 sin actas - puntuación media: 4209,70/2882,50/3889,90


Recall - puntuación media: 0,0479/0,0391/0,0458


Precisión - puntuación media: 0,5318/0,5168/0,5389

Importancia de los predictores



En promedio, la opción sin minutos (T2) se fusiona.

¿Cuál es la conclusión?
Las actas dan un aumento.
No entiendo qué es mejor: ¿el tiempo como seno y coseno o sólo como números de día, hora y minuto?
 
elibrarius:
¿Cuál es la conclusión?
Las actas dan un aumento.
¿Qué es mejor, el tiempo como seno y coseno o sólo como números de día, hora y minuto?

Hasta aquí podemos concluir que T2 es claramente una opción peor, y que sumar seno y coseno no es idéntico al tiempo lineal. Creo que los resultados son diferentes debido a la representación de los números, es decir, la distancia entre ellos. La diferente distancia afecta a la formación de la malla de agrupación, de ahí la discrepancia.

 
Aleksey Vyazmikin:

Hasta aquí podemos concluir que T2 es claramente una opción peor, y que sumar seno y coseno no es idéntico al tiempo lineal. Creo que los resultados son diferentes debido a la representación de los números, es decir, la distancia entre ellos. Las diferentes distancias afectan a la formación de la malla de agrupación, de ahí la discrepancia.

En teoría, debería ser lo mismo para el árbol.
El número de opciones diferentes en días, horas y minutos es igual al número de opciones en senos y cosenos. Tanto allí como en 7 días hay 10080 valores diferentes, que cambian una vez por minuto.
Si hay alguna aleatoriedad en el entrenamiento, ésta puede ser la razón de la diferencia.

¿Has entrenado con qué, con catbust?

Para NS, el seno y el coseno son por supuesto mejores, porque 59 y 1 minuto estarán al lado, con la representación numérica están lo más lejos posible. Si quieres que el árbol lo entienda, tendrás que hacer un par de divisiones extra, que puede ser lo que le falte en limitaciones de profundidad.

Razón de la queja: