Regresión Bayesiana - ¿Alguien ha hecho un EA utilizando este algoritmo? - página 50

 
Dr.Trader:

Los patrones dependen del tiempo. Entrena con un clasificador distinto para cada día de la semana, o intenta añadir la fase de la luna (lo digo en serio), o la hora del día a los datos brutos, no sé qué hacer exactamente, pero es muy importante.

Alexey Burnakov:

2) Sí, ya lo he hecho. Tengo un gran conjunto de datos -puedo compartirlo aquí- en el que he añadido a los datos de los precios:

- hora

- minuto

- día de la semana

- mes

- día del mes.

Por supuesto, esto es importante. Pero debemos determinar no el día o la hora del día en que la TS tiene éxito, sino la naturaleza del mercado cuando la TS tiene éxito - tendencia, plano, patrones estacionales. La naturaleza del mercado determina la naturaleza de los datos, y no el día de la semana o los trucos del corredor. La naturaleza del mercado se puede determinar en la historia, pero para determinarla en la cuenta real, como escribió Dmitry Fedoseyev: "El principal problema del análisis y el comercio es la identificación de la tendencia.

Por ejemplo, se considera que el TS tiene éxito en el plano. ¿Hay algún indicador que prediga un pinchazo?

 
Yuri Evseenkov:

Por supuesto, esto es importante. Sólo es necesario identificar no el día o la hora del día en que la TS tiene éxito, sino la naturaleza del mercado cuando la TS tiene éxito - tendencia, plano, patrones estacionales. La naturaleza del mercado determina la naturaleza de los datos, y no el día de la semana o los trucos del corredor. La naturaleza del mercado se puede determinar en la historia, pero para determinarla en la cuenta real, como escribió Dmitry Fedoseyev: "El principal problema del análisis y el comercio es la identificación de la tendencia.

Por ejemplo, se considera que el TS tiene éxito en el plano. ¿Existen indicadores que permitan predecir el piso?

La cuestión es que se puede determinar el día y la hora del día con antelación, pero la tendencia y el plano no.

Si sabes identificar la tendencia y el plano de antemano, no necesitas nada más: el grial está en tu cara.

 
Yuri Evseenkov:

¿Hay algún indicador que prediga un pinchazo?

También se puede hacer un clasificador para eso, mediante árboles y R, como en el blog de Alexey. Tenemos que recopilar varios años de historial de barras, y luego especificar manualmente o mediante algún indicador qué intervalos de tiempo eran planos y cuáles no, y enseñar el modelo. Para enseñar el modelo, no utilice el aumento de precio del siguiente periodo como en el ejemplo, sino especifique los valores planos/de tendencia (por ejemplo, 0 y 1 correspondientemente). Y obtendremos el indicador.

Pero, en general, si se hace un clasificador a partir de cero que prediga el aumento futuro de los precios, el propio clasificador debería aprender a distinguir un piso de una tendencia. Su lógica no contendrá nociones tan claras, pero conceptualmente debe aprender a distinguir los diferentes caracteres del mercado y cambiar la previsión en función de ellos. Un clasificador adecuado no debe trabajar sólo en algunos periodos de tiempo determinados, su tarea es trabajar siempre en beneficio.

 
Dr.Trader:

Para ello, también podemos hacer un clasificador utilizando árboles y R, como en el blog de Alexey. Tenemos que recopilar varios años de historial de barras, luego especificar manualmente o mediante algún indicador qué intervalos de tiempo eran planos y cuáles no, y entrenar el modelo. Para enseñar el modelo, no utilice el aumento de precio del siguiente periodo como en el ejemplo, sino especifique los valores planos/de tendencia (por ejemplo, 0 y 1 correspondientemente). Y obtendremos el indicador.

No es un indicador, sino un clasificador: no predice, sino que clasifica. A grandes rasgos, habiendo estudiado una parte de la historia, puede decir si esa parte es una tendencia o un piso.

Pero el problema es que también puedo hacerlo a ojo, no necesito un indicador.

 
Дмитрий:

No es un indicador, sino un clasificador: no predice, clasifica. Así que, a grandes rasgos, habiendo estudiado una parte de la historia, puede decir si esta parte es una tendencia o un piso.

Pero el problema es que puedo hacerlo a ojo, no necesito el indicador.

La práctica nos habla de otra cosa. Depende de lo que se enseñe.

Si se limita a clasificar el pasado, sí.

Pero si se desplaza el maestro, es decir, los valores pasados de los predictores se corresponden con el valor actual del maestro, entonces se predice el futuro. Por ejemplo, se desplaza 1 bar. Por lo tanto, cuando llega una nueva barra, se calculan todos los predictores y luego se utiliza el modelo entrenado por PAST para predecir las tendencias de cambio. Se puede enseñar con un turno de más de 1. Lo bueno de los modelos de predicción que extrapolan barras pasadas es que el error se va sumando (en el mejor de los casos) a medida que aumenta el horizonte de predicción, lo que no ocurre con la clasificación. Así pues, al pronosticar sobre H1: el error sobre +1 = 30% (la cifra real), sobre +2 un poco más, y sobre +4 casi 30%.

No sólo eso, si empiezas a hacerte amigo de las casas de Burnakov, puedes encontrar desplazamientos hacia el futuro que tienen más o menos el mismo error de predicción que la barra de +1.

 
Dr.Trader:

Para ello, también podemos hacer un clasificador utilizando árboles y R, como en el blog de Alexey. Tenemos que recopilar varios años de historial de barras, luego especificar manualmente o mediante algún indicador qué intervalos de tiempo eran planos y cuáles no, y entrenar el modelo. Para enseñar el modelo, no utilice el aumento de precio del siguiente periodo como en el ejemplo, sino especifique los valores planos/de tendencia (por ejemplo, 0 y 1 correspondientemente). Y obtendremos el indicador.

Pero, en general, si se hace un clasificador a partir de cero que prediga el aumento futuro de los precios, el propio clasificador debería aprender a distinguir un piso de una tendencia. Su lógica no contendrá nociones tan claras, pero conceptualmente debe aprender a distinguir los diferentes caracteres del mercado y cambiar la previsión en función de ellos. Un clasificador adecuado no debe trabajar sólo en algunos periodos de tiempo determinados, su tarea es trabajar en beneficio de todos.

El blog de Alexey, el entrenamiento del modelo y la clasificación son extensiones demasiado complicadas para mi tarea y para mí. Quiero algo más sencillo para predecir el piso con cierta probabilidad.

Algo así como ADX. Y en MQL4 eso sería comprensible para comerciantes, economistas y filósofos, y no sólo para expertos en paquetes matemáticos y lenguajes de programación R, Python, etc.

 
Dr.Trader:

También podemos hacer un clasificador para eso, mediante árboles y R, como en el blog de Alexey. Tenemos que recopilar varios años de historial de barras, luego especificar manualmente o mediante algún indicador qué intervalos de tiempo fueron planos y cuáles no, y enseñar el modelo. Para enseñar el modelo, no utilice el aumento de precio del siguiente periodo como en el ejemplo, sino especifique los valores planos/de tendencia (por ejemplo, 0 y 1 correspondientemente). Y obtendremos el indicador.

Pero, en general, si se hace un clasificador a partir de cero que prediga el aumento futuro de los precios, el propio clasificador debería aprender a distinguir un piso de una tendencia. Su lógica no contendrá nociones tan claras, pero conceptualmente debe aprender a distinguir los diferentes caracteres del mercado y cambiar la previsión en función de ellos. Un clasificador adecuado no debe trabajar sólo en algunos intervalos de tiempo determinados, sino que su tarea es trabajar en beneficio en todo momento.

Parece que tengo un clasificador que lo aprende.

Mira, este es el esquema de datos de entrada.

Le estoy dando a la máquina

la diferencia con la media móvil

la diferencia con la alta en movimiento

también con un mínimo

difusión de los datos

desviación estándar

y simplemente la diferencia entre los precios tomados con retraso.

Ahora imaginemos que esta ventana sigue variando de 2 a 724 minutos: hay 18 conjuntos de estos predictores.

Eso debería ser suficiente para distinguir un movimiento de tendencia de un plano. Por lo menos, la diferencia entre los precios con retraso y la dispersión de los datos (y la desviación estándar) lo dice.

También quería tomar la pendiente de la regresión lineal para la ventana de precios. También con una ventana variable. Pero son los mismos huevos. Sin embargo, se puede probar.

Así, el clasificador destaca constantemente la diferencia con la media móvil como el predictor más importante, así como las diferencias entre los precios e incluyendo los diferenciales y las desviaciones estándar. Todo lo utiliza.

 
СанСаныч Фоменко:

La práctica cuenta una historia diferente. Depende de lo que se enseñe.

Si se limita a clasificar el pasado, entonces sí.

Pero si está desplazando a los profesores, es decir, los valores de los predictores pasados se corresponden con el valor actual del profesor, entonces está prediciendo el futuro. Por ejemplo, se desplaza 1 bar. Así, cuando llega una nueva barra, se calculan todos los predictores y se utiliza el modelo entrenado en el PASADO para predecir las tendencias futuras. Se puede enseñar con un turno de más de 1. Lo bueno de los modelos de predicción que extrapolan barras pasadas es que el error se va sumando (en el mejor de los casos) a medida que aumenta el horizonte de predicción, lo que no ocurre con la clasificación. Así pues, al pronosticar sobre H1: el error sobre +1 = 30% (la cifra real), sobre +2 un poco más, y sobre +4 casi 30%.

Y no sólo eso, si empiezas a hacerte amigo de las casas de Burnakov, puedes encontrar turnos en el futuro que tengan más o menos el mismo error de predicción que la barra de +1.

Sí. No es que esté prediciendo un paso adelante, como ARIMA, por ejemplo. Con Arima el error crece exponencialmente porque se empieza a utilizar como predictor lo que se predice un paso por delante y esto se repite tantas veces como se necesite predecir por delante.

Originalmente tenía 18 variables objetivo, para las cuales entreno los modelos uno por uno (pasando por los parámetros de entrenamiento y deteniéndome en la mejor combinación). Y así puedo ver para qué horizonte se predice mejor todo.

Mi entrenamiento para todos los objetivos dura aproximadamente un día. Pero esto tampoco es el límite. Una red neuronal multicapa en la GPU puede entrenar durante una semana para un objetivo.

 
Alexey Burnakov:

Inicialmente tenía 18 variables objetivo, para las cuales entreno los modelos uno a uno (pasando por los parámetros de entrenamiento y deteniéndome en la mejor combinación).

¿Cómo se determina la "mejor" combinación?
 
Alexey Burnakov:

Sí. No es que esté prediciendo un paso adelante, como ARIMA. Con Arima, el error crece exponencialmente, porque lo que se predice un paso por delante se empieza a utilizar como predictor y esto se repite tantas veces como se necesite predecir por delante.

Originalmente tenía 18 variables objetivo, para las cuales entreno los modelos uno por uno (pasando por los parámetros de entrenamiento y deteniéndome en la mejor combinación). Y así puedo ver para qué horizonte se predice mejor todo.

Mi entrenamiento para todos los objetivos dura aproximadamente un día. Pero esto tampoco es el límite. Una red neuronal multicapa en la GPU puede entrenar durante una semana para un objetivo.

Eso fue lo que entendí de su actividad
Razón de la queja: