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

 

humnocode en python hoy y obtuve esto

traine

prueba

Tal vez el probador está mal, tal vez algo más, voy a volver a comprobarlo mañana por la noche. Lo estoy haciendo para un artículo (quiero describir mi enfoque), tal vez catbust es mejor para manejar esta estrategia que el bosque

 
Maxim Dmitrievsky:

humnocode en python hoy y obtuve esto

traine

prueba

Tal vez el probador está mal, tal vez algo más, voy a volver a comprobarlo mañana por la noche. Hago para el artículo (quiero describir mi enfoque), tal vez catboost es mejor para manejar esta estrategia que el bosque.

Así que CatBoost está entrenado en una prueba, según sus muestras del sistema de nomenclatura - ¿hay algo mal?

 
Aleksey Vyazmikin:

Así que CatBoost está entrenado en la prueba, de acuerdo con su sistema de nomenclatura de muestreo - ¿no hay confusión?

Me refiero a nuevos datos en conjunto, una pieza diferente de la historia. Debería ser así en el tren, pero la prueba es confusa. Tal vez el probador está mirando en alguna parte.

A mi me da error 0,6-0,7 en mi bosque casi con los mismos datos y es igual en trayne, y la prueba no siempre es buena y casi siempre es peor que trayne. El error en el impulso es casi el mismo, pero la prueba es muy buena, no sucede.

¿Cómo te va, has avanzado con las hojas?
 
Maxim Dmitrievsky:

Me refiero a nuevos datos en conjunto, una pieza diferente de la historia. Debería ser así en el Tren, pero la prueba es confusa. Tal vez el probador está mirando en alguna parte.

En mi bosque tengo un error de 0,6-0,7 más o menos con los mismos datos y es lo mismo en trail, y la prueba no siempre es buena y casi siempre es peor que en trail. El impulso tiene casi el mismo error, pero la prueba es dolorosamente buena, esto no sucede

¿Cómo te va, has ganado hojas?

Bueno, entonces no lo sé - sin muestreo es difícil saber lo que está mal.

Mis resultados no me hacen muy feliz. He recogido una cantidad decente de hojas, pero luego viene la cuestión de cómo hacer que funcionen mejor unas con otras. La cuestión es que a menudo se solapan entre sí en un 20%-50% o más, y por tanto resulta que dan la misma señal, lo que no es muy bueno. La idea es agruparlos y hacer para cada grupo un umbral de activación - así que pienso en la mejor manera de hacerlo.

Hasta ahora estoy experimentando con el filtrado mutuo - entrené el árbol en R en las hojas, pero hasta ahora sólo en la compra.

Primera captura de pantalla sin árbol, y segunda con árbol. El periodo es de marzo a septiembre de este año.

Por supuesto que la curva de balance no es muy atractiva, pero es una estrategia tendencial, cuya esencia es no perder más de lo que se gana durante el periodo plano, y el mercado (Si) es plano todo el año con raros movimientos fuertes. Puedo ver, que la adición de un árbol ha mejorado los indicadores relativos, voy a hacer lo mismo para la venta más tarde, si el resultado es positivo, será una parte del modelo.

La cuestión de la selección de las hojas hasta el final no se resuelve, incluso la selección de las hojas que han mostrado buenos resultados en cada uno de los 5 años se puede esperar que el 20%-40% deje de funcionar, lo que es aún más triste es la incapacidad de entender si se apaga o no - especialmente por trimestres hizo la prueba, resultó que las hojas no rentables en el último trimestre se superponen a la pérdida (muchos) en los trimestres siguientes.

El método de selección de hojas en sí parece prometedor, pero el proceso es muy lento.

 
Aleksey Vyazmikin:

Pues no lo sé, sin una muestra es difícil saber qué pasa.

No estoy muy contento con los resultados. He recogido una cantidad decente de hojas, pero la siguiente cuestión es cómo hacer que funcionen mejor. La cuestión es que a menudo se solapan entre sí en un 20%-50% o más, y por tanto resulta que dan la misma señal, lo que no es muy bueno. La idea es agruparlos y hacer para cada grupo un umbral de activación - así que pienso en la mejor manera de hacerlo.

Hasta ahora estoy experimentando con el filtrado mutuo - entrené el árbol en R en las hojas, pero hasta ahora sólo en la compra.

Primera captura de pantalla sin árbol, y segunda con árbol. El periodo es de marzo a septiembre de este año.

Por supuesto que la curva de balance no es muy atractiva, pero es una estrategia tendencial, cuya esencia es no perder más de lo que se gana durante el periodo plano, y el mercado (Si) es plano todo el año con raros movimientos fuertes. Puedo ver, que la adición de un árbol ha mejorado los indicadores relativos, voy a hacer lo mismo para la venta más tarde, si el resultado es positivo, será una parte del modelo.

La cuestión de la selección de las hojas hasta el final no se resuelve, incluso la selección de las hojas que han mostrado buenos resultados en cada uno de los 5 años se puede esperar que el 20%-40% deje de funcionar, lo que es aún más triste es la incapacidad de entender si se apaga o no - específicamente por trimestres hizo la prueba, resultó que las hojas no rentables en el último trimestre se superponen a la pérdida (muchos) en los trimestres siguientes.

El método de selección de hojas en sí parece prometedor, pero el proceso es extremadamente lento.

No me dan un muzen por eso, qué pena.

Hay muy pocos oficios, no es representativo. Y hay que filtrar las que dan pérdidas, porque todas son innecesarias
 
Maxim Dmitrievsky:

Sí, no se puede ganar dinero rápido con eso, es una pena.

Hay muy pocos oficios, es poco representativo. Y deberías filtrar los no rentables, son todos iguales, no los necesitas.

Sí, el problema es que para cada señal de la hoja asignada 1 lote, respectivamente, si una gran cantidad de hojas activadas, a continuación, más lotes necesarios - hay 71 lotes, pero muy rara vez, y si se mantiene el dinero en 71 lotes todo el tiempo, entonces el total obtendría 25% por año - GO en el intercambio es grande, y es Si.

Acerca de la eliminación de los no rentables - esto es un arma de doble filo - por un lado, es posible aumentar el número de filtros, lo que reducirá el número de operaciones perdedoras, pero al mismo tiempo reducir el número de los rentables, como escribí anteriormente, muchas hojas se convierten en rentables durante el año, por lo que es una cuestión de tiempo, una cuestión de las condiciones del mercado. El problema de este enfoque es que requiere mucho trabajo y no hay posibilidad de añadir rápidamente nuevos predictores, ideas para las que tengo y aparecen regularmente - ahora estoy trabajando de hecho con una muestra de febrero de este año.

Otra forma de mejorar los indicadores, es trabajar en la toma de beneficios - por el momento el cierre se realiza principalmente por la parada y una condición - en raras ocasiones.

A pesar de todos los inconvenientes, el sistema no ha perdido dinero durante casi un año, lo que puede indicar la dirección correcta.

 
Aleksey Vyazmikin:

Sí, el problema es que para cada señal de la hoja asignada 1 lote, respectivamente, si una gran cantidad de hojas activadas, a continuación, más lotes necesarios - hay 71 lotes, pero muy rara vez, y si se mantiene el dinero en 71 lotes todo el tiempo, entonces el total obtendría 25% por año - GO en el intercambio es grande, y es Si.

Acerca de la eliminación de los no rentables - esto es un arma de doble filo - por un lado, es posible aumentar el número de filtros, lo que reducirá el número de operaciones perdedoras, pero al mismo tiempo reducir el número de los rentables, como escribí anteriormente, muchas hojas se convierten en rentables durante el año, por lo que es una cuestión de tiempo, una cuestión de las condiciones del mercado. El problema de este enfoque es que requiere mucho trabajo y no hay posibilidad de añadir rápidamente nuevos predictores, ideas para las que tengo y aparecen regularmente - ahora estoy trabajando de hecho con una muestra de febrero de este año.

Otra forma de mejorar los indicadores, es trabajar en la toma de beneficios - por el momento el cierre se realiza principalmente por la parada y una condición - en raras ocasiones.

A pesar de todas las deficiencias, el sistema no ha perdido dinero desde hace casi un año, lo que puede ser una señal de la dirección correcta.

Es posible entrenar un modelo 2. sobre el primero, con las mismas características. Pero sólo corregirá las entradas de la equidad, es decir, prohibirá/permitirá las operaciones. Al menos no habrá intercambios innecesarios.

 
Maxim Dmitrievsky:

es posible entrenar un 2. modelo sobre el primero, con las mismas características. Pero sólo corregirá las entradas de capital, es decir, prohibirá/permitirá las operaciones. Al menos no habrá intercambios innecesarios.

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

 
Maxim Dmitrievsky:

es posible entrenar un 2. modelo sobre el primero, con las mismas características. Pero sólo corregirá las entradas de capital, es decir, prohibirá/permitirá las operaciones. Al menos no habrá intercambios innecesarios.

No entiendo muy bien cómo sugieres cambiar el objetivo - ahora ya tengo 3 objetivos - comprar/vender/no operar. Y, selecciono hojas para comprar/vender, y luego a cada una de tales hojas buscando un filtro de hojas "no comerciar", tanto como 3 piezas (para algunos es suficiente para algunos - pruebas realizadas). Después de los resultados de estos pares - hoja de activación + hoja de filtro, construí un árbol basado en la señal final, que tuvo en cuenta las respuestas de todas las hojas y su exclusión mutua, es decir, obtuve un filtro adicional.

Aquí hay un árbol

Quiero probar el modelo en CB en lugar del árbol, tal vez allí la generalización de todas las hojas utilizadas será mejor, aunque la precisión se incrementa en un 1%, que no es mucho, pero el resultado es positivo.

 
Aleksey Vyazmikin:

No entiendo muy bien cómo sugieres cambiar el objetivo - ahora mismo tengo básicamente 3 objetivos - comprar/vender/no operar. Y, selecciono hojas de compra/venta, y luego a cada una de tales hojas busco un filtro de hojas "no comerciar", hasta 3 piezas (para algunos esto es suficiente para algunos, para algunos no es suficiente - pruebas realizadas). Después de los resultados de estos pares - hoja de activación + hoja de filtro, construí un árbol basado en la señal final, que tuvo en cuenta las respuestas de todas las hojas y su exclusión mutua, es decir, obtuve un filtro adicional.

Aquí hay un árbol

Quiero probar el modelo en CB en lugar del árbol, tal vez allí la generalización de todas las hojas utilizadas será mejor.

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

Todo lo que no es para comprar es para vender, y viceversa. Por eso necesitamos un clasificador binario ordinario. Además, si lo hacemos así, ¿por qué necesitamos una clase separada de "no negociar", cuando se puede simplemente filtrar las entradas a través de un umbral más alto. La clase "no comercia" puede recibir un peso excesivo por parte del modelo, debido a lo cual el error del modelo se reducirá y la capacidad de predicción (generalización), en general, caerá.

El punto del segundo modelo es que el primer modelo tendrá errores del primer y segundo 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 del primer modelo, donde 0 - la operación fue rentable, 1 - la operación no fue rentable. 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.

Puede dividir la muestra en faltas, y enseñar los modelos en orden de tablero de ajedrez, a través de ciertos trozos. Por ejemplo, 5 faltas. El primer modelo se entrena a la vez en 1,3,4 faltas. El segundo modelo correctivo en 2,5. Esto mejoraría aún más la generalización.