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

 
Aleksey Terentev:
Y sí, hay un problema de normalización. Saltará y normalizará los datos de forma diferente en distintos intervalos de tiempo.

Sí, intentaré resolverlo alguna vez.

 
Maxim Dmitrievsky:

No, ya he citado la pantalla, los incrementos son estacionarios y simétricos a ambos lados del cero, por lo que las probabilidades serán +- las mismas


Maxim Dmitrievsky: Puede ser, pero cuando intenté revelar la simetría en el comportamiento de los precios no la encontré.

Con respeto.
 
Andrey Kisselyov:
Probablemente lo sea pero cuando intenté encontrar simetría en el comportamiento de los precios no la vi.

Con respeto.

Aquí la probabilidad es esencialmente 50\50 (por encima/por debajo de cero) - si pertenece a la clase o no, y todos los demás valores son la fuerza de la señal. Por lo tanto, aunque los incrementos no sean simétricos para la compra y la venta, NS debería entenderlo por sí mismo :)

 
Maxim Dmitrievsky:

Aquí la probabilidad es esencialmente 0 y 1 - si pertenece a la clase o no, y todos los demás valores son la fuerza de la señal. Así que aunque los incrementos no sean simétricos para la compra y la venta, el NS debería aprenderlo por sí mismo :)

En mi opinión, en este caso es necesario, como dije anteriormente, tener un 3er estado, una cierta frontera hasta la cual la señal no pertenece ni a la compra ni a la venta.

Saludos.

 
Andrey Kisselyov:

En mi opinión, en este caso es necesario, como he dicho anteriormente, tener un 3-estado, algún límite hasta el cual la señal no pertenece ni a la compra ni a la venta.

Saludos.


entonces nos referiremos a ambas clases con la misma probabilidad

 
Maxim Dmitrievsky:

entonces atribuir a ambas clases con igual probabilidad

NS esencialmente debería encontrar este límite por sí mismo, sólo tiene que ser proporcionado en el código. y no tiene que ser necesariamente la misma probabilidad para ambas direcciones.

Con respeto.
 
Maxim Dmitrievsky:

Utilizando un clasificador lineal como ejemplo. Supongamos que enseñamos algo a un clasificador, alimentamos 2 salidas con incrementos de precio de 0 a 1, donde 0,5 es ninguna señal (la suma de las salidas siempre es igual a uno)

Hay algo malo en esta frase. Si se enseña un clasificador, el profesor no va a enseñar incrementos de 0 a 1 sino valores específicos como -1 y 1 (precio descendente / precio ascendente). Al crear una tabla de entrenamiento y un maestro para el modelo, los incrementos se redondearán a -1 y 1 y se perderá toda la información sobre el valor del incremento.

Además el modelo será entrenado, y algunos modelos de clasificación en el proceso de predicción pueden efectivamente dar probabilidad de clase en lugar de los valores estrictos -1 y 1. Pero esta probabilidad no está en absoluto relacionada con el valor del crecimiento, se puede interpretar como "el precio con probabilidad X% probablemente crecerá, por un valor desconocido de crecimiento".


Maxim Dmitrievsky:

Y si tomamos una red neuronal con clasificación no lineal si las salidas nos hablarán de la intensidad de la señal o sólo nos hablarán del grado de pertenencia a 1 de 2 clases y no más

Aquí también sólo habrá grados de pertenencia a 1 de las 2 clases y no más. El requisito mostrado en la imagen no se cumplirá. Si quieres conocer el valor del crecimiento, tendrás que crear un montón de clases con varios niveles de crecimiento.



Se puede utilizar la regresión en lugar de la clasificación. Y se necesita un modelo de regresión. Entonces es posible alimentar incrementos de precios durante el entrenamiento sin cambios y redondeos, y si el modelo puede alcanzar una alta precisión, predecirá la magnitud del incremento en lugar de cualquier probabilidad y clase. Es muy conveniente.

Aunque en forex, no conseguí más con la regresión que con la clasificación simple. El modelo produjo valores muy pequeños durante la predicción, aunque adivinó la dirección en más del 50% de los casos, pero fue imposible estimar la cantidad de aumento esperado a partir de la predicción. El resultado se trató como con las dos clases: "el precio probablemente subirá una cantidad desconocida".

 
Maxim Dmitrievsky:

Ayúdame a entender el proceso :)

Utilizando un clasificador lineal como ejemplo. Supongamos que enseñamos algo al clasificador, alimentamos incrementos de precio de 0 a 1 a 2 salidas, donde 0,5 es ninguna señal (la suma de las salidas es siempre igual a uno)

Si simplemente dibujamos una línea de regresión, por ejemplo, en función de los precios, los incrementos de precio más grandes se situarán más lejos de la línea, los más pequeños más cerca, es decir, si los resultados del clasificador son 0,9; 0,1, el incremento positivo se sitúa lejos de la línea, es decir, la señal 0,9 será más fuerte que la señal 0,6 para comprar

Y si tomamos una red neuronal con clasificación no lineal, ¿las salidas mostrarán la intensidad de la señal o sólo indicarán el grado de pertenencia a 1 de 2 clases y nada más

Es decir, si se cumplirá esta condición:


Me parece que en esta situación la mitad de los principiantes que no conocen bien el asunto se van a fastidiar. La razón es que el grado de pertenencia a una u otra clase nos hablará intuitivamente de una mayor o menor intensidad de la señal. Pero si es así de hecho y si no es mejor crear más clases en las que distribuir los valores de los incrementos, digamos, en %, entonces obtener el valor en tal o cual clase (una de 10, supongamos) ya precisamente provocará el valor del incremento.

Si quieres tener una característica como la intensidad de la señal en la salida, ¿por qué quieres resolver un problema de clasificación que seguirá siendo finito (discreto) con cualquier aumento del número de clases? Tome la tarea de regresión y dé -1 (100% VENTA) a 1 (100% COMPRA) o incluso puntos en la salida de entrenamiento - negativo para la VENTA y positivo para la COMPRA, el cero será plano como debería ser.

P.D.
ya escrito en el mensaje anterior - aproximadamente lo mismo significaba...

 
Dr. Trader:

Hay algo que no cuadra en esta frase. Si se entrena un clasificador, el maestro no serán los incrementos de 0 a 1, sino valores específicos como -1 y 1 (bajada de precios / subida de precios). Al crear una tabla de entrenamiento y un maestro para el modelo, los incrementos se redondearán a -1 y 1 y se perderá toda la información sobre el valor del incremento.

Además, el modelo será entrenado y algunos modelos de clasificación pueden dar efectivamente una probabilidad de clase en lugar de los valores estrictos -1 y 1. Pero esta probabilidad no está relacionada con el valor del incremento en absoluto, puede interpretarse como "el precio con probabilidad X% probablemente aumentará en una cantidad desconocida de incremento".


Aquí también sólo habrá grados de pertenencia a 1 de las 2 clases y no más. No se cumplirá el requisito que aparece en la imagen. Si quieres saber la magnitud del incremento, tienes que crear un montón de clases para varios grados de incremento.



En lugar de utilizar la clasificación, podría utilizar la regresión. Y se necesita un modelo de regresión. Entonces, en el entrenamiento se pueden alimentar incrementos de precios sin cambios y redondeos, y si el modelo puede alcanzar una alta precisión, predecirá la magnitud del incremento en lugar de cualquier probabilidad y clase. Es muy conveniente.

Aunque en forex no conseguí más con la regresión que con la clasificación simple. El modelo produjo valores muy pequeños durante la predicción, aunque adivinó la dirección en más del 50% de los casos, pero fue imposible estimar la cantidad de aumento esperado a partir de la predicción. El resultado se trató como con las dos clases: "el precio probablemente crecerá en una cantidad desconocida".


Ya veo :) así que la probabilidad de salida de la asignación de clases no tiene nada que ver con el valor probable del incremento... ya ves, algunos se confunden aquí también, es un punto ambiguo para los principiantes... Por otra parte, si una red neuronal emite probabilidades (por ejemplo, la capa softmax), ¿para qué las necesitamos si la pertenencia a la clase se determinará por una probabilidad superior a 0,5? Y entonces usted puede realmente tratar de utilizar el modelo de regresión y deshacerse de toda la normalización de los valores de salida ... por cierto, estoy usando bosques aleatorios y la normalización de las entradas no es necesario allí

 
Ivan Negreshniy:

Si se quiere tener una característica como la intensidad de la señal en la salida, entonces por qué hay que resolver el problema de clasificación, que seguirá siendo finito (discreto) con cualquier aumento del número de clases. Tome el problema de la regresión y dar -1 (100% SELL) a 1 (100% BUY) o incluso puntos en la salida - negativo para SELL y positivo para BUY, cero será un plano, como debe ser.

P.D.
ya han escrito en el mensaje anterior - aproximadamente el mismo significado...


Sí, resulta que la regresión será más inteligente (utilizo la RF, no la red neuronal)