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

 
Yuriy Asaulenko:

Y en R mismo, los gráficos no son nada. Y los paquetes de gráficos tampoco son buenos.

Hoy he dedicado un día a estudiar el DSP.

Me recuerda a NS.

Coeficientes de filtrado y otras cosas, casi como predictores

)

 
Renat Akhtyamov:

Hoy he pasado el día estudiando DSP.

Es un poco como NS.

Coeficientes de filtrado y otras cosas, casi como predictores.

)

No creo que un día sea suficiente). En realidad es una especialidad). Llevan años estudiándolo, incluso toda su vida activa.

NS, no es una reminiscencia, pero se utiliza ampliamente en DSP. La cuestión de la aplicación de NS en DSP es la formulación correcta del problema para NS. Digamos que una de las aplicaciones de la NS es el filtrado, incluido el filtrado adaptativo.

Por cierto, NS funcionará bien cuando le des una tarea bastante específica, no trae esto, no sé qué.

 
Yuriy Asaulenko:

Un día probablemente no es suficiente). En realidad es una especialidad). Se ha estudiado durante años, incluso durante toda la vida activa.

NS, no es una reminiscencia, pero se utiliza ampliamente en DSP. La cuestión de la aplicación de NS en DSP es la formulación correcta del problema para NS. Digamos que una de las aplicaciones de la NS es el filtrado, incluido el filtrado adaptativo.

Por cierto, NS funcionará bien cuando le des una tarea bastante específica, no trae esto, no sé qué.

La especialidad corresponde

El día es corto, estoy de acuerdo.

 
Dr. Trader:

Filtro_02 2016 arr_Buy

La clase "1" supera incluso a la "0" en número, por lo que hay menos entradas falsas en comparación con las anteriores. Prueba este árbol en el EA, por favor. Yo mismo tengo curiosidad por saber qué mostrará el gráfico de beneficios.


y_pred
y_true01
0
1

La clase "1" es sólo un filtro de compra y la clase "-1" es un filtro de venta, por lo que lo ideal sería programar tanto un filtro de venta como uno de compra. Sólo tengo valores todo int, entiendo que si el valor de ramificación en el árbol es 2,5, pongo 3, ¿no? ¿Y en los óvalos significa más o igual a 0,50, entonces es 1, de lo contrario es cero? Es que sólo hay 4 salidas a cero, entonces voy a comprobar en ellos, si no es 0, entonces es 1.

 
Aleksey Vyazmikin:

La clase "1" es sólo un filtro de compra y la clase "-1" es un filtro de venta

No entiendo. ¿Arr_Buy==1 significa "no comprar"?

Aleksey Vyazmikin:

Lo ideal sería programar un filtro tanto para vender como para comprar.

¿Y cómo calcular un valor objetivo a partir de dos arr_Buy y arr_Sell?
Sería bueno que en una columna de objetivos sólo hubiera dos clases -1 y 1 (compra y venta), y aproximadamente el mismo número de ambas. En ese caso, podemos obtener resultados más estables del modelo.

Aleksey Vyazmikin:

Sólo tengo valores todo int, entiendo que si el valor de ramificación en el árbol es 2,5, entonces pongo 3, ¿no? ¿Y en los óvalos significa más o igual a 0,50, entonces es 1, de lo contrario es cero? Es que sólo hay 4 salidas a cero, entonces voy a comprobar en ellos, si no es 0, entonces es 1.

Sí, así es.

 
Aleksey Vyazmikin:

La clase "1" es sólo un filtro de compra y la clase "-1" es un filtro de venta, por lo que lo ideal sería programar tanto un filtro de venta como uno de compra. Sólo tengo valores todo int, entiendo que si el valor de ramificación en el árbol es 2,5, entonces pongo 3, ¿no? ¿Y en los óvalos significa más o igual a 0,50, entonces es 1, de lo contrario es cero? Es que sólo hay 4 salidas a cero, entonces sólo voy a comprobar en ellos, si no 0, entonces 1.

¿Estás haciendo el árbol tú mismo?

Un bosque es suficiente para ser entrenado, y una mayor optimización no tiene sentido - es más fácil hacer un nuevo bosque.

Para una total compatibilidad con MQL5 he creado https://github.com/Roffild/RoffildLibrary/blob/master/Experts/Roffild/Alglib_RandomForest.mq5 Ejecutar sólo en agentes locales. El código puede generar varios archivos con diferentes números de predictores y ejecutarlos en el optimizador. Cuando te quedes sin RAM, será mejor que cambies a Spark...

 
Dr. Trader:

No entiendo. ¿Arr_Buy==1 significa "no comprar"?

Sí - no compre, es un filtro, es decir, busca puntos de entrada malos para comprar y para vender. La idea es encontrar entradas en el mercado y combinarlas con el filtro.

Dr.Trader:

¿Y cómo calcular un valor objetivo a partir de dos arr_Buy y arr_Sell?

Estaría bien que sólo hubiera dos clases -1 y 1 (compra y venta) en la misma columna de objetivos, y aproximadamente el mismo número de ambas. En ese caso, podría obtener resultados más estables del modelo.

En este caso la entrada debería ser en cada barra - compra o venta, pero el mercado no proporciona tantos movimientos de tendencia, y el objetivo de compra y venta es tendencial, por lo que las señales no se pueden combinar. El filtro controla todas las pérdidas, por lo que hay más información, más pisos, por lo que debería detectarlos.

 
SanSanych Fomenko:

Se ha escrito muchas veces: los predictores de ruido son mucho más amigables con el modelo - siempre hay valores en el ruido que mejoran el resultado del aprendizaje. Así que el proceso se invierte: los predictores de ruido tienen más peso, no como usted sugiere. Esto se nota especialmente en las muestras pequeñas, que son de menos de 1000 observaciones. Las muestras de más de 5.000 observaciones no se ven tan afectadas, pero sigue siendo necesario preseleccionar los predictores de ruido

¿Cómo identificar los "predictores de ruido"? Intenté seleccionar por significado y eliminar de esta manera, el resultado es peor.

 

Prefiero superponer los resultados del bosque aleatorio en el propio gráfico.

Por ejemplo, comparando dos modelos de bosque aleatorio:

 
Roffild:

Prefiero superponer los resultados del bosque aleatorio en el propio gráfico.

Por ejemplo, comparando dos modelos de bosque aleatorio:

No está claro cómo leer su indicador.