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

 
Yuriy Asaulenko:
Es cierto. Pero el elevado umbral de entrada aumenta todo tipo de riesgos. No necesariamente financiera.

Es cierto, lo dicho anteriormente también puede expresarse de forma banal: "el beneficio es una función monótona del riesgo razonable", lo que se aplica no sólo al comercio, sino a todas las actividades humanas, además se sabe que los que piensan que no arriesgan en absoluto, por ejemplo, eligiendo una profesión que no es competitiva y confiando en la pensión estatal, son personas extremas))


¿Y qué es una vida "sin" riesgo? No es nada interesante, dado que terminará igual para todos.

 
Bueno, mi artículo cubre el intervalo de confianza y demás. Te recomiendo encarecidamente que lo leas con atención y podrás sacar mucho de él.
 
Yuriy Asaulenko:

Con un enfoque sistemático me refiero a entender lo que estás haciendo y, por tanto, ser capaz de planificar y predecir los resultados de tus acciones.

Gracias por el artículo. Como no estoy familiarizado con ningún software en particular, es perfecto para un principiante: sencillo y claro. Lo único que no entiendo es qué método se utiliza, ¿el de regresión o el de clasificación?
Naturalmente, inmediatamente empecé a probarlo en mis propios sistemas. Si alguna pregunta es problemática, puede ser que se descubra a medida que avanza el juego.

1. No uso velas para entrar y salir - sólo un flujo de cotizaciones, y velas sólo en la historia de la vela anterior. Aunque puedo dejar que aprenda por velas, todavía es un misterio cómo hacer que Rattle se trague el flujo de cotizaciones de la vela dentro de la vela actual. El flujo de la vela debe ser analizado de alguna manera.

2. ¿Qué hacer con los predictores reconstruibles? Por ejemplo, con líneas de regresión y sigmas. Ni siquiera se pueden pegar en el historial (para aprender), necesitamos funciones que los calculen sobre la marcha y eliminen sus dibujos anteriores del historial.

Del mismo modo, hay predicciones brillantes que no siempre existen y que se construyen a partir de ciertos puntos de la serie, y en general también pueden reconstruirse en el transcurso de la obra.

4 La cuestión de la normalización de los predictores por los puntos 2 y 3 - es fundamentalmente imposible.

Y el historial sobre los predictores debe calcularse tanto en el curso de la formación como en el del trabajo.

Hasta ahora no tenemos más que confusión.


El traqueteo es bueno en dos casos:

  1. Cuando nos conocemos por primera vez.
  2. para intentar... cuando conoces el problema...

1. Regresión o clasificación. Determina el tipo de variable de destino. Un número real es la regresión. Nominal (factor) - clasificación.

2. Comience con la variable de destino. Aunque parezca sencillo, se trata de una cuestión compleja. ¿Qué vas a predecir? ¿Dirección? magnitud, exceso, nivel...

3. Predictores. Hay que demostrar que son "relevantes" para la variable objetivo. Esta es la parte más difícil. Dedico hasta el 70% de mi tiempo a esta cuestión. He escrito mucho sobre ello en este hilo.

4. No estoy contento con la estática. Aquí es donde entra en juego la salida a R. rattle facilita el paso a R porque registra todas tus acciones en R y este código terminado puede ser utilizado para su modificación. Generalmente, el siguiente paso es el caret.

 
SanSanych Fomenko:


2. Hay que empezar por la variable objetivo. A pesar de su aparente sencillez, es una pregunta bastante complicada. ¿Qué vas a predecir? ¿Dirección? Magnitud, exceso, nivel...

Parece que todo tiene que ser previsto). Ahora hay unos 30 "indicadores" (más correctamente llamados predictores) en el modelo (no MO) + su procesamiento y lógica mutua. Se supone que + 10 más.

Enfrentarse manualmente a semejante volumen y seguir comprendiendo la contribución de cada predictor al conjunto, ya no es realista. De ahí, por cierto, la idea de utilizar MO. Todo está todavía en una fase muy temprana.

SanSanych Fomenko:

3. Predictores. Hay que demostrar que son "relevantes" para la variable objetivo. Esto es lo más difícil. Dedico hasta el 70% de mi tiempo a esta cuestión. He escrito mucho sobre ello en el hilo.

Sí, tendré que adaptarlo. Parece que no se puede meter sin más).

SanSanych Fomenko:

4. No estoy contento con la estática. Aquí es donde entra en juego la salida a R. rattle simplifica la salida a R porque registra todas sus acciones en R y este código listo puede ser utilizado para la modificación. En realidad, el siguiente paso es caret.

Lo tengo.

 

Tabla interesante, los paquetes de MO más utilizados

clasenombrepaquetedescargas
coxphModelo de riesgos proporcionales de Coxsupervivencia153681
classif.naiveBayesNaive Bayese1071102249
classif.svmMáquinas de vectores de apoyo (libsvm)e1071102249
classif.ldaAnálisis discriminante linealMASS55852
classif.qdaAnálisis discriminante cuadráticoMASS55852
classif.randomForestBosque aleatoriorandomForest52094
classif.gaussprProcesos gaussianoskernlab44812
classif.ksvmMáquinas de vectores de apoyokernlab44812
classif.lssvmMáquina de vectores de apoyo de mínimos cuadradoskernlab44812
cluster.kkmeansKernel K-Meanskernlab44812
regr.rvmMáquina de vectores de relevanciakernlab44812
classif.cvglmnetGLM con regularización Lasso o Elasticnet (Cross Validated Lambda)glmnet41179
classif.glmnetGLM con regularización Lasso o Elasticnetglmnet41179
sobrevivir.cvglmnetGLM con regularización (Cross Validated Lambda)glmnet41179
glmnetGLM con regularizaciónglmnet41179
clasif.cforestBosque aleatorio basado en árboles de inferencia condicionalfiesta36492
árbol de clasesÁrboles de inferencia condicionalfiesta36492
regr.cforestBosque aleatorio basado en árboles de inferencia condicionalfiesta36492
regr.mobPartición recursiva basada en el modelo que da lugar a un árbol con modelos ajustados asociados a cada nodo terminalpartido,herramientasmodelo36492
sobrevivir.cforestBosque aleatorio basado en árboles de inferencia condicionalfiesta, supervivencia36492
 
SanSanych Fomenko:

Tabla interesante, los paquetes de MO más utilizados

clasenombrepaquetedescargas
coxphModelo de riesgos proporcionales de Coxsupervivencia153681
classif.naiveBayesNaive Bayese1071102249
classif.svmMáquinas de vectores de apoyo (libsvm)e1071102249
classif.ldaAnálisis discriminante linealMASS55852
classif.qdaAnálisis discriminante cuadráticoMASS55852
classif.randomForestBosque aleatoriorandomForest52094
classif.gaussprProcesos gaussianoskernlab44812
classif.ksvmMáquinas de vectores de apoyokernlab44812
classif.lssvmMáquina de vectores de apoyo de mínimos cuadradoskernlab44812
cluster.kkmeansKernel K-Meanskernlab44812
regr.rvmMáquina de vectores de relevanciakernlab44812
classif.cvglmnetGLM con regularización Lasso o Elasticnet (Cross Validated Lambda)glmnet41179
classif.glmnetGLM con regularización Lasso o Elasticnetglmnet41179
sobrevivir.cvglmnetGLM con regularización (Cross Validated Lambda)glmnet41179
glmnetGLM con regularizaciónglmnet41179
clasif.cforestBosque aleatorio basado en árboles de inferencia condicionalfiesta36492
árbol de clasesÁrboles de inferencia condicionalfiesta36492
regr.cforestBosque aleatorio basado en árboles de inferencia condicionalfiesta36492
regr.mobPartición recursiva basada en el modelo que da lugar a un árbol con modelos ajustados asociados a cada nodo terminalpartido,herramientasmodelo36492
sobrevivir.cforestBosque aleatorio basado en árboles de inferencia condicionalfiesta, supervivencia36492

Olvidé incluir otro en la lista. Ah sí, tengo un software único, se podría decir que raro :-)
 
Yuriy Asaulenko:

Parece que todo tiene que ser previsto). Ahora hay unos 30 "indicadores" (más correctamente llamados predictores) en el modelo (no MO) + su procesamiento y lógica mutua. Se supone que + 10 más.

Enfrentarse manualmente a semejante volumen y seguir comprendiendo la contribución de cada predictor al conjunto, ya no es realista. De ahí, por cierto, la idea de utilizar MO. Todo está todavía en una fase muy temprana.

SanSanych Fomenko:

3. Predictores. Hay que demostrar que son "relevantes" para la variable objetivo. Esto es lo más difícil. Dedico hasta el 70% de mi tiempo a esta cuestión. He escrito mucho sobre ello en el hilo.

Sí, tendré que adaptarlo. Parece que no se puede meter sin más).

SanSanych Fomenko:

4. No estoy contento con la estática. Aquí es donde entra en juego la salida a R. rattle simplifica la salida a R porque registra todas sus acciones en R y este código listo puede ser utilizado para la modificación. En realidad, el siguiente paso es caret.

Lo tengo.

Añadiré mis 5 kopeck. En realidad, hay que alimentar esos insumos, que no causarán la variable de salida, sino el precio. Entonces, cualquier ST estará bien entrenado. Ejemplos de funciones de destino:

La señal más obvia MEJOR, entonces ¿Habrá un pullback a un cierto nivel, que de los niveles de hoy se alcanzará, etc. Lee mi artículo no seas perezoso, lo menciono. Así que para todas estas funciones objetivo doy las mismas entradas y el funcionamiento de todos los modelos es bastante satisfactorio. Y se puede ver cómo los mismos insumos están mirando el mercado. Aquí en el beneficio, aquí en el pullback, aquí en el nivel. Funcionan bien, porque las entradas son la razón del precio.

Para explicarlo un poco, la razón es cuando los cambios en la entrada conducen a cambios en el precio, y no al revés. Esto puede ser muy confuso, porque las estadísticas del TS en sí son muy malas. Porque Zscore toma exactamente el valor que le indica el precio, y no al revés. El delta es la razón del cambio de precios, por ejemplo. :-)

 
Mihail Marchukajtes:

Te daré mis cinco centavos. Lo que realmente hay que hacer es proporcionar entradas que no son la razón de la variable de salida, ¡sino el PRECIO! Entonces, cualquier ST entrenará bien. Ejemplos de funciones de destino:

La señal más obvia MEJOR, entonces ¿Habrá un pullback a un cierto nivel, que de los niveles de hoy se alcanzará, etc. Lee mi artículo no seas perezoso, lo menciono. Así que para todas estas funciones objetivo doy las mismas entradas y el funcionamiento de todos los modelos es bastante satisfactorio. Y se puede ver cómo los mismos insumos están mirando el mercado. Aquí en el beneficio, aquí en el pullback, aquí en el nivel. Funcionan bien, porque las entradas son la razón del precio.

Para explicarlo un poco, la razón es cuando los cambios en la entrada conducen a cambios en el precio, y no al revés. Esto puede ser muy confuso, porque las estadísticas del TS en sí son muy malas. Porque Zscore toma exactamente el valor que le indica el precio, y no al revés. El delta es la razón del cambio de precios, por ejemplo. :-)

He leído su artículo, si se refiere al enlace de la página anterior. Tal vez me haya perdido algo. Lo releeré.

Por supuesto, los predictores están ahí para predecir el movimiento de los precios. Pero su superposición + precio da una señal de entrada, es decir, predice la reacción de la caja negra inicial (de formación). La pregunta es similar a la del huevo o la gallina primero. Tal vez el desacuerdo sea puramente una cuestión de terminología.

Desde el punto de vista de la ideología, al menos en los sistemas con lógica rígida, es más correcto predecir el precio, mientras que la variable de salida ya es el resultado del procesamiento.

 
Yuriy Asaulenko:

Su artículo, si se refiere al enlace de la página anterior, ha sido leído. Puede que me haya perdido algo. Lo releeré.

Sí, por supuesto que los predictores están ahí para predecir el movimiento de los precios. Pero su superposición + precio da una señal de entrada, es decir, predice la reacción de la caja negra inicial (de formación). La pregunta es similar a la del huevo o la gallina primero. Tal vez el desacuerdo sea puramente una cuestión de terminología.

Desde el punto de vista ideológico, al menos en los sistemas con lógica rígida, es más correcto predecir el precio, mientras que la variable de salida es el resultado del procesamiento.


Todo está bien, pero hay que predecir el precio utilizando los datos a partir de los cuales cambia. Hay una observación muy interesante. Si la entrada es la razón del precio, entonces el resultado de trabajar fuera de la muestra será ligeramente peor que el de la formación, es decir, NS funciona en la formación y sigue funcionando en "Fuera de la muestra" pero peor, cuando significativamente, cuando no. Todo depende del modelo. Y cuando da en los datos de entrada que no dependen del precio, la operación en el sector "Fuera de muestra" se convierte en un CoinFlip, lanzamiento de moneda. Nunca se sabe cuándo la NS cometerá un error. Así....
 
Mihail Marchukajtes:

Está bien, pero debes predecir el precio con la ayuda de los datos que cambia. Hay una observación muy interesante. Si la entrada es la razón del precio, entonces el resultado de trabajar fuera de muestra será ligeramente peor que en el entrenamiento, es decir, NS funciona en el entrenamiento y sigue funcionando en "Fuera de muestra", sólo que peor, cuando significativamente, cuando no. Todo depende del modelo. Y cuando se alimentan los datos de entrada que dependen del precio, la operación en el sector "Fuera de muestra" se convierte en un CoinFlip, lanzamiento de moneda. Nunca se sabe cuándo la NS cometerá un error. Así....

En realidad, no tenemos datos de los que dependan el precio y sus cambios. Y no puede haberla, a menos que seamos personas con información privilegiada. En general, buscamos datos indirectos (secundarios) sobre el futuro en el propio comportamiento de los precios. Es decir, nuestros datos dependen precisamente del precio y de su comportamiento en el pasado y en el presente.

Y esta afirmación:debemos predecir el precio con datos a partir de los cuales cambia. No puedes estar de acuerdo con ello. Pero cuanto mayor es la calidad de los datos de entrada, mejores son los resultados, es evidente.

------------------------------

He empezado a preparar predictores para la migración a MdD. Quería hacerlo todo en R. Resultó que R, con toda su potencia, no está en absoluto adaptado al modelado y al procesamiento de señales. Desgraciadamente. Todo es extremadamente incómodo.

Tendré que trasladar todo el trabajo preparatorio a SciLab, donde todo es mucho más fácil y cómodo. SciLab es un entorno con una interfaz e ideología muy cercana a R, y está diseñado para el procesamiento de datos y la modelización matemática. Tiene de todo, desde ingeniería de radio hasta aerodinámica y muchas matemáticas que faltan por completo en R. Sin embargo, la especificidad. Los métodos de Stat y Data Mining en SciLab están bastante bien representados, pero en este sentido, SciLab es significativamente inferior a R en la elección de dichos métodos. No se puede hacer un bosque SanSanitch en SciLab). Sin embargo, hay un montón de paquetes instalados allí, pero nada parece estar cerca.

En general, tengo que combinar diferentes IDEs para resolver diferentes tareas y transferir datos entre los entornos. Lástima. Quise hacer todo de la mejor manera (con R) pero salió lo mismo de siempre.

Razón de la queja: