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

 
Aleksey Nikolayev:

O algo así como una cartera de hojas del sistema con un recálculo rodante.

¿Qué debo recalcular exactamente?

 
Aleksey Nikolayev:

O algo así como una cartera de listas de sistemas con recálculo deslizante.

Entonces es un multiclase. Hacer un 2º modelo que elija qué hoja es mejor para comerciar en ese momento. Las ventajas no son evidentes y son más difíciles de conseguir.

 
Maxim Dmitrievsky:

Bueno, hay que empezar por la teoría. Por ejemplo, ¿qué sentido tiene seleccionar modelos por separado para la venta y para la compra?

Todo lo que no es comprar es vender, y viceversa.

Mi ideología es la mejora de la estrategia de negociación básica, la estrategia es la tendencia siguiente, por lo tanto, no prevé los volantes en un lugar vacío -entradas en el mercado de la plana, y el "No entrar" esencialmente elimina falsas rupturas del flop.

Además, experimenté con modelos para cerrar posiciones rentables cerca de los picos largos de ZZ y el resultado no fue satisfactorio, es decir, o bien la capacidad de predicción es menor allí o mis predictores no funcionan bien allí, o tal vez son ambas cosas, por lo que no uso la estrategia de inversión. Por el contrario, creo que es mejor entrenar dos modelos diferentes aquí.

Maxim Dmitrievsky:

Cuando se pueden filtrar las entradas a través de un umbral más alto. La clase "no comercia" puede recibir un peso indebido por parte del modelo, lo que hace que el error del modelo disminuya y la capacidad de predicción (generalización) caiga en general.

Casi este enfoque, con una clasificación binaria para negociar/no negociar donde se especifica por un umbral del modelo, lo uso en mis experimentos con CatBoost, pero el problema es que el modelo se construye como una aspiradora aspirando todo lo bueno y lo malo y la salida es un modelo rápido pero con un bajo número de entradas.

Maxim Dmitrievsky:

El punto del segundo modelo es que el primero tendrá errores del 1er y 2do tipo - falso positivo y falso negativo. Estamos interesados en eliminarlos. Para ello, se introducen las mismas características en la entrada del segundo modelo y en la salida de la operación del primer modelo, donde 0 - la operación fue rentable, 1 - la operación fue perdedora. Entrene el segundo clasificador y opere sólo cuando muestre 0, es decir, filtre las señales del primer modelo. Las operaciones de pérdida casi desaparecerán en la bandeja, hay que probarlo en la prueba - es una.

Puede entrenar el segundo modelo no sólo en una bandeja, sino también capturar OOS, entonces corregirá las operaciones en los nuevos datos - son dos. Y luego las pruebas.

Eso es exactamente lo que hice, sólo que no utilicé predictores no vinculados, sino hojas como predictores, donde 1 es la señal de la hoja en el predictor, y en el objetivo las respuestas correctas de clasificación. Por supuesto, mi método no permite encontrar nuevas relaciones de predicción, pero sí permite buscar relaciones entre relaciones existentes.

Probaré tu método también, gracias. Sin embargo es posible realizarlo en este concepto sólo como modelo CatBoost, para ahorrar tiempo, pero me temo que puede cortar todo demasiado de nuevo.

 
Maxim Dmitrievsky:

entonces es un multiclase. Hacer un 2º modelo que elija qué hoja es mejor para comerciar en ese momento. Las ventajas no son evidentes y son más difíciles de conseguir.

No, hay demasiadas hojas, esa clasificación no funcionará...

 
Aleksey Vyazmikin:

Mi ideología es la mejora de la estrategia de negociación básica, mientras que la estrategia es de seguimiento de la tendencia, por lo que no prevé los volteos en un lugar vacío - las entradas en el mercado de plano, y "No entrar" esencialmente elimina falsas rupturas planas.

Además, experimenté con modelos para cerrar posiciones rentables cerca de los picos largos de ZZ y el resultado no fue satisfactorio, es decir, o bien la capacidad de predicción es menor allí o mis predictores no funcionan bien allí, o tal vez son ambas cosas, por lo que no uso la estrategia de inversión. Por el contrario, creo que es mejor entrenar dos modelos diferentes aquí.

Casi este enfoque, con clasificación binaria para operar/no operar donde se especifica por un umbral del modelo, lo uso en mis experimentos con CatBoost, pero el problema es que el modelo se construye como una aspiradora que aspira todo lo bueno y lo malo y la salida es un modelo inteligente con bajo número de entradas.

Así que eso es exactamente lo que hice, sólo que no utilicé predictores desagregados, sino hojas como predictores, donde 1 es la señal de la hoja en el predictor, y las respuestas de clasificación correctas están en el objetivo. Por supuesto, mi método no permite encontrar nuevas relaciones de predicción, pero sí permite buscar relaciones entre relaciones existentes.

Probaré tu método también, gracias. Sin embargo, es posible realizarlo en el concepto dado sólo como modelo CatBoost, probablemente, para ahorrar tiempo, pero me temo que va a cortar fuertemente todo de nuevo.

Los retrocesos no deben ser como tal, sólo serán filtrados por el 2º modelo de señales falsas. Bueno, depende de la aplicación y de lo que se quiera.

Entonces es extraño por qué hay muchas operaciones perdedoras, ¿o es un cuadro OOS? Sí, para utilizar el segundo modelo debe haber muchas ofertas que filtrar, incluso se pueden añadir artificialmente ofertas para ello (sobremuestreo)

 
Maxim Dmitrievsky:

No debería haber retrocesos como tal, sólo filtrará las señales falsas con el 2º modelo. Bueno, depende de la aplicación y de lo que se quiera.

Entonces es extraño por qué hay muchas operaciones perdedoras, ¿o es un cuadro OOS? Sí, deberíamos tener bastantes operaciones para filtrar el 2º modelo, incluso podemos añadir artificialmente operaciones para ello (sobremuestreo)

Las capturas de pantalla anteriores fueron pruebas con datos que no participaron de ninguna manera en el entrenamiento del modelo.

Aquí están los resultados de la formación, las capturas de pantalla - la primera es mi compilación de hojas en los datos que se utilizó para la formación (sólo 1/5 sección fue tomada)

Observe que hay un 52,86% de operaciones largas rentables

Hemos añadido un árbol basado en las respuestas de otras hojas.

Y los resultados han mejorado, las operaciones largas rentables han pasado a ser del 79,56%.

En resumen, el enfoque funciona en general, pero el resultado cuando se aplica en la vida real no es tan bueno - por qué es que probablemente algunas de las hojas utilizadas para el aprendizaje no llevan conexiones estables o estas conexiones son pocas. Cada hoja tiene un índice de respuesta del orden del 1%-3% por muestra.

 
Otra opción que se me ocurre es probar la regresión en lugar de la clasificación, y aislar exactamente las combinaciones de hojas de alto rendimiento, tal vez haya un mejor efecto en términos monetarios.
 
Aleksey Vyazmikin:

Las capturas de pantalla anteriores eran pruebas con datos que no participaron en el entrenamiento del modelo de ninguna manera.

Aquí están los resultados del entrenamiento, las capturas de pantalla son mi primera disposición de las hojas en los datos que se entrenó en (sólo se tomó el segmento 1/5)

Observe que hay un 52,86% de operaciones largas rentables

Hemos añadido un árbol basado en las respuestas de otras hojas.

Y los resultados han mejorado, las operaciones largas rentables han pasado a ser del 79,56%.

En resumen, el enfoque funciona en general, pero el resultado cuando se aplica en la vida real no es tan bueno - por qué es que probablemente algunas de las hojas utilizadas para el aprendizaje no llevan conexiones estables o estas conexiones son pocas. Cada hoja tiene un índice de respuesta del orden del 1%-3% por muestra.

Bueno, si sólo tratas de mejorar lo que tienes, esa es la opción de Folds. Dividirlo en varios trozos y entrenar el 1º en algunos trozos y el 2º en el resto. He hecho hasta 500 faltas. Se puede hacer menos, por supuesto. Algún tipo de mejora.

 
Maxim Dmitrievsky:

bueno, si solo tratas de mejorar lo que tienes, esa es la opción con las faltas. Dividirlo en varios trozos y entrenar el 1º en algunos trozos y el 2º en otros. He hecho hasta 500 faltas. Se puede hacer menos, por supuesto. Da una cierta mejora.

¿Dividir la muestra en trozos y entrenar varios modelos, o qué?

Aunque mi muestra sólo tiene unas 14.000 líneas...

 
Aleksey Vyazmikin:

¿Dividir la muestra en partes y entrenar varios modelos, o qué?

Aunque sólo tengo una muestra de unas 14.000 líneas...

Ya escribí más arriba. El modelo básico en una mitad de los trozos, el segundo modelo corrector en la otra

5-10 faltas serán suficientes, tal vez más