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

 
Aleksey Mavrin:

Qué argumentos, si haces eso, significa que o no entiendes algo o lo entiendo yo.

El punto de mi sorpresa es que un modelo entrenado, como estamos hablando aquí, debe ser entrenado en los datos brutos.

Si hay correlaciones en los datos de entrada, deben reducirse a no correlacionadas.

He aquí un ejemplo: enseñamos al modelo a clasificar la tonalidad del color mediante 3 dígitos - RGB. Tres dígitos, ¡¡¡son los datos puros y duros!!! En su planteamiento necesita hacer predicciones como:

1- R 2-G 3-B - 4 Más rojo 5 -Más verde 6- Más rojo que verde y azul juntos .... 100500 No es tan rojo como lo sería si el verde fuera tan rojo como el azul. ))

El modelo no tiene que aprender por sí mismo, ¡tiene los datos en bruto y para eso está!


Y se hace lo contrario: se multiplican los datos brutos, que están correlacionados entre sí.

Quizá me equivoque, pero me parece que sólo se puede obtener un patrón claro dividiendo los signos en partes elementales (como las reglas de registro). Volvamos al mismo ejemplo con las velas

Tenemos 45 posibilidades que si el patrón puro y único es

open[-1]<low

y eso es todo!, no hay nada más en esas 45 opciones. He hecho la enumeración, he elegido una regla (un arreglo) y la uso.

Sugieres coger la "serie original" porque "la red la encontrará" como entiendo que en tu caso sería :

open[1:2] ; high[1:2] ; low[1:2] ; close[1:2]

Así que en pocas palabras,

Tengo una cosa, un patrónlimpio en forma de una regla, un valor, sin ruido.

Tiene 4 filas (OHLC) con dos valores para un total de 8 valores, + ruido

Pregunta: ¿Quién tiene una muestra más redundante y correlacionada?

 
mytarmailS:


Pero usted está haciendo lo contrario: generar datos en bruto, correlacionados entre sí.

Tal vez me equivoque, pero me parece que sólo se puede sacar un patrón puro dividiendo los signos en partes elementales (por ejemplo, reglas de registro). Volvamos al mismo ejemplo con las velas

Tenemos 45 posibilidades que si el patrónpuro y único es

y eso es todo!, no hay nada más en esas 45 opciones. He hecho la enumeración, he elegido una regla (un arreglo) y la uso.

Sugieres coger la "serie original" porque "la red la encontrará" como entiendo que en tu caso sería :

Así que en pocas palabras,

Tengo una cosa, un patrónlimpio en forma de una regla, un valor, sin ruido.

Tiene 4 filas (OHLC) con dos valores para un total de 8 valores, + ruido

Pregunta: ¿quién tiene una muestra más redundante y correlacionada?

1. Probablemente se equivoque.

2.3 Esto no ocurre porque la serie es no estacionaria. Acabas de ajustar el modelo a la serie, ni siquiera está claro qué tiene que ver la MO en absoluto si supuestamente "has aislado un patrón puro",. Si existiera esa regularidad pura, la MO ni siquiera se inventaría, se encuentra por otros métodos elementales.

4. Si como dices destacas una característica - tienes un modelo 100% sobre-entrenado=infra-entrenado, 100% ciego, sin ver nada, y por lo tanto 100% "tonto", perdón por la brusquedad)

S.D. ¡Viva MO a las masas! )))

 
Aleksey Mavrin:

1. Probablemente se equivoque.

Ok, lo más probable es que tengas razón, pero creo que entiendes que toda esta descripción con una sola regla era sólo un ejemplo, para una expresión más clara del pensamiento, por supuesto deberíamos hacer conjuntos de reglas... Y es interesante qué es mejor, conjunto de 100 reglas duras (estadísticamente) o conjunto de 3000 reglas más débiles (probabilísticas). Creo que si resolvemos el problema directamente, es decir, si nos entrenamos con los datos de entrada, la segunda variante es mejor por la misma no estacionariedad, pero si queremos construir un modelo de mercado con propiedades estacionarias probablemente deberíamos preferir la primera variante, aunque no necesariamente... En fin, no voy a discutir más, me has convencido más que no...

 
Aleksey Vyazmikin:

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 entre sí. La cuestión es que a menudo se solapan entre sí en un 20%-50% o más, y por tanto dan la misma señal, lo que no es muy bueno. La idea es agruparlas y establecer cada grupo en un umbral de activación, así que estoy pensando en la mejor manera de hacerlo.

La cuestión de la selección de las hojas no se resuelve hasta el final, 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 en el último trimestre en los trimestres posteriores sobrescribir la pérdida (muchos).

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

Un poco de necroposting para preguntar: ¿por qué no se puede construir inicialmente un árbol basado en la condición de optimalidad de una cartera a partir de sus hojas (más o menos como en la teoría de Markowitz)? Tal vez esto ya se haya discutido en algún lugar, pero no lo he visto.

 
Aleksey Nikolayev:

Un poco de necroposting para preguntar - ¿por qué no se puede construir inicialmente un árbol basado en la condición de optimalidad de una cartera de sus hojas (más o menos como la teoría de Markowitz)? Tal vez esto ya se haya discutido en algún lugar, pero no lo he visto.

Ya he escrito muchas veces que los algoritmos de construcción de modelos de MO disponibles no son adecuados para el trading, por la razón de que no tienen en cuenta los matices de las series temporales ruidosas. Esto es evidente, por ejemplo, cuando se utiliza un valor predictor para la división, que da una distribución preferente agregada de la probabilidad de clasificación correcta en toda la muestra, pero esta distribución sólo puede ser causada por un evento raro que se agrupa en una parte de la muestra. Examiné las hojas muestreadas para ver la frecuencia de activación y esto me resultó evidente.

Así que sí - es posible construir inicialmente lo que necesitas, pero para hacerlo tienes que cambiar el algoritmo de aprendizaje (no tengo suficiente competencia en programación aquí), o estimar la aleatoriedad con diferentes métodos, que es lo que yo hago. Aunque no entiendo qué se entiende por"condiciones óptimas de la cartera".

Hay otra variante - seleccionar los rangos de valores de los predictores que mejoran el desplazamiento de la probabilidad de clasificación de los objetivos en relación con toda la muestra, y hacer predictores separados para ellos - esta idea la estoy implementando ahora mismo, pero no sé cuál será el resultado todavía.

Por cierto, no recuerdo que se haya hablado de la división de un predictor en rangos para su posterior uso en la construcción de modelos de árbol, mientras que me parece que este tema tiene aspectos importantes que discutir y afecta directamente a la construcción del modelo y, por tanto, al resultado final.

 
Aleksey Vyazmikin:

He escrito muchas veces que los algoritmos de modelado de MO disponibles no son adecuados para el comercio

Debe querer decir que la representación de datos estándar para las MO no es adecuada para el comercio... No es culpa de IR.

Aleksey Vyazmikin:


Por cierto, no recuerdo que se haya hablado de anillar una rejilla de predicción para utilizarla después en la construcción de modelos de árbol

¿A qué se refiere con la rejilla de partición?

 
Aleksey Vyazmikin:

Aunque no entiendo qué se entiende por"condiciones de optimización de la cartera".

Maximización de la rentabilidad de la cartera con un nivel de riesgo fijo (aceptable) (volatilidad o reducción).

Aparentemente sí, los algoritmos tendrán que cambiar. Habrá que calcular muchas correlaciones entre acciones de diferentes hojas y puede resultar muy costoso en términos de tiempo.

Sólo pensé que este tema podría haber sido discutido en el foro antes.

 
Aleksey Vyazmikin:

Por cierto, no recuerdo que se haya hablado de una rejilla de predicción para el alcance para su uso en los modelos de árbol, lo que me parece un tema importante de discusión y que afecta directamente a la construcción del modelo y, por tanto, al resultado final.

El árbol hace precisamente eso, toma un rango diferente de cada predictor y comprueba cuál es mejor.

Primero se divide por la mitad, la mejor mitad por la mitad otra vez, el mejor cuarto por la mitad otra vez, etc. y así con cada predictor. El nodo se convierte en la mejor división de todas estas piezas a través de todos los predictores.
¿Lo haces manualmente? El algoritmo lo hace perfecta y rápidamente.

Aleksey Vyazmikin:

Pero esta distribución sólo puede ser causada por un fenómeno raro que se concentra en una parte de la muestra. Examiné las hojas muestreadas para ver la frecuencia de activación y me resultó evidente.

Es necesario buscar predictores que permitan detectar este raro fenómeno. Si hay predictores, los modelos estándar más simples lo encontrarán todo.

 
mytarmailS:

Probablemente querías decir que los tipos de presentación de información estándar para las MO no son adecuados para el comercio... No es culpa del modus operandi).

He dicho lo que quería decir: hay muchos matices que no se tienen en cuenta en la formación con los métodos comunes de construcción de modelos. El problema se puede resolver perfeccionando estos métodos, la selección de los resultados de rendimiento y el entrenamiento adicional de los predictores, tal vez hay otras opciones, pero hasta ahora no las conozco.


mytarmailS:

¿Qué significa rejilla de partición?

Es un algoritmo que comprueba la capacidad de predicción del rango de valores de los predictores y trata de dividir las partes del rango para que asignen mejor la capacidad de predicción. Supongamos que hay una muestra con 3 objetivos, la muestra se distribuye como 1 - 24%, 2 - 50%, 3 - 26%, y hay algún predictor con un rango de valores, por lo que el objetivo de la cuadrícula es encontrar áreas de valores del predictor donde, digamos, el objetivo 1 será "predicho" en más de un 24%, y la división destacará esta área. Existen diferentes variantes de algoritmos para construir dichas cuadrículas.


Aleksey Nikolayev:

Maximización de la rentabilidad de la cartera con un nivel de riesgo fijo (aceptable) (volatilidad o reducción).

Aparentemente sí, los algoritmos tendrán que cambiar. Habrá que calcular muchas correlaciones entre acciones de diferentes hojas y puede resultar muy costoso en términos de tiempo.

Se me acaba de ocurrir que un tema similar podría haber sido discutido en el foro antes.

Ahora se tiene en cuenta la correlación de las activaciones, las hojas condicionalmente correlacionadas van al mismo grupo, y así se crea una cartera. Pero una cartera tiene una estrategia subyacente, y hay que hacer muchas para tener estabilidad. Las estrategias simplemente no deberían solaparse en la activación en el horizonte temporal si se utilizan los mismos predictores. Por lo general, esto es algo realista.


elibrarius:

El árbol hace exactamente eso, toma un rango diferente de cada predictor y comprueba cuál es mejor.

Primero se divide por la mitad, la mejor mitad más por la mitad, el mejor cuarto más por la mitad, y así sucesivamente con cada predictor. El nodo se convierte en la mejor división de todas estas piezas a través de todos los predictores.
¿Lo haces manualmente? El algoritmo lo hace perfecta y rápidamente.

Hay que buscar predictores que permitan detectar este raro fenómeno. Si hay predictores, entonces los modelos estándar más simples de MO lo encontrarán todo.

¿Cómo que lo hace perfectamente? No lo estoy haciendo manualmente, estoy escribiendo un script que lo hará como lo veo ahora.

En mi caso, lo ideal sería una evaluación por separado de cada variante del valor del predictor. Y, quiero fusionar los rangos de activación de un predictor amplificando un objetivo en un solo predictor, cosa que las mallas que conozco no hacen dividiendo los rangos secuencialmente, de igual manera fusionando el predictor en el ranking a spar (construyendo un nodo) con otro predictor. En teoría, hasta ahora.

La figura siguiente muestra el predictor habitual por tiempo -grabando literalmente el reloj, filtré las activaciones del predictor con una desviación inferior al 10% de cada objetivo de toda la muestra. Resulta que para el objetivo Minus son favorables las horas 18 y 19 y no es favorable la hora 15, obtendré un nuevo predictor con valor de muestra 1 - combinando los valores del predictor 18 y 19 , -1 - valor 15 y 0 - todos los demás valores en la salida.

¿Qué tipo de rejilla de partición agregaría los rangos de partición en una sola partición, eliminando los valores intermedios, como en la figura de abajo los valores 1 y 4?


 
Aleksey Vyazmikin:

Ahora se tiene en cuenta la correlación de las activaciones, las hojas condicionalmente correlacionadas van al mismo grupo, y así se crea una cartera. Pero la cartera tiene una estrategia subyacente, y necesitamos hacer muchas de ellas para la estabilidad. Las estrategias simplemente no deberían solaparse en la activación en el horizonte temporal si se utilizan los mismos predictores. Por lo general, es realista hacerlo.

Si, por ejemplo, todas las estrategias hacen sólo BUY, probablemente se reducirá a minimizar su solapamiento en el tiempo (minimización de las correlaciones que son siempre positivas). Si se permite la compra y la venta, los cruces de tiempo pueden ser útiles para compensar mutuamente las partes malas de las estrategias (las correlaciones negativas suelen ser buenas para la cartera).

Probablemente, la correlación puede definirse simplemente a través del tiempo de ejecución de las estrategias y el tiempo de su intersección.