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

 
Yuriy Asaulenko:

Chicos, el tema es sobre MO, no sobre estilos de trading y stops. ¿Qué tiene que ver esto con ellos?

Así que quería discutirlo en la NS, pero resultó que no hay nadie con quien discutirlo.

 
Yuriy Asaulenko:

Ayer mismo surgió una conversación sobre la predicción de sinusoides, y me acordé de mi antiguo tema:

(Maxim, todavía te estabas burlando de este tema. Soy reivindicativo y lo escribo todo).

Debo decir que se hizo en vano, pero el tema se estancó y nunca se puso en marcha. Quizás porque la redacción no era muy clara.

En realidad, no necesitamos resolver ningún problema. Tienes que tomar alguna función, como la del tema o, mejor aún, una más complicada. Cree una herramienta artificial con esta función y ejecútela en el probador en una estrategia que ya funcione. Lo ideal es que el beneficio se desborde en la ST laboral. Ah, se me olvidaba, la función debe ser normalizada de antemano para que se corresponda aproximadamente con el símbolo sobre el que se establece el TS. Luego podemos añadir ruido y ver qué pasa.

No hago previsiones y no tengo preparada dicha TS, por lo que no puedo comprobarlo en un futuro próximo. Pero en un futuro lejano, pienso hacerlo.

Ahora sobre por qué necesitamos todo esto.

Supongamos que tenemos que enseñar la previsión de NS (u otra MO). Normalmente, los pesos iniciales del NS se inicializan de forma aleatoria y si el NS entra en min-máximos durante el entrenamiento, es una cuestión muy grande.

Hagamos lo siguiente.

1. Generar una función no aleatoria cercana al BP del mercado y utilizarla para enseñar un NS inicializado aleatoriamente. Compruébalo y así sucesivamente. Ahora nuestro NS está cerca de lo que necesitamos en términos de configuración, pero hasta ahora no podemos resolver el problema real.

2. Llevamos a cabo el entrenamiento del NS (véase el punto 1) utilizando PA reales. Ya tenemos cierta seguridad de que los ajustes preliminares de NS están en algún lugar en la vecindad de las áreas min-max y en el curso del pre-entrenamiento van a donde deberían, pero no a algún min-max al azar.

La analogía es con un escolar al que primero se le enseña a resolver problemas sencillos sobre un tema, y luego esos problemas se hacen más difíciles. La enseñanza a la carta es más eficaz que intentar que resuelvan problemas complejos desde el principio.

En general, el método no es una apertura, en algún lugar de la literatura se produjo, pero hay muchos libros, y yo solo no recuerdo. En cualquier caso, he pensado en su aplicación. Pues bien, el primer experimento con el que se intenta predecir una función analítica con una TS ya hecha, en general, es necesario que sea por etapas.



si este no hubiera metido la pata, hace 2 páginas habrías visto un ejemplo con una fe

no entiendo la idea de la inicialización de los pesos y demás. entonces se necesita una parrilla de preaprendizaje, y qué sentido tiene entrenar sobre algo que no se corresponde en absoluto con lo que hay que predecir

Supongo que está tratando de imitar los fundamentos del aprendizaje por refuerzo

 
Maxim Dmitrievsky:

Si el imbécil no hubiera metido la pata, hace 2 páginas habrías visto un ejemplo con un ojo de la cara.

No entiendo la idea de inicializar pesos y demás, entonces necesitas una rejilla de preaprendizaje, y qué sentido tiene entrenar sobre algo que ni siquiera se ajusta a lo que necesitas predecir

Supongo que estás tratando de representar los fundamentos del aprendizaje por refuerzo.

No, no necesitas una parrilla de preaprendizaje.

1. Entrenamiento previo sobre datos cercanos y claramente predecibles. Se puede preparar a partir de datos reales: splines, polinomios, Fourier o lo que sea.

2. Post-entrenamiento de la red según p. 1 (con inicialización no aleatoria) sobre los datos reales.

Para la previsión veo cómo hacerlo, y creo que puede mejorar los resultados. Para la clasificación, no sé qué hacer.

Ejemplo con función - no se trata de eso. Hay muchos ejemplos de este tipo.

 
Maxim Dmitrievsky:

Alexey no ha elegido el peor de los catbustos, sino uno de los mejores para la investigación, con diferencia. Se utiliza en el CERN, por ejemplo, para analizar los resultados de los colisionadores... que se ocupa de la aleatoriedad cuántica).

Muy interesante). El CERN XGBoost se encontró por accidente.

No es de extrañar que el CERN haya reconocido que éste es el mejor enfoque para clasificar las señales del Gran Colisionador de Hadrones. Este problema concreto planteado por el CERN requería una solución que fuera escalable para manejar datos generados a un ritmo de 3 petabytes al año y distinguir eficazmente una señal extremadamente dispersa del ruido de fondo en un proceso físico complejo. XGBoost se convirtió en la solución más útil, sencilla y fiable. (6 DE SEPTIEMBRE DE 2018)

__________________________________

CatBoost ha sido introducido por el Centro Europeo de Investigación Nuclear (CERN) en la investigación del Gran Colisionador de Hadrones (LHCb) para combinar la información de diferentes partes del detector LHCb en el conocimiento de partículas más preciso y agregado posible. Utilizando CatBoost para combinar los datos, los científicos han podido mejorar el rendimiento cualitativo de la solución final, donde los resultados de CatBoost han sido mejores que los obtenidos con otros métodos[6][7].

_______________________________________

Todo es más o menos lo mismo. Entonces, ¿cuál es Catbust oXGBoost? ) Me pregunto quién engañó a quién. ))

 
Aleksey Vyazmikin:

El futuro es incierto, las pautas van y vienen, eso es normal, pero es cuestionable que tengan que ser necesariamente a corto plazo. No tengo una muestra muy grande debido a la estrategia de tendencia, por lo que creo que no es razonable reducirla aún más.

Sin embargo, decidí llevar a cabo un experimento sobre la eficacia de la formación en diferentes proporciones de la muestra de formación y de validación que participan en la formación. El paso será del 10%, es decir, al principio la muestra de entrenamiento será del 90% y la muestra de prueba del 10%, y luego la muestra de prueba se incrementará gradualmente en un 10%. Cada muestra contendrá 200 modelos, veamos qué sucede. Otra cuestión es cuál es la mejor manera de comparar estas combinaciones, según un criterio medio o absoluto: se aceptan las ideas.

En los patrones de corto plazo - de 10-15 min a máximo 1 hora la probabilidad de cualquier evento significativo que cambie algo es muy pequeña, especialmente cuando ya hemos entrado en un acuerdo sobre un evento significativo. En más de una hora - lo que pasará, al menos para mí, es desconocido. Esto no es en oposición a usted, sino en apoyo de mi opinión).

Decidí seguir tu camino, con mis modificaciones y visión del tema. Sobre todo porque todos los predictores necesarios ya están en marcha. Aunque he decidido probar en XGBoost, algo me pareció - o bien no me impresionaron los documentos de CatBoost (XGBoost, en mi opinión, es más claro), o bien otra cosa. Todavía no he entendido qué hay con el racionamiento. Con NS, es difícil racionar todo allí.

 
Yuriy Asaulenko:

Todo es casi exactamente igual. Entonces, ¿cuál es Catbust oXGBoost? ) Me pregunto quién engañó a quién. ))

Y sería bueno entenderlo antes de crear modelos basados en ellos y lanzarlos al caos del mercado.

Recuerdo que hace medio año intentaron probar CatBoost aquí, entonces a diferencia de XGBoost no podía aprender ni siquiera de la tabla de multiplicar.

No sé, quizás ahora han decidido que si no puede aprender cosas sencillas, deberían probar con las complejas, y quizás sea realmente genial.

Y para determinar esto, probablemente podría utilizar los BPs sintéticos sugeridos anteriormente.

 
Ivan Negreshniy:

Y sería bueno entenderlo antes de crear modelos basados en ellos y lanzarlos al caos del mercado.

Recuerdo que hace medio año intentaron probar CatBoost, entonces, a diferencia de XGBoost, no pudo aprender ni siquiera en la tabla de multiplicar.

No sé, tal vez ahora han decidido que si no puede aprender lo simple, entonces deben probarlo en lo complejo, y tal vez sea realmente genial.

Y que probablemente sería capaz de determinar que se puede utilizar el BP sintético sugerido anteriormente.

Al menos XGBoost tiene una documentación mucho mejor, y más. El CatBoost tiene, salvo los propios materiales de Yandex, muy pocos más, a simple vista.

 
Yuriy Asaulenko:

De acuerdo con los patrones de corto plazo - de 10-15 min a máximo 1 hora la probabilidad de que cualquier evento significativo cambie algo es muy baja, especialmente porque ya hemos entrado en una operación en un evento significativo. En más de una hora - lo que pasará, al menos para mí, es desconocido. Esto no es en oposición a usted, sino en apoyo de mi opinión).

No veo la variabilidad de la probabilidad de esa manera como parte de mi estrategia. Si el modelo dio una señal para entrar, entonces entramos, porque en este momento (simplemente, según las estadísticas obtenidas en el entrenamiento) hay condiciones favorables para ello y la salida en mis diferentes versiones de TS es diferente - ya sea por TP/SL, o sólo por SL. Como resultado, la predicción no se cancela antes de cerrar la posición y puede trabajar hasta tres horas. Significa que no estoy prediciendo el momento exacto, sino la probabilidad de volver al precio que había hace x barras, es decir, el final del piso local.

Pero escribí sobre algo totalmente diferente, a saber, sobre la periodicidad de recurrencia del patrón identificado en el tiempo, que si el patrón ha ocurrido durante tres años y ha llevado a eventos predecibles, entonces hay una posibilidad en mayor medida, que continuará su trabajo en el cuarto año también, mientras que el patrón identificado en una pequeña porción del tiempo de formación puede ser sólo una descripción de una situación en un TF superior (tendencia en un gráfico semanal).

En fin, esta es mi especulación teórica, ahora procesaré los resultados del experimento y la situación será más transparente, espero.

Yuriy Asaulenko:

He decidido seguir tu camino, con mis modificaciones y visión del tema. Sobre todo porque todos los predictores necesarios ya están en marcha. Si bien han decidido probar en XGBoost, algo que me parecía - si docs CatBoost no impresionado (XGBoost, imho, más claro), o bien lo que. Todavía no he entendido qué hay con el racionamiento. Con NS, es difícil normalizar todo allí.

Catbust tiene más opciones, es la continuación del desarrollo de la idea XGBoost, la principal ventaja y a la vez el inconveniente son los árboles de dimensionalidad fija, que evitan el reentrenamiento si su número no es grande.

No es necesario normalizar nada para la clasificación pura. Sin embargo, hago un preprocesamiento en los predictores, reduciendo el rango de valores, y descompongo el propio rango en grupos empíricamente. Quizás el resultado hubiera sido mejor sin estas transformaciones, no lo he comprobado. Por un lado los desarrolladores dicen, que no necesito convertir nada por mi cuenta, por otro lado hay diferentes ajustes para el algoritmo de conversión de dígitos, y además puedo usar mi propio desglose desde un archivo separado. Esto se refiere al catbusto, pero creo que la lógica es la misma en todas partes.

 
Ivan Negreshniy:

Y sería bueno entender esto antes de crear modelos basados en ellos y lanzarlos al caos del mercado.

Recuerdo que hace medio año intentaron probar CatBoost, entonces, a diferencia de XGBoost, no pudo aprender ni siquiera en la tabla de multiplicar.

No sé, quizás ahora han decidido que si no puede aprender cosas sencillas, deberían probar con las complejas, y quizás sea realmente genial.

Y para determinar eso probablemente podría usar los BPs sintéticos sugeridos arriba.

CatBoost y XGBoost tienen diferentes profundidades de árbol, recuerdo que CatBoost tuvo éxito al añadir un número de árboles.

Y en cuanto a encontrar una función diferente con los árboles, es mejor buscarlos con NS y alimentar los resultados como predictores para la clasificación. De todos modos, no soy partidario de la alimentación a precio crudo, pero Maxim tuvo éxito en ella, aunque es necesario un reentrenamiento más frecuente.

 

Para los que dudan de la capacidad de NS para describir funciones


Razón de la queja: