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

 
Dr. Trader:

Ejecutado el código del artículo, todo funcionó la primera vez.
La versión de R es la 3.4.2, pero no creo que importe mucho.


Tengo la R abierta... debe ser la culpa.

 
Aleksey Terentev:
Sólo que algunos aquí están clasificando los precios. Es para ellos.

El tipo de clasificación lo determina el profesor, con el que hay que tener mucho cuidado.

Si el gurú es la tendencia (modelo de tendencia), debería haber una cantidad igual (aproximadamente) de subidas y bajadas. Pero no está claro dónde están los laterales... Y si hay laterales, no está claro: qué es arriba y qué es abajo. Hay un punto muerto con las tendencias.

Por lo tanto, lo más prometedor, y esto es lo que se discute aquí, es la previsión del aumento de los precios. Pero para ella y el profesor es diferente, no es lo mismo que para las tendencias.

Por cierto, aquí nadie está clasificando los precios.


Si te gusta laprevisión de series temporales, es mejor que leas los artículos.

¿Su enlace es sólo de series temporales estacionarias? A juzgar por el alisamiento exponencial, sí. En los mercados financieros no hay series temporales estacionarias.

El artículo al que te refieres no tiene nada que ver con la previsión, es una extrapolación de la curva en forma analítica. ¿Y si hay un vacío? ¿Y si hay un Draghi o algo así?

 

Períodos de automuestreo de 3 atributos diferentes por el RMSE más bajo, se puede ver que la importancia de los atributos en el mercado varía significativamente a lo largo del tiempo, tanto en valores absolutos como en relación con otros atributos. Ocasionalmente hay periodos estables en los que se mantienen los mismos periodos de los atributos o varían ligeramente, pero en general la variabilidad es grande. Esto es sólo un pequeño recorte. Todos los predictores tienen una forma estacionaria.

2017.10.20 16:56:12.405 2017.06.05 03:15:00   39 48 45
2017.10.20 16:56:13.105 2017.06.05 03:30:00   40 49 46
2017.10.20 16:56:13.793 2017.06.05 03:45:00   41 49 47
2017.10.20 16:56:14.481 2017.06.05 04:00:00   42 49 49
2017.10.20 16:56:15.168 2017.06.05 04:15:00   43 49 49
2017.10.20 16:56:15.853 2017.06.05 04:30:00   44 49 49
2017.10.20 16:56:16.538 2017.06.05 04:45:00   45 49 49
2017.10.20 16:56:17.255 2017.06.05 05:00:00   46 49 49
2017.10.20 16:56:17.981 2017.06.05 05:15:00   47 49 49
2017.10.20 16:56:18.673 2017.06.05 05:30:00   48 49 49
2017.10.20 16:56:19.368 2017.06.05 05:45:00   49 49 49
2017.10.20 16:56:20.038 2017.06.05 06:00:00   48 49 49
2017.10.20 16:56:20.760 2017.06.05 06:15:00   49 49 49
2017.10.20 16:56:21.429 2017.06.05 06:30:00   24 6 49
2017.10.20 16:56:22.136 2017.06.05 06:45:00   5 6 49
2017.10.20 16:56:22.824 2017.06.05 07:00:00   5 6 49
2017.10.20 16:56:23.495 2017.06.05 07:15:00   27 7 6
2017.10.20 16:56:24.200 2017.06.05 07:30:00   6 7 5
2017.10.20 16:56:24.901 2017.06.05 07:45:00   5 7 6
2017.10.20 16:56:25.603 2017.06.05 08:00:00   6 6 5
2017.10.20 16:56:26.275 2017.06.05 08:15:00   7 7 5
2017.10.20 16:56:26.963 2017.06.05 08:30:00   4 5 5
2017.10.20 16:56:27.694 2017.06.05 08:45:00   5 6 6
2017.10.20 16:56:28.415 2017.06.05 09:00:00   6 7 7
2017.10.20 16:56:29.118 2017.06.05 09:15:00   13 8 16
2017.10.20 16:56:29.826 2017.06.05 09:30:00   12 12 17
2017.10.20 16:56:30.546 2017.06.05 09:45:00   17 13 19
2017.10.20 16:56:31.242 2017.06.05 10:00:00   18 16 20
2017.10.20 16:56:31.978 2017.06.05 10:15:00   19 18 21

Es decir, por decirlo en términos estadísticos estúpidos, no se confirma la hipótesis nula de un patrón constante en el mercado

Conclusión: debemos crear al menos 2 modelos: uno seleccionará los atributos informativos en tiempo real, y el otro aprenderá y se reentrenará con ellos. Esto requiere un sistema en el que la variación de las características tenga un efecto, es decir, tratar el conjunto como un sistema holístico.

 
Maxim Dmitrievsky:

Conclusión: necesitamos hacer al menos 2 modelos: uno seleccionará las características informativas en tiempo real y el otro aprenderá y se reentrenará con ellas.

Para mí esa no es la conclusión correcta, porque el modelo siempre estará un paso por detrás, siempre un paso por detrás con respecto a las características existentes del mercado... La misma media móvil retardada...

 
Dr. Trader:

Existe la idea de que para entrenar un modelo de clasificación se debe equilibrar el número de clases de forma que el número de ejemplos de entrenamiento con la clase "1" coincida con el número de ejemplos de entrenamiento con la clase "2" (y eliminar los ejemplos innecesarios).

Veo un requisito similar para los modelos de regresión, pero es más complicado: el número de ejemplos con nivel "0,001" debe ser igual al número de ejemplos de entrenamiento con nivel "-0,001",
el número de ejemplos con el objetivo 0,002 debe ser igual al número de ejemplos con el objetivo -0,002, etc.

Aquí hay un script para hacer este balanceo

En caret ya está todo implementado, diferentes tipos de alineación de clases, lamentablemente no recuerdo como se llaman estas funciones, me metí con ello hace mucho tiempo.
 
mytarmailS:

Por lo que a mí respecta, la conclusión es errónea, ya que el modelo siempre estará un paso por detrás, siempre un paso por detrás en relación con las características actuales del mercado... El mismo deslizamiento de la media miserable...


sí pero no... es decir, mejor que sin ella

 
Elibrarius:
¿Qué significa esencialmente?
Si el dólar sube durante varios meses seguidos (había una tendencia), al suavizar el número de ejemplos de entrenamiento, mostraremos el NS como si estuviera plano durante todo ese tiempo. Y en consecuencia lo aprenderá a plano. ¿Es correcto? Tal vez, ¿todavía deberíamos enseñarlo a la tendencia?

¿Y si el precio empieza a bajar con los nuevos datos? El modelo espera que suba. En una situación así, el modelo que estoy utilizando empieza a ser un poco aburrido y se queda en las operaciones durante mucho tiempo, sobrepasando los límites.

 
Maxim Dmitrievsky:

Sí, pero no... Quiero decir, es mejor que sin ella.

Qué puedo decir, pruébalo, comparte tus experiencias, eso es lo interesante de leer

Intenté reentrenar el modelo en cada barra...

, el modelo funciona mejor que un modelo estático (una vez entrenado)

No - el modelo no puede ser llamado a trabajar

p.d. Espero que puedas hacerlo mejor
 
mytarmailS:

Qué puedo decir, pruébalo, comparte tus experiencias, eso es lo interesante de leer

Intenté reentrenar el modelo en cada barra...

, el modelo funciona mejor que un modelo estático (entrenado una sola vez)

No - el modelo no puede ser llamado a trabajar

p.d. Espero que te vaya mejor.

Estoy haciendo que el modelo no se reentrene en absoluto y que se ajusten ciertos parámetros en el optimizador, pero hay un ajuste constante de las características a través de otro modelo que siempre da los mismos resultados, pero debido a los períodos cambiantes de las características da más o menos señales dirigidas, dependiendo del mercado. Por ejemplo, los periodos pequeños de los predictores son buenos para el mercado plano, pero los más largos para la tendencia. Está claro que sigue habiendo un desfase, pero la cuestión es cuán crítico es. Pero como todo se optimiza de forma acumulativa durante algún tiempo, obtenemos un estilo superadaptativo.

Bueno, en resumen, es mi fantasía, te lo mostraré cuando termine )

 
Maxim Dmitrievsky:

Hago que el modelo no se reentrene en absoluto, sino que se ajusten ciertos parámetros en el optimizador, pero hay un ajuste constante de las características a través de otro modelo, de manera que el primero daría siempre los mismos resultados, pero como los períodos de las características cambian produce más señales dirigidas de manera diferente o menos, dependiendo del mercado. Por ejemplo, los periodos pequeños de los predictores son buenos para el mercado plano, pero los más largos para la tendencia. Está claro que sigue habiendo un desfase, la cuestión es cuán crítico es.

Bueno, estas son mis fantasías, te las mostraré cuando las termine )


¿Qué quiere decir con "periodos de características/previsores"? )