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

 
Maxim Dmitrievsky #:

¿Cuál es la forma correcta de utilizar los resultados del CV a posteriori?

Optimizo los hiperparámetros del modelo (profundidad del árbol de aprendizaje o número de ejemplos en la hoja, número de árboles, etc.) y el conjunto de datos (número de filas, combinaciones de características posibles)

Ejecuto todas estas variantes y luego selecciono la mejor variante de los parámetros del modelo y del conjunto de datos por el mejor resultado total de la valoración hacia adelante. Creo que la validación cruzada es peor, mientras que el avance es una copia de lo que sucederá en la realidad: comerciar durante una semana, volver a entrenar durante otra semana, volver a entrenar, etc.

tomar los mejores parámetros del modelo y entrenarlos en todo el conjunto de datos

No es lógico entrenar con todo el conjunto de datos.
Lo que es la mejor profundidad de la historia, debemos seguir entrenando en la misma profundidad. Mi modelo entrenado N veces en 50 000 líneas de M5 (casi un año) puede mostrar un 52% para la suma de todos los delanteros, si utilizamos los mismos parámetros, pero con una diferencia sólo en la profundidad de la historia, es decir, 70 000 o 30 000 líneas, será menos del 50% para la suma de todos los delanteros.

La razón es que las hojas no contendrán los mismos ejemplos. Los árboles pueden tener más o menos hojas, etc. Creo que para conjuntos de datos de diferente tamaño deberías cambiar la profundidad o el número de ejemplos en la hoja.

 
elibrarius #:

Optimizo los hiperparámetros del modelo (profundidad de entrenamiento del árbol o número de ejemplos en la hoja, número de árboles, etc.) y del conjunto de datos (número de filas, combinaciones de características posibles)

Ejecuto todas estas variantes y luego selecciono la mejor variante de los parámetros del modelo y del conjunto de datos por el mejor resultado total de la valoración hacia adelante. La validación cruzada es peor en mi opinión, el valking forward es una copia de cómo será en la realidad: negociado durante una semana - reentrenado, otra semana, otro reentrenado, etc.

En todo el conjunto de datos - ilógico.
Si tienes la mejor profundidad de la historia, seguirás entrenando con la misma profundidad. Mi modelo entrenado N veces sobre 50 000 líneas de M5 (casi un año) puede mostrar el 52% de la suma de todos los delanteros. Si utilizamos los mismos parámetros, pero con una diferencia sólo en la profundidad de la historia, es decir, 70 000 o 30 000 líneas, será menos del 50% de la suma de todos los delanteros.

La razón es que las hojas no contendrán los mismos ejemplos. Los árboles pueden tener más o menos hojas, etc. Creo que para conjuntos de datos de diferente tamaño hay que cambiar la profundidad o el número de ejemplos en la hoja.

Bueno, en mi opinión, el cv es necesario para evaluar la calidad del conjunto de datos, no la solidez de un modelo concreto. Si el error medio en los pliegues k es aceptable, entonces podemos entrenar un modelo en este conjunto de datos y también será bueno. Podemos tomar prestados los parámetros promediados de los modelos utilizados para el cv.
 
Maxim Dmitrievsky #:
Bueno, en mi opinión, el cv es necesario para evaluar la calidad del conjunto de datos, no la robustez de un modelo concreto. Si el error medio en los pliegues k es aceptable, entonces podemos entrenar el modelo en este conjunto de datos y también será bueno. Puede tomar prestados los parámetros promediados de los modelos utilizados para el cv.
Del conjunto de datos tomaremos diferentes trozos todo el tiempo. Optimizaré tanto el conjunto de datos (número de líneas y características) como los parámetros del modelo.
 
Aleksey Nikolayev #:

Probablemente sea posible comprobar cada observación de la prueba para ver si es un valor atípico en algún sentido en relación con el examen.

¡Eso es lo que sería interesante saber!

Mi punto es que el mercado es volátil y cíclico, y en teoría cualquier modelo, asumiendo que los eventos se repiten (si no, no tiene sentido aprender), tendrá una alta precisión en diferentes períodos de su existencia, y es probable que en los tramos de prueba simplemente haya otro mercado, otra ola. La formación se realiza sobre los patrones más pronunciados, pero ¿tenemos derecho a suponer que serán tan estables? Creo que la calidad de un modelo depende de los predictores que describen patrones estables y, por lo tanto, debemos entrenar sobre aquellos ejemplos que son típicos de los resultados en diferentes partes de la muestra.

 
mytarmailS #:
Puede hacerlo mediante modelos de madera...
Desglosar el modelo en reglas, analizar las reglas para las estadísticas deseadas (repetibilidad, etc.), ver si la regla aparece en los nuevos datos...

El paquete "intrees" 5 líneas de código y van

Llevo mucho tiempo haciéndolo con hojas, pero no es lo mismo: no me permite detectar ejemplos atípicos en la muestra.

 
Vladimir Perervenko #:

PaqueteNoiseFiltersR. Echa un vistazo al artículo.

Mirado el artículo, por lo que entiendo este paquete no da resultados significativos - aumento de alrededor del 3%, pero es interesante - puede explicar el principio de su trabajo?

 
elibrarius #:
Tomaremos diferentes trozos del conjunto de datos todo el tiempo. Optimizo tanto el conjunto de datos (número de líneas y características) como los parámetros del modelo.

Se me olvidaba, ¿tienes un color/tipo de objetivo de la vela horaria actual?

 
Aleksey Nikolayev #:

Mientras que los predictores de ruido son más o menos claros, los ejemplos de ruido no lo son. Me gustaría saber más sobre cómo se definen (en términos de teoría, no de nombres de paquetes/funciones utilizadas, aunque por supuesto siempre hay referencias a artículos en R). Está claro que debería haber una clase de "no operar" a la hora de clasificar, ya que esforzarse por estar en el mercado todo el tiempo se considera un error. Pero no está muy claro cómo describir correctamente esta clase de forma más o menos formal.

Hay tres opciones para procesar los ejemplos ruidosos: eliminar, volver a dividir (corregir el marcado) y crear una clase separada para los ejemplos ruidosos. Según mi experiencia, alrededor del 25% de la muestra es "ruido". La mejora de la calidad es de aproximadamente un 5%, depende de los modelos y de la preparación de los datos. Lo aplico de vez en cuando.

Hay otro problema cuando se utilizan predictores: su deriva. Y este problema debe identificarse y tenerse en cuenta tanto en las pruebas como en el funcionamiento. En el apéndice hay una traducción del artículo (busque otras en la red) y hay un paquete de derivación. No es el único. Pero la cuestión es que al seleccionar los predictores hay que tener en cuenta no sólo su importancia, sino también su deriva. Para los de alta deriva deséchelos o transfórmelos, para los de baja deriva téngalos en cuenta (corríjalos) a la hora de probar y trabajar.

Buena suerte

Archivos adjuntos:
Drift1.zip  2238 kb
 
Aleksey Vyazmikin #:

Olvidé, ¿está apuntando al color/tipo de la vela horaria actual?

El color de la vela, incluso con un error del 30%, puede ser perdedor. No sabemos cuánto beneficio podemos obtener de ello... el color se suele adivinar bien en los movimientos lentos del precio (overnight), y 1 vela diaria fuerte perdida puede valer por 10 pequeñas overnight. Creo que adivinar el color de las velas es de nuevo un resultado aleatorio (debido a las dimensiones aleatorias).
Por eso hice la clasificación con TP, SL. Si son iguales, entonces el 52% de las operaciones exitosas ya son rentables. Si TP=2*SL. Entonces >33% de las operaciones exitosas serán rentables. Lo mejor que he tenido es un 52-53% de operaciones exitosas con TP=SL durante 2 años. Pero en general, estoy pensando en utilizar la regresión con TP/SL fijo. Más exactamente, estoy pensando en hacer una clasificación basada en la regresión.
 

Llevo unos años sin entrar en el foro y sigue ahí, como en la canción: "Lo que fuiste, lo que te has quedado, águila esteparia, cosaco gallardo...".

La estadística comienza con un axioma que, al serlo, no se discute:


"Basura que entra, basura que sale".


En principio, no hay ni puede haber métodos matemáticos que hagan de la basura un caramelo. O hay un conjunto de predictores que PREVENGAN al profesor, o no lo hay.

Y los modelos no juegan prácticamente ningún papel, como tampoco las validaciones cruzadas y otras perversiones computacionalmente intensivas.


PS.

Por cierto, la "importancia" de los predictores en el modelo no tiene nada que ver con la capacidad de predecir al profesor.

Razón de la queja: