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

 
Maxim Dmitrievsky:

No entiendo muy bien qué hay en las cifras y cuál es el problema

Las figuras muestran el resultado financiero (eje y) del modelo al elegir diferentes probabilidades para la clasificación binaria (eje x). Utilizando una muestra de prueba, entendí que siempre hay que entrar en el mercado cuando aparece una señal de activación (la formación decide si se entra o no). La paradoja es que el aprendizaje sólo provoca el deterioro de la señal de activación básica y no lo habría visto, si no hubiera decidido ver cómo cambia el resultado financiero en función del desplazamiento del punto de clasificación en el segmento de probabilidad.

Maxim Dmitrievsky:

Yo mismo hice un montón de variantes de modelos, ahora estoy tratando de averiguar cuál elegir para el seguimiento :D o para mejorarlo más

en resumen... estos enfoques no alimentan la salida correctamente en absoluto, ya sea en zigzag o alguna otra tontería

porque para cada dimensión de la ventana deslizante debe haber una distribución diferente a partir de la cual se realizan las operaciones. Entonces el modelo se ajusta mejor, incluso a la muestra de prueba. (mientras que las salidas en zigzag u otras son en sí mismas muy deterministas, hay pocos grados de libertad para el ajuste) Esto último se hace y ya está, es decir, la enumeración de las salidas es más exhaustiva, y luego no hay realmente nada más que hacer ahí

a los incrementos de entrada con diferentes rezagos, a la vieja usanza, con auto-muestreo a través de importadores y tal vez a través de PCA para deshacerse de la correlación, tales variantes de bots también hicieron. Pero, en general, utilizar el ACP es una idea errónea (aunque, de nuevo, en Internet se escribe lo contrario). No sólo hay que centrar las muestras, sino que con los nuevos datos estos componentes se convierten lentamente en escoria

Tenemos un enfoque muy diferente del problema. Soy ajeno a una descripción puramente matemática del precio sin ninguna justificación real (patrones visualmente observables). Por el contrario, aplico la ZZ y veo la eficacia de la misma (los pedicuros en la ZZ siempre están en la parte superior de la lista en todos los paquetes de MO). Creo que la combinación de ambos enfoques podría mejorar el resultado.

La selección de modelos a través de la significación no tiene sentido - ya he demostrado antes que la eliminación de diferentes predictores significativos en el mismo modelo puede mejorar los resultados del aprendizaje y formar nuevas relaciones más productivas y estables en las hojas del árbol. Toda esta "importancia" es un principio codicioso en la construcción de árboles, que a priori no es correcto, por lo que necesito métodos de evaluación de predictores significativos por separado, y aún no los tengo.

 

Maxim Dmitrievsky:

Todo esto da algo como esto, casi sin complicaciones, sólo hay que esperar 10 minutos:

la posibilidad de nuevas mejoras parece dudosa en realidad, cuando el modelo ya funciona con más del 100% de los trenes

tal vez con un buen gráfico/instrumento se le pueda sacar más partido.

Tiene buena pinta, pero el periodo del modelo es demasiado corto, ¿cómo se comporta con datos de un año?

 
Aleksey Vyazmikin:

Las figuras muestran el resultado financiero (eje y) del modelo al elegir diferentes probabilidades para la clasificación binaria (eje x). En la muestra de prueba, obtuve la conclusión de que siempre se debe entrar en el mercado cuando aparece la señal de activación (el entrenamiento decide si se entra en el mercado o no). La paradoja resultante es que el aprendizaje sólo provoca el deterioro de la señal de activación básica y no lo habría visto, si no hubiera decidido ver cómo cambia el resultado financiero en función del desplazamiento del punto de clasificación en el segmento de probabilidad.

Tenemos un enfoque muy diferente del problema. Soy ajeno a una descripción puramente matemática del precio sin ninguna justificación real (patrones visualmente observables). Por el contrario, aplico la ZZ y veo la eficacia de la misma (los pedicadores en la ZZ siempre están en la parte superior de la lista en todos los paquetes de MO). Creo que la combinación de ambos enfoques podría mejorar el resultado.

La selección de modelos a través de la significación no tiene sentido - ya he demostrado antes que la eliminación de diferentes predictores significativos en el mismo modelo puede mejorar los resultados del aprendizaje y formar nuevas relaciones más productivas y estables en las hojas del árbol. Lo de la "importancia" es un principio de avaricia en la construcción de árboles, que no es correcto a priori, por lo que necesitamos métodos de estimación de predictores significativos por separado, que aún no tengo.

cómo, la importancia debe mirarse en la muestra de prueba, y finito en la muestra de entrenamiento. Las importaciones clásicas incorporadas como gini siempre mienten, tenemos que hacer permutación (aleatorizar cada uno de los predictores uno por uno y mirar el error del modelo), y luego desechar los peores. Hay que deshacerse previamente de los rasgos correlacionados, de lo contrario las importaciones a través de la permutación también mentirán. No es una tontería, se obtiene el mejor modelo posible. Por qué intentar reinventar la rueda si no se ha inventado nada mejor hasta ahora.

 
Aleksey Vyazmikin:

No tiene mala pinta, pero el periodo del modelo es demasiado corto, ¿cómo se comporta con datos de un año de antigüedad?

15 minutos, simplemente no enseño más tiempo porque se tarda más en esperar.

En cuanto al gráfico de 15 minutos, sólo fxsaber puede haberlo hecho incluso durante algunos años :)

Tengo un apalancamiento sin acción, es decir, ninguna estrategia está incorporada al modelo desde el principio
 
Aleksey Vyazmikin:

Estoy viendo un gráfico de beneficios frente al número de árboles de un modelo (512 modelos)

y parece que los modelos con más árboles de más de 60 años tienen menos probabilidades de desprenderse o la muestra es pequeña...

Aquí hay otros gráficos con diferentes números de árboles.

Muestra 7400 para todos, algoritmo rf

Número de árboles 50


El error disminuye a medida que aumenta el número de árboles. Parece aumentar, de repente a cero.

Número de árboles = 150


Con 150, la precisión aumenta, pero de forma bastante modesta: un par de centésimas.

Aumentar el número de árboles




Conclusión: hasta 50 árboles tiene sentido aumentar el número de árboles, pero más de 100 no tiene sentido.

Me da pereza hacerlo ahora, pero estaba cambiando el tamaño de la muestra.

El tamaño de la muestra de hasta 1000 observaciones afecta en gran medida a la precisión del modelo. Pero después de 5000 el tamaño de la muestra NO afecta a la precisión del modelo.


Por lo tanto, concluyo: el error no está determinado por el modelo o sus parámetros, sino por la combinación "predictores-objetivo".

 
SanSanych Fomenko:

Aumentemos el número de árboles

Por lo tanto, concluyo: el error no está determinado por el modelo o sus parámetros, sino por el vínculo "predictores-objetivo".

Se recomiendan 50-100 árboles inicialmente, no tiene sentido criar tantos clasificadores débiles, tampoco he visto ninguna mejora.

monte carlo y similares para ayudar, sanSanSanych... la construcción de paquetes no es una cosa de la mente humana, es sólo una f... cerebros
 
Maxim Dmitrievsky:

Hay que ver las importaciones en la muestra de prueba y ajustarlas en la muestra de entrenamiento. Las importaciones clásicas incorporadas como gini siempre mienten, deberíamos hacer una permutación (aleatorizar cada uno de los predictores uno por uno y mirar el error del modelo), luego descartar los peores. Hay que deshacerse previamente de los rasgos correlacionados, de lo contrario las importaciones a través de la permutación también mentirán. No es una tontería, se obtiene el mejor modelo posible. Para qué inventar una bicicleta si no se ha inventado nada mejor hasta ahora.

Sinceramente, no entiendo el método: ¿estamos hablando de desactivar los predictores del entrenamiento paso a paso y comparar los resultados con y sin este predictor? Entonces, ¿qué significa aleatorizar? Cómo decidir si es malo o no - si el predictor permite dividir correctamente el 1% de la muestra y está en la profundidad media del árbol - ¿es bueno o malo? Tal vez sólo hay que tener en cuenta la calidad de la construcción del árbol con el predictor de la raíz, cómo se corta la muestra en cada nivel - tal vez se necesita una decadencia suave del gradiente... La bicicleta tiene que inventar, porque lo que es de dominio público no es lo mejor de lo que existe, por ejemplo, tal vez deberíamos dividir la muestra no por el máximo sino por la media o por el x-sigma o lo que sea - tal vez las reglas sean más complejas, pero más estables. Por cierto, no entiendo por qué no hay un método de formación que utilice no sólo contadores numéricos para las divisiones, sino también predictores lógicos y comparativos.

MaximDmitrievsky:

15 minutos, simplemente no entreno más tiempo porque la espera es más larga.

No sé... creo que sólo fxsaber ha sido capaz de hacer un gráfico de 15 minutos tan suave durante unos años :)

Tengo una lectura de no acción, es decir, no hay ninguna estrategia en el modelo desde el principio

¿Ha intentado alguna vez crear una estrategia primitiva y entrenar filtros para ella, que den o rechacen entrar en el mercado?

 
Aleksey Vyazmikin:

Sinceramente, no entiendo el método: ¿estamos hablando de eliminar los predictores del entrenamiento paso a paso y comparar los resultados con y sin este predictor? Entonces, ¿qué significa aleatorizar? ¿Cómo se decide si es malo o no, si el predictor permite dividir correctamente el 1% de la muestra y está en la profundidad media del árbol, es bueno o malo? Tal vez sólo hay que tener en cuenta la calidad de la construcción del árbol con el predictor de la raíz, cómo se corta la muestra en cada nivel - tal vez se necesita una decadencia suave del gradiente... La bicicleta tiene que inventar, porque lo que es de dominio público no es lo mejor de lo que existe, por ejemplo, tal vez deberíamos dividir la muestra no por el máximo sino por la media o por el x-sigma o lo que sea - tal vez las reglas sean más complejas, pero más estables. Por cierto, no entiendo por qué no existe un método de entrenamiento que utilice no sólo contadores numéricos para los splits, sino también lógicos, comparando predictores...

¿Ha intentado alguna vez crear una estrategia primitiva y formar filtros para ella que permitan o prohíban la entrada al mercado?

primero entrenar el modelo con todas las características, guardar los errores

entonces aleatorice cada uno de los predictores, digamos con una distribución normal, y compruebe el error de nuevo en todas las características, incluyendo esta aleatorizada (cambiada) y compárela con la inicial. No es necesario volver a entrenar el modelo. Y así comprobar cada uno de los predictores. Si el predictor era bueno, el error de toda la muestra (incluidos todos los demás predictores originales) aumentará drásticamente en comparación con el original. Guarde las diferencias de error y seleccione las mejores fichas en función de ellas. Luego, al final, entrenar sólo a los mejores y modelar en la producción. Los malos predictores son ruido para el modelo, no los necesitamos con su 1%. Los buenos suelen quedarse en 5-10, la importancia del resto disminuye exponencialmente (ley de Zipf).

He intentado enseñar filtros, pero no mucho, no le veo mucho sentido, es mejor meter todo en un modelo a la vez

Si puede, sólo sobre la selección de predictores MUY competente(ya tiró antes)

Beware Default Random Forest Importances
Beware Default Random Forest Importances
  • explained.ai
0.995 worst radius 0.995 mean perimeter 0.994 mean area 0.984 worst perimeter 0.983 worst area 0.978 radius error 0.953 mean concave points 0.944 mean concavity 0.936 worst concave points 0.927 mean compactness 0.916 worst concavity 0.901 perimeter error 0.898 worst compactness 0.894 worst texture 0.889 compactness...
 
SanSanych Fomenko:

Aquí están los otros gráficos con diferentes números de árboles.

Muestra 7400 para todos, algoritmo rf

Número de árboles 50


El error disminuye a medida que aumenta el número de árboles. Parece aumentar, de repente a cero.

Número de árboles = 150


Con 150, la precisión aumenta, pero de forma bastante modesta: un par de centésimas.

Aumentar el número de árboles




Conclusión: hasta 50 árboles tiene sentido aumentar el número de árboles, pero más de 100 no tiene sentido.

Me da pereza hacerlo ahora, pero estaba cambiando el tamaño de la muestra.

El tamaño de la muestra de hasta 1000 observaciones afecta en gran medida a la precisión del modelo. Pero después de 5000 el tamaño de la muestra NO afecta a la precisión del modelo.


De ahí que concluya: el error NO está determinado por el modelo o sus parámetros, sino por la relación predictor-objetivo.


Creo que puede haber un número diferente de árboles para los bosques aleatorios y los diferentes tipos de refuerzo, y el número depende de la calidad de los predictores y las situaciones, que pueden ser diferentes para el mismo objetivo (como ejemplo - objetivo 100 puntos de beneficio de cualquier punto). Es interesante ver qué combinaciones de hojas y con qué frecuencia se utilizan para tomar decisiones; creo que es el tipo de información que puede estimar mejor el modelo. Y, otro problema es que es imposible presentar un modelo estacionario del mercado para las pruebas y el entrenamiento, lo que significa que sólo una parte del modelo entrenado se utilizará en las pruebas y el modelo tiene que ser estimado por esta parte, mientras que la otra parte puede resultar mucho mejor. Y si el error de clasificación no es igual al módulo de clasificación correcta (utilizamos una red de arrastre y disminuimos el coste del error), la estimación del modelo se complica aún más.

 
Maxim Dmitrievsky:

primero entrenar el modelo en todas las características, guardar los errores

Luego, uno por uno, aleatorice cada uno de los predictores, digamos por distribución normal, y compruebe el error de nuevo en todas las características, incluyendo esta aleatorizada (cambiada), y compárelo con el inicial. No es necesario volver a entrenar el modelo. Y así comprobar cada uno de los predictores. Si el predictor era bueno, el error de toda la muestra (incluidos todos los demás predictores originales) aumentará drásticamente en comparación con el original. Guarde las diferencias de error y seleccione las mejores fichas en función de ellas. Luego, al final, entrenar sólo a los mejores y modelar en la producción. Los malos predictores son ruido para el modelo, no los necesitamos con su 1%. Los buenos suelen quedarse en 5-10, la importancia del resto disminuye exponencialmente (ley de Zipf).

He intentado enseñar filtros, pero no mucho, no le veo mucho sentido, es mejor meter todo en un modelo a la vez

Si puede, sólo sobre la selección de predictores MUY competente(ya tiró antes)

Gracias. La aleatorización debe ser los mismos valores que para el predictor en la muestra, ¿verdad?

En general entiendo el planteamiento, gracias, tengo que pensar cómo implementarlo y probarlo.

Desgraciadamente no lo domino, así que escucharé su paráfrasis en alguna ocasión.

Pero, de nuevo, no creo que esto sea del todo correcto, ya que dependerá de lo cerca que esté el predictor de la raíz en el árbol...
Razón de la queja: