1 votos

Rendimiento de backtest dentro y fuera de la muestra, ¿cómo hacerlo?

Tengo una estrategia en desarrollo que estoy haciendo backtesting para optimizar los parámetros, un total de N combinaciones. Intentando lo mejor para no sobreajustar.

Ejecuto la primera prueba retrospectiva para el período dentro de la muestra y obtengo, digamos, n resultados que hacen dinero y (N-n) del resto que no lo hacen. Clasifico los resultados por rendimiento o cualquier otro criterio bien definido, y obtengo la lista L1 .

Entonces tomo la parte superior de rendimiento p % de n de los parámetros, ejecute otra prueba retrospectiva utilizando esos parámetros en un período diferente de la muestra. Obtengo otra lista clasificada similar, L2 .

No es de extrañar que L1 y L2 son ligeramente, y no dramáticamente, diferentes ( L2 es más corto pero de orden similar). ¿Cuál es el siguiente paso? ¿Tomo la parte superior m % de L2 y usar eso para el tercer backtest final en algunos datos más y obtener L3 ? A continuación, promedie las clasificaciones de rendimiento de los parámetros de L2 y L3 ¿usarlas como salida final? ¿Cómo elegiría los parámetros? Estoy limitado a ejecutar sólo 10 o más conjuntos de parámetros en el mejor de los casos, pero tengo cientos que están haciendo bien, pero son muy, muy cerca de la otra en el rendimiento debido a que algunos de ellos se agrupan alrededor.

1voto

ben Puntos 126

A mi entender tu backtest está introduciendo mucho sesgo de muestreo. Deberías utilizar la validación cruzada tradicional del conjunto de entrenamiento y, una vez que hayas calibrado tus parámetros en él, puedes probarlo fuera de la muestra. Más bien deberías elegir una muestra al azar del conjunto de entrenamiento, calibrar y validar, pero elegir un top% introduce un sesgo de muestreo y está mal estratificado.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X