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

 
Maxim Dmitrievsky:

1: decidir el tamaño de la muestra, su muestra es muy pequeña

2. buscar modelos de clasificación/regresión simples (lineales), lo más probable es que te funcionen, y si el error es grande, puedes intentar cambiar a otros más complejos (no lineales) en la biblioteca alglib del terminal (también están disponibles los árboles de decisión y los bosques)

3) Nunca aceptes ningún consejo, especialmente sobre el uso de R :))) Es hora de desterrarlos de este foro.

4. Si el problema se puede resolver sin aprendizaje automático, es mejor no utilizarlo

1. Sí, esto es sólo un ejemplo, la muestra es grande en la realidad, por supuesto.

2. Gracias, por supuesto que es mejor empezar con una simple - creo que es una nueva etapa en mi desarrollo en materia de minería de datos.

3. Es bueno conocer las alternativas de MQL...

4. Por ahora, busco agrupar las características (patrones) según su grado de influencia en el comercio. Me temo que he empezado a desarrollar mi ST en dirección a la adaptación, y luego quiero acumular ideas en forma de señales de comportamiento del mercado para rechazar mis delirios.

 
Aleksey Vyazmikin:

1. Sí, esto es sólo un ejemplo, la muestra es grande en la realidad, por supuesto.

2. Gracias, por supuesto que es mejor empezar de forma sencilla - creo que esta es una nueva etapa de mi desarrollo en materia de minería de datos.

3. Así que es bueno saber sobre las alternativas en MQL...

4. Por ahora, busco agrupar las características (patrones) según su grado de influencia en el comercio. Porque me temo que he empezado a desarrollar mi ST en la dirección de encajar, y entonces quiero acumular ideas en forma de señales de comportamiento del mercado para rechazar mis alucinaciones.

http://alglib.sources.ru/dataanalysis/

todo esto está disponible en mql (la biblioteca viene de serie con el terminal)

para la agrupación se puede utilizar el simple k-means

Y para tu tabla puedes probar con la regresión logística (youtube está lleno de clips de lo que es y cómo usarla) (regresión logit múltiple), es sólo una base para dividir en clases, como en tu caso 0 o 1. A continuación viene el perseptrón multicapa, que también divide en clases, pero de forma más compleja (no lineal).

un árbol de decisión ordinario es poco probable que funcione, es mejor utilizar un bosque, que consisten en múltiples árboles de este tipo que se dividen de manera diferente (por ejemplo, como la primera partición se utilizará no la primera variable, pero la tercera), entonces los resultados de todos los árboles se promedian y obtener una estimación más precisa y robusta. Pero si el problema resulta ser esencialmente lineal, entonces el andamiaje no es adecuado, es mejor utilizar la regresión logística o el perseptrón con 1 capa oculta. Por eso se recomienda empezar con los modelos lineales más sencillos y, si está satisfecho con el resultado, no se moleste.

 
Aleksey Vyazmikin:

si quiero ver el impacto de los días de la semana, ¿debo hacer diferentes parámetros de entrada que marquen el día, o es suficiente un solo parámetro que marque del 1 al 5)?

Forest crea una regla que utiliza las operaciones "más" o "menos" para comparar valores.

En el caso de los valores 1,2,3,4,5 - si, por ejemplo, necesita crear una regla que funcione sólo el miércoles, entonces toma dos ramas - "menos que el jueves" y "más que el martes".
Si son parámetros diferentes con marcas, basta con una comparación (marcas mayores que cero).
Cuantas menos ramas se necesiten para crear una regla, más sencillo será el modelo, y mejor.

Haz las dos cosas en general, juntas. Una columna con los valores 1,2,3,4,5. Y otras 5 columnas con etiquetas.

 
Aleksey Vyazmikin:

¿Ha hecho alguien alguna vez una comparación de diferentes algoritmos para la eficiencia, bueno, si se conoce la respuesta, como en mi ejemplo, pero para tareas más complejas?

La predicción de datos como los suyos se denomina clasificación, cuando la respuesta necesaria puede ser sólo un par de valores, o incluso no números, sino términos ("salida de la operación", "roll over", etc.).
Las neuronas y el boosting son buenos con ello, pueden ser entrenados en esos datos y luego utilizados para la predicción en nuevos datos.


Entiendo que su objetivo es extraer la información más valiosa de sus datos, y obtener un conjunto de reglas legibles. Entonces la neurónica no funcionará, extraer reglas y conocimientos de la neurónica no es tan fácil.

Un bosque da muchas opciones, muchos árboles (fórmulas), y la respuesta final se determina por votación, donde cada fórmula da una respuesta diferente, y la más popular será finalmente elegida. Pero semejante cúmulo de reglas es demasiado complicado de interpretar, habrá un montón de cuadros como los que he añadido arriba, cada uno dará una respuesta diferente, y el resultado será el que más veces se acierte.

Un árbol dará una imagen como la de arriba, en casos complicados con decenas/centenares de ramas en el gráfico. Pero se puede interpretar y repetir fácilmente siguiendo las ramas de la imagen.

Hay muchos modelos, elija el que mejor se adapte a su aplicación.


Alglib en MQL también puede hacer todo esto. Pero es incómodo, cada vez que tienes el más mínimo cambio tienes que compilar un script, ejecutarlo y esperar el resultado.

R o Python le permiten simplemente volver a ejecutar una línea de código anterior y cambiarla en caso de error. Todos los objetos creados mientras se ejecutaba el script permanecen en la memoria y se puede seguir trabajando con ellos, prediciendo y ejecutando nuevas líneas de código. No es necesario relanzar todo el script tras el más mínimo cambio, como en mql.

 
Mientras hay un parón, colgaré aquí algún texto para ver si a alguien le interesa.
 
Yuriy Asaulenko:

Y pronosticar con un 70% de confianza en un intervalo sirve de poco. No es muy difícil de hacer, pero sigue siendo inútil.

El 70% de confianza que el 50% de precisión no es mucho, y el 70% de precisión es un cuento de hadas o un error de los que utilizan objetivos mixtos, en el 70% de precisión SharpRatio >30, eso es fantástico incluso para ultra HFT

 
SanSanych Fomenko:

Por centésima vez:

1. la minería de datos es obligatoria. es obligatorio empezar seleccionando sólo aquellos predictores que tienen un IMPACTO sobre la variable objetivo. Y luego toda la búsqueda de datos.

2. Hay dos modelos:

  • Clasificación, que debería encontrar automáticamente patrones
  • GARCH que debe tener en cuenta las características estadísticas de las series temporales

3. entrenamiento de los modelos con validación cruzada si es posible

4. evaluación de los modelos fuera del archivo de formación

5. Prueba de funcionamiento en el probador.


¡Por enésima vez TODOS los pasos son obligatorios!


Una vez hecho todo esto, se puede suponer que el depo no se agotará inmediatamente.


¡Vamos, hombres! Terminar de pasar el rato en el foro y con tranquila alegría poner en marcha el plan trazado para R.


¡Tres hurras!

Estoy bromeando, soy igual que tú, estoy tratando de enseñar a la gente a usar ZZ como una meta, yo era ingenuo y no entendía su plan malvado :)

 
Aliosha:

Está bien, estoy bromeando, estoy agitando como usted para utilizar ZZ como una meta, sólo era ingenuo y no entendía sus planes insidiosos :)

Aquí tengo que aclarar de nuevo: no estoy agitando para ZZ - es sólo muy claro para los sistemas de comercio de tendencia.

Y el objetivo y los predictores del objetivo son todos extremadamente complicados y muy costosos. Y el modelo es bastante fácil de coger. Hay ocasiones en las que un tipo es categóricamente inadecuado para el objetivo y sus predictores y otro tipo es adecuado. en general, siempre hay que probar una docena o dos modelos.

 
Aliosha:

70% de certeza de que el 50% de precisión realmente no hace mucho, y el 70% de precisión es un cuento de hadas o un error de los que utilizan objetivos mixtos, en el 70% de precisión SharpRatio >30, esto es fantástico incluso para ultra HFT

Una vez más, para los que no entienden. El 70% es la realidad. En el 70% del intervalo de tiempo podemos hacer fácilmente una previsión justificada.

La cuestión de la inutilidad de tal previsión es diferente. De este 70% de previsiones justificadas, sólo una cuarta parte o menos es realista para entrar en una operación, es decir, sólo el 17% del intervalo. Sin embargo, dado que no sabemos a priori dónde se justifica la previsión, y el 30% restante nos da una parte importante tanto de operaciones fallidas como de operaciones "correctas" perdidas, es imposible aplicar un 70% de previsión fiable.

 
Aliosha:

Está bien, estoy bromeando, soy igual que tú en agitar a la gente para que usen ZZ como objetivo, sólo fui ingenuo y no entendí tus malvados planes :)

El insidioso plan viral "ZZ-01" se desarrolló hace varios años en una
en un laboratorio secreto. Fa sólo actuó como su portador. Eh, Alyosha...