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

 

He probado diferentes métodos de validación autodescritos, incluidos los descritos en estos artículos. Mis conclusiones son las siguientes:

En forex no existe una dependencia estricta entre la variable objetivo y los predictores, forex no es una fórmula que se pueda encontrar y aplicar para calcular nuevos datos. Lo único que puede hacer el modelo es encontrar una cierta regularidad y extrapolar los resultados para operar con nuevos datos.
Es decir, existe un cierto espacio multidimensional (la dimensionalidad es igual al número de predictores), en el que hay varios puntos (variables objetivo conocidas). El modelo construye un hiperplano en este espacio que separa los puntos del espacio (la clase "compra" de la clase "venta"). Hay infinitas maneras de construir este hiperplano (en un caso sencillo - dibujar cuatro puntos en una hoja de papel, y dibujar una línea curva entre ellos de manera que haya 2 puntos a la derecha de la curva y dos puntos a la izquierda. Las formas de dibujar una curva serán infinitas). Por lo tanto, no hay garantía de que el modelo construido refleje la dependencia correcta de la variable objetivo respecto a los predictores. La validación se utiliza para comprobar la idoneidad del modelo: algunos de los puntos no se utilizaron durante el entrenamiento, y se puede averiguar fácilmente si el modelo lo ha superado, si mostrará el resultado correcto en estos puntos de prueba.

Si el modelo no ha podido pasar la validación correctamente, puede haber muchas razones para ello, por ejemplo
- el modelo ha encontrado algunas dependencias inexistentes, que sólo existen en los ejemplos de entrenamiento
- había alguna dependencia en los datos de entrenamiento, que no está presente en los datos de prueba. Por ejemplo, cuando todos los datos para la prueba se toman más tarde en el tiempo, y el comportamiento del símbolo forex ha cambiado
- el propio modelo se inicializa con una semilla fallida. Suele ocurrir que el modelo entrenado con los mismos datos dé resultados diferentes durante la validación después de muchos intentos de entrenarlo de nuevo

No se sabe qué ha provocado un mal resultado en un caso concreto. Todo lo que podemos hacer es estimar lo bueno que es el modelo por término medio: construir el modelo docenas de veces, hacer una estimación en la validación. Los datos para el entrenamiento/validación deberían dividirse de nuevo cada vez.
Lo que creo que es una forma válida es dividir los datos aleatoriamente en la proporción 50%/50% (no por tiempo, sino para que todo estuviera mezclado uniformemente, por ejemplo las líneas 1,2,5,7 para el entrenamiento, 3,4,6,8 para la validación), entrenar el modelo en la primera parte, luego hacer la validación en la segunda parte, uso la precisión para evaluar el modelo. Repite esto 50 veces (vuelve a dividir los datos en 2 partes aleatorias, entrenamiento, validación). A continuación, calcula la precisión media de los datos de entrenamiento y la media de los datos de validación. Supongamos que la precisión media de la muestra de entrenamiento es del 90% y la de la muestra de validación del 80%. La precisión en el fronttest será aún menor, por lo que utilizo esta regla empírica: calcular la diferencia (90%-80%=10%) y restarla del resultado de validación (80%-10% = 70%). Resulta que ese modelo en el fronttest tendrá una precisión media de alrededor del 70%. A continuación, ajusto genéticamente los parámetros del modelo y los predictores para aumentar esta estimación del 70% (es mucho más difícil de lo que parece, es difícil ir más allá del 50%).

Pero no me gusta que este resultado sea sólo un valor medio, sin garantías. La precisión real al operar será del 60% al 80%, o incluso del 50% al 90%, dependiendo de la mala suerte que tengas. Por más que lo intento, no consigo encontrar el mejor modelo según ningún indicio. Probablemente la única solución sea construir docenas de modelos con los mejores parámetros y predictores encontrados, y llevar el resultado donde la mayoría de la gente mira (congreso de modelos).

Esto está muy relacionado con lo que decía SanSanych al principio del hilo. También puedes quitar la última parte de los datos conocidos para la última muestra de control, como él aconsejó. No utilice estos datos para el entrenamiento y la validación, sino simplemente guárdelos por separado hasta el final del entrenamiento del modelo. A continuación, pruebe el modelo terminado, o el congreso, con estos datos. La ventaja es que así se verá cómo funciona el modelo con los nuevos datos ponderados en el tiempo. El inconveniente es que quedarán menos datos para el entrenamiento y la validación, y el modelo estará un poco desfasado al inicio de la negociación. Hay un pequeño matiz aquí, que si no te gustó el resultado en estos datos de control, y comenzó a seleccionar un modelo que mostrará un buen resultado en este sitio - a continuación, comenzó a utilizar estos datos para la validación, en consecuencia, el modelo se selecciona con ellos en mente, y por lo tanto hay una pequeña mirada hacia el futuro, el control y toda esta operación pierde su significado, y en este caso era más fácil no hacer una muestra de control en absoluto.

 
Dr.Trader:

He probado varios métodos de validación propios, incluidos los descritos en estos artículos. Mis conclusiones son las siguientes:

En forex no hay una relación estricta entre la variable objetivo y los predictores, forex no es una fórmula que se pueda encontrar y aplicar para calcular nuevos datos. Lo único que puede hacer un modelo es encontrar algún tipo de patrón y extrapolar los resultados para operar con nuevos datos.
En otras palabras, existe un determinado espacio multidimensional (la dimensionalidad es igual al número de predictores), en el que se encuentran múltiples puntos (variables objetivo conocidas). El modelo construye un hiperplano en este espacio que separa los puntos del espacio (la clase "compra" de la clase "venta"). Las formas de construir este hiperplano son infinitas (en un caso sencillo - dibujar cuatro puntos en la hoja, y dibujar una línea curva entre ellos para que haya dos puntos a la derecha de la curva, y dos a la izquierda también. Las formas de dibujar una curva son infinitas). Por lo tanto, no hay garantía de que el modelo construido refleje la dependencia correcta de la variable objetivo con respecto a los predictores. Para comprobar la idoneidad del modelo, se utiliza la validación: algunos puntos no se utilizaron en el entrenamiento y es fácil averiguar si el modelo falló, si mostrará el resultado correcto en estos puntos de prueba.

Si el modelo no supera la validación, puede haber muchas razones.
- el modelo encontró algunas dependencias que no existían y que sólo estaban presentes en los ejemplos de entrenamiento
- hay una dependencia en los datos de entrenamiento, que no está presente en los datos de prueba. Por ejemplo, en un caso en el que todos los datos de una prueba se toman más tarde en el tiempo y el comportamiento del símbolo de la divisa ha cambiado
- el propio modelo ha sido inicializado con una semilla fallida. Suele ocurrir que un modelo entrenado con los mismos datos dé resultados diferentes en la validación tras múltiples intentos de reentrenamiento

No se sabe qué ha provocado un mal resultado en un caso concreto. Todo lo que podemos hacer es estimar lo bueno que es un modelo en promedio: construir un modelo docenas de veces, estimar en la validación. Los datos de entrenamiento/validación tienen que volver a dividirse cada vez.
Lo que creo que es una forma válida es dividir los datos aleatoriamente en una proporción 50%/50% (no por tiempo, sino para que todo esté mezclado uniformemente, por ejemplo las líneas 1,2,5,7 para el entrenamiento, 3,4,6,8 para la validación), entrenar el modelo en la primera parte, luego hacer la validación en la segunda, para la evaluación del modelo uso la precisión. Repita esto 50 veces (vuelva a dividir los datos en 2 partes aleatorias, entrenamiento, validación). A continuación, calcule la precisión media de los datos de entrenamiento y la precisión media de los datos de validación. Supongamos que la precisión media de la muestra de entrenamiento es del 90% y la de la muestra de validación del 80%. La precisión en el fronttest será aún menor, yo utilizo esta regla general: calcular la diferencia (90%-80%=10%), y restarla del resultado de la validación (80%-10% = 70%). Resulta que dicho modelo en fronttest tendrá una precisión media de alrededor del 70%. Además, ajusto genéticamente los parámetros del modelo y los predictores para aumentar esta estimación a partir del 70% (es mucho más difícil de lo que parece, es difícil ir incluso más allá del 50%).

Pero no me gusta que este resultado sea sólo una media, sin garantías. La precisión real en el comercio será del 60% al 80%, o incluso del 50% al 90%, dependiendo de la mala suerte que tengas. Por mucho que lo intente, es imposible pescar el mejor modelo por cualquier indicación. Probablemente la única solución sea construir docenas de modelos con los mejores parámetros y predictores encontrados, y llevar el resultado a donde la mayoría de la gente busca (congreso de modelos).

Esto está muy relacionado con lo que dijo SanSanych al principio del hilo. También puedes seguir su consejo de eliminar la última parte de los datos conocidos de la última muestra de control. No utilice estos datos para el entrenamiento y las validaciones, sino que guárdelos por separado hasta el final del entrenamiento del modelo. A continuación, pruebe el modelo terminado, o el congreso, con estos datos. La ventaja es que mostrará cómo se comporta el modelo con los nuevos datos temporales. La desventaja es que habrá menos datos para el entrenamiento y la validación, y el modelo estará un poco desfasado al inicio de la negociación. Hay un pequeño matiz aquí, si no te gustan los resultados en los datos de referencia y empiezas a elegir un modelo que dé buenos resultados en esta área - empiezas a usar estos datos para la validación, respectivamente se elige un modelo teniéndolos en cuenta y por lo tanto hay una ligera mirada hacia el futuro y toda esta operación se vuelve sin sentido, y en este caso sería más fácil no hacer la muestra de validación en absoluto.

Lo he hecho bien. ©

Pero, un matiz crucial. Para la validación cruzada y el cv anidado de la capa superior necesitamos tomar observaciones separadas en el tiempo. Bueno, o al menos para la capa superior tomar muestras dispersas de las fechas que no coinciden con la formación y la CV inferior.

Los resultados deben ser peores, pero más verdaderos.

Si obtenemos correlación entre los resultados en el CV y el CV anidado (correlación). Entonces el modelo se ajusta a los datos.
 
Vizard_:
Todavía no))
7 lo buscó. Los cortes no son mejores que la versión de hace medio año, o cuando miré no recuerdo exactamente. En la ventana y las estadísticas fylo escribe diferente. Selección de la importancia de los insumos
cuestionable, comparado de frente con rf y un par más, y puede dar alta prioridad a muy poco importante. Si se toma el mejor corte (de la ventana) todavía no es bueno.
Con estos datos obtengo al menos un 92%. La pieza (tal como está) sigue siendo poco útil a efectos prácticos. Enhorabuena por el esfuerzo en el desarrollo y el vuelo de las ideas.

Todo ello, por supuesto, en mi opinión. Ahora, por ahora))


Cuando se trata de alguien del nivel de Reshetov, podemos exigir con seguridad:

1. revisión de los análogos

2. Una indicación de las deficiencias que se supone que se superan en estos análogos

3. Indicación del mecanismo para eliminar estas deficiencias (puede ocultar los detalles en la economía de mercado)

4. Comparación de los análogos con su desarrollo. Esta comparación debería demostrar que se han eliminado todos los inconvenientes mencionados de los prototipos existentes. Y se obtiene una herramienta que NO es peor que los análogos.

Si una persona del nivel de Reshetov no lo hace, pues bien: Hay que elogiar a Reshetov por su esmero en el desarrollo y el vuelo del pensamiento.

 
SanSanych Fomenko:

entonces se puede exigir con seguridad:

))))))
 
Vizard_:
Todavía no))
7 miradas. Resurs no es mejor que la versión de hace medio año, o cuando miré no es recordar exactamente. En la ventana y las estadísticas fylo escribe diferente. Selección de la importancia de los insumos
cuestionable, comparado de frente con rf y un par más, y puede dar alta prioridad a muy poco importante. Si se toma el mejor corte (de la ventana) todavía no es bueno.
Con estos datos obtengo al menos un 92%. La pieza (tal como está) sigue siendo poco útil a efectos prácticos. Enhorabuena por el esfuerzo en el desarrollo y el vuelo de la fantasía.

Todo ello, por supuesto, en mi opinión. Adiós ahora)))


El resultado de la ventana es una comisión de dos modelos. Si usted mira el archivo, que guarda el predictor dos modelos En la ventana es el resultado de la comisión de estos dos modelos. ya que es so....
 
Vizard_:
Ya veo.El Bloc de notas está comprimido, y no lo torcí hacia abajo)))Pero lo tomé de la ventana para comparar.
Lo he borrado inmediatamente por falta de uso, aunque a alguien le puede ser útil...
En definitiva, creo que no hay que criticar esta obra. En primer lugar, responde a una pregunta muy importante, a saber, qué porcentaje de información generalizadora contienen los datos de entrada con respecto a los de salida. Y en segundo lugar, si Yuri hace caso a lo que le he sugerido, obtendrá una bomba que cerrará muchos interrogantes. Desgraciadamente no conseguí enseñar el modelo al 100% en mis datos (sin manipulaciones con los datos que aumenten la capacidad de generalización, como resultó imaginativamente) para ver cómo funcionará el modelo en el futuro. Sin embargo, una vez que se tiene una generalización del 100% por comité, hay que asegurarse de que cada modelo tiene el mismo 100%, es decir, que los datos de entrada describen completamente el resultado. Entonces veremos.... Mientras tanto, las conclusiones sobre la inoperatividad del optimizador son prematuras. Otra cosa es que cada uno de nosotros intente construir un modelo a la salida IDEAL. Lo que a su vez es extremadamente difícil, si no imposible. Bueno, y si la salida no es IDEAL, pero con un poco de errores..... Eso es lo interesante..... Digamos que hay que marcar con uno no las señales que tienen un beneficio de 100 pips, sino también las que tienen un beneficio de -30 pips y superior.... Conociendo este supuesto, bastará con tomar una señal 30 pips mejor y el problema estará resuelto si conseguimos construir un modelo con el nivel de generalización del 100%
 
Generalmente, para construir modelos de clasificación, el orden de los registros no es muy importante, lo importante es que el modelo lo aprenda al 100% y lo importante es que la reacción del mercado en un futuro próximo a los mismos eventos sea la misma. Por lo tanto, la ausencia de datos contradictorios. En cuanto a los modelos de pronóstico, el orden de los registros es importante para ellos. Esta es una de las diferencias entre la clasificación y la predicción.....
 

Me pregunto si esto nos ayudará.... Así que entiendo que la potencia de procesamiento de tal cosa es un orden de magnitud superior, si no varios....

https://hi-tech.mail.ru/news/compact-quantum-computer/?frommail=1

 
SanSanych Fomenko:
Mihail Marchukajtes:
Y todos los que vengan. En el archivo z1 hay dos archivos, el de entrenamiento y el de prueba. Para el objetivo, construya el modelo en el entrenamiento, aplíquelo a la prueba y publique los resultados en % (predicción exitosa).
de casos) para ambas muestras (tren = xx%, prueba = xx%). No es necesario anunciar los métodos y los modelos, sólo los números. Se permite cualquier manipulación de datos
y métodos de extracción.
Archivos adjuntos:
z1.zip  43 kb
 
Vizard_:
Y todos los que vengan. En el archivo z1 hay dos archivos, el de entrenamiento y el de prueba. Para el objetivo, construir el modelo en el entrenamiento, aplicarlo a la prueba, publicar los resultados en % (predicho con éxito)
de casos) para ambas muestras (tren = xx%, prueba = xx%). No es necesario anunciar los métodos y los modelos, sólo los números. Se permite cualquier manipulación de datos
y métodos de extracción.

Gracias. Lo intentaré.

Acordemos no mirar en la prueba hasta que el modelo entrenado haya sido evaluado. Ya lo he hecho antes.

Es decir, entrenamos hasta la saciedad el mejor modelo de tren. Quizás dos o tres modelos. Entonces su prueba única.