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

 

Tenía un post largo, pero el moderador lo borró porque no pude contenerme y expresé mis sentimientos de una manera típicamente rusa.... así que lo mantendré corto....

Para ser sincero, estoy sorprendido por los resultados que he obtenido. Sí, a partir de 110 entradas fueron elegidos de 3 a 5 en diferentes circunstancias, y sootvetechno modelos que han resultado ser bastante pequeña, pero la forma en que han trabajado es algo con algo. En primer lugar, TODOS los modelos construidos con las entradas seleccionadas pasaron mi prueba al 100%. Este resultado sólo lo he conseguido una vez y por casualidad, pero aquí es estable todo el tiempo........

Sí, los propios polinomios resultaron ser demasiado pequeños, pero a quién coño le importa. Todos los medios son buenos en la guerra. Sé que llegaremos al mercado con pequeños polinomios, si funcionan, no es mi culpa......

Pero, de nuevo, esto es sólo una prueba rápida y necesitamos más tiempo para confirmar la teoría, pero aquí hay un ejemplo espectacular del funcionamiento de la ST en el área de las retroalimentaciones negativas durante las últimas dos semanas.

¡¡¡¡Ciertamente no es un grial discutido en el siguiente hilo, pero el resultado es obvio, la equidad es consistentemente superior a cero en toda el área de CB!!!!

Me gustaría dar las gracias a todos los que han respondido a mi solicitud de ayuda con R. Realmente me ha ayudado a ahorrar mucho tiempo. ¡¡¡¡¡Ahora sólo tengo que poner mi señal en la zona verde !!!!!

 
Dr. Trader:

jPrediction, por ejemplo, escala los datos al intervalo [-1;1] y aprende sobre estos números. También es posible escalar al mismo intervalo en R antes de evaluar las entradas.

Los métodos de estimación basados en árboles probablemente no cambiarán el resultado, a los bosques no les importa realmente en qué intervalo vinieron los datos, pero es mejor comprobarlo. vtreat tampoco es exigente con el intervalo.


Pero, en general, se refiere a la transformación no lineal de las entradas, incluso antes de alimentar a las neuronas. La neurónica es muy sensible a las entradas, y si se procesan los datos de entrada de alguna manera especial, sus resultados pueden mejorar. Por ejemplo, he oído un truco de este tipo - convertir las entradas a través de sigmoide.

Los modelos construidos ya tienen esa función, si no me equivoco. Se ve así....

double sigmoid(double x) {
   if (MathAbs(x) < 1.0) {
      return 2.0 * signum(x) - x;
   }
   return signum(x);
}
 
Mihail Marchukajtes:

Se ve así....

Una especie de "Reshetov Sigmoid" especial :)

Aquí hay una imagen interesante con diferentes transformaciones de datos.
Dicen que si todos los predictores tienen aproximadamente las mismas barras la red neuronal estará muy contenta y aprenderá fácilmente. El último tercio de los predictores en scale()x2->Sigmoid() se ve bien, pero necesito hacer algo con la primera mitad de los predictores o la red neuronal se ahogará.
Y si miramos el boxplot para escalar en [-1;1] como en jPrediction, se ve muy mal.


Archivos adjuntos:
 

¡¡¡¡Hoy es el día del grial, pero ya sabemos cómo es y cuánto trabajo cuesta tenerlo en nuestras manos!!!!

No me asusta la palabra, pero hoy he encontrado un grial para mí. Lo he probado repetidamente y los resultados son sorprendentes. Un agradecimiento especial al Dr. Trader por su apoyo, que de hecho condujo al descubrimiento. No tengo miedo de esta palabra........ Con la ayuda de R pude encontrar efectivamente un conjunto de predictores importantes, y dado que el objetivo tiene el mismo número de clases, entonces jugando un poco (añadiendo o quitando una) el conjunto de predictores importantes se puede ampliar en una, dos columnas. Lo probé una vez y era muy normal añadirlos. A continuación, empezamos a reducir y seleccionar el modelo con los máximos resultados de aprendizaje.


¡¡¡¡¡¡Por supuesto no es un gran tamaño de polinomio, pero funcionará en teoría el 50% del intervalo de entrenamiento, es decir una semana, y es suficiente para mí!!!!!! Pero aquí está la cosa.... Y ahora me dirijo a las personas que buscan patrones fiables y estables. Es más fácil de explicar con un ejemplo.........

Guardo una tabla de datos de 1000 filas y 111 columnas donde salen 110 predictores y así. PERO no tomo toda la tabla, tomo una pequeña sección fresca de 40 registros (eso es 2 semanas de trabajo de TS aproximadamente) Como resultado tengo un conjunto de entrenamiento de tamaño 40 por 110 más un objetivo. De hecho, tomo una tajada del mercado este mismo día en este mismo intervalo. Este trozo es estacionario. Luego selecciono las variables de entrada significativas en relación con la salida y obtengo de 3 a 5 columnas que, entiendo, tienen el alfa requerido que me permite tener ventaja sobre otros participantes del mercado. Y ahora lo más importante.... De qué iba toda esta discusión. En cuanto añada una fila más a la tabla de datos de entrenamiento, el conjunto de columnas cambiará drásticamente, es decir, alfa pasará a otro conjunto de columnas. Quizá no inmediatamente, pero sí después de añadir más de una fila. ¡¡¡¡Es decir, las señales TS!!!! Alfa es precisamente el mismo patrón en su forma más pura que es mínima y suficiente para la función de destino. Pero este patrón no es evidente, es decir, verlo a simple vista es muy difícil. Es en este punto donde la IA interviene y hace su trabajo.

Y ahora imagina como alfa puede rebotar en todo el campo de datos, que descargo, si rara vez se contiene en más de cinco entradas, y el campo total de 110 entradas. En otras palabras, con cada nuevo corte obtengo un conjunto de predictores completamente diferente. Y cómo quieres seguirle el ritmo, e incluso a una distancia de un AÑO!!!!!!! si está aquí durante semanas, difícilmente podrás cogerlo adecuadamente....... Pero tienes toda la razón, hay un grial, pero cada uno tiene el suyo, y para conservarlo hay que hacer mucho esfuerzo.......

Y de nuevo refiriéndonos a los teóricos de las cuentas demo, así es como se hace.......

He trabajado con la teoría y he hecho algunas pruebas con ella. Las pruebas mostraron buenos resultados. Los modelos se entrenan UPU con el robot está cargado. Mira mi señal esta semana y verás lo que valen mis suposiciones.

 

¡Maravilloso!

¡Salve R!

 
Mihail Marchukajtes:

Ahora imagina cómo puede saltar el alfa sobre todo el campo de datos que descargo si rara vez está contenido en más de cinco entradas, y el campo total es de 110 entradas. En otras palabras, con cada nuevo corte obtengo un conjunto de predictores completamente diferente.

Ahora enciende tu cerebro )

 
Combinador:

Ahora usa tu cerebro).

Si realmente se sigue el consejo y se piensa en ello, sólo hay una respuesta. El corte es estacionario y cualquier cambio del mismo simplemente te lanza a otra dimensión (en sentido figurado), donde las leyes son completamente diferentes. Por eso es muy difícil ganar dinero en el mercado. Esto es lo que se llama no estacionariedad. Cuando la información que puede predecir sólo el 5% del conjunto de datos máximo posible y la próxima señal puede cambiar drásticamente, o no en absoluto. Además, guardo el delta y el volumen para 11 instrumentos, de los cuales sólo el 5% funcionan aquí y ahora y no se sabe cuándo se cambiarán, pero está claro que cuando la sustitución de otras columnas este momento puede ser rastreado y en consecuencia determinar el momento en que el modelo se desinfla...... Necesito hacer más pruebas.....a no tengo tiempo...

 

OOS, 15 min tf

encontrado algunos errores en la estrategia # 2, lo arregló, parece estar funcionando

todavía existe la página 3 y se ha añadido RL, que me parece que tiene mucho potencial, pero que necesitará mucha reflexión para implementarse


 

Interesante artículo sobre un estudio de ocho modelos de aprendizaje automático

En concreto, consideramos los siguientes algoritmos: perceptrón multicapa (MLP), regresión logística, naïve Bayes, knearest neighbors, árboles de decisión, bosques aleatorios y árboles gradient-boosting. Estos modelos se aplican a las series temporales de ocho procesos generadores de datos (PGD), que reflejan diferentes dependencias lineales y no lineales (caso base). Se introduce una complejidad adicional al añadir discontinuidades y diversos grados de ruido.


Y aquí están los resultados

En primer lugar, descubrimos que los modelos de aprendizaje automático logran un sólido rendimiento en las DGP subyacentes desconocidas, en comparación con el nivel de ambición establecido por las previsiones óptimas. En ausencia de ruido (caso base), los resultados obtenidos con los modelos de aprendizaje automático casi se asemejan a los de la previsión óptima. En cuanto a los modelos, los MLP y los GBT ofrecen los mejores resultados para los DGP lineales y no lineales. Para los procesos sin o con pequeñas no linealidades, el LR presenta una buena alternativa, especialmente si se tiene en cuenta su bajo coste computacional. Encontramos que NB y los árboles de decisión simples ofrecen un peor rendimiento y, por lo tanto, recomendamos las técnicas mencionadas para las tareas de predicción de series temporales.

En segundo lugar, es mejor incluir demasiados valores retardados en el espacio de características que incluir muy pocos. Encontramos que la mayoría de los modelos de aprendizaje automático son bastante robustos a la hora de exceder el número de rezagos requeridos sugeridos por la ecuación del proceso de la DGP. En el caso de la RF, la inclusión de características adicionales aumenta incluso la precisión predictiva. Recomendamos empezar con un retardo y aumentar gradualmente el número de retardo controlando el rendimiento en un conjunto de retención o con validación cruzada.

En tercer lugar, encontramos que los saltos tienen un efecto negativo muy fuerte en la precisión de la predicción, siendo LR el modelo de aprendizaje automático más robusto. Para mitigar los efectos negativos, tanto la adición de primeras diferencias al espacio de características (DIFF) como la eliminación de saltos basada en el algoirthm LOF han dado buenos resultados. Recomendamos la combinación de ambas técnicas.

En cuarto lugar, la contaminación de las series temporales con ruido tiene el efecto más perjudicial sobre la precisión de la predicción en todos los modelos de aprendizaje automático. Una vez más, comprobamos que el LR es el modelo de aprendizaje automático más robusto en presencia de ruido. Además, las medidas de mitigación adicionales, como la inclusión de las primeras diferencias (DIFF) y las medias móviles (MA) en el espacio de características, arrojan mejores resultados.

 
SanSanych Fomenko:

Interesante artículo sobre un estudio de ocho modelos de aprendizaje automático

En cuanto a los modelos, los MLP y los GBT ofrecen los mejores resultados para los DGP lineales y no lineales. Para procesos sin o con pequeñas no linealidades, el LR presenta una buena alternativa, especialmente si se considera su bajo coste computacional. Encontramos que NB y los árboles de decisión simples ofrecen un peor rendimiento y, por lo tanto, recomendamos las técnicas mencionadas para las tareas de predicción de series temporales.

Es bastante obvio, teniendo en cuenta que CART no funciona en absoluto con problemas pre-lineales.