Cómo evitar overfitting en backtest

Abr 12, 2023 | EasyLanguage, TradeStation

Cómo evitar overfitting en backtest

Los backtest han sido una gran ayuda para los traders. Con solo hacer clic en algunos botones, podemos evaluar nuevas estrategias e ideas comerciales en diferentes instrumentos y marcos de tiempo y, a través de la optimización, determinar los parámetros de la estrategia que producen los mejores resultados.

Para aquellos que son nuevos en el trading, el significado de backtest es:

El backtesting es el proceso de probar una estrategia comercial con datos históricos relevantes para asegurar su viabilidad antes de que el operador arriesgue capital real. Un comerciante puede simular la negociación de una estrategia durante un período de tiempo apropiado y analizar los resultados para los niveles de rentabilidad y riesgo. – Investopedia

Desafortunadamente, con los backtest también debemos lidiar con la maldición del ajuste de curvas. El ajuste de curvas se produce cuando los parámetros de la estrategia se ajustan para que produzcan resultados optimizados para el conjunto específico de datos históricos que se probó.

Con cualquier otro conjunto de datos de prueba, los resultados pueden ser radicalmente diferentes. Por ejemplo, podríamos realizar una prueba durante un período en el que se produjo una gran oscilación de precios debido a un evento importante.

Se puede ajustar una estrategia de curva ajustada para capturar el máximo beneficio de esos cambios, inflando así sus resultados generales. Elimine ese swing y los mismos parámetros producirían resultados drásticamente reducidos o incluso negativos. Esta imagen muestra cómo se ve un sistema de curva ajustada.

AA

A la izquierda de la línea vertical vemos los resultados optimizados, a la derecha vemos el rendimiento del sistema posterior utilizando esos mismos valores. Después de una prueba inicial, el sistema se desmorona y todas las ganancias iniciales se pierden, como puede ver, una vez que la línea de la curva de equidad alcanza su punto máximo.

¿Cómo Se Maneja El Ajuste De Curvas Durante el backtest?

El ajuste de curvas es un proceso potencialmente destructivo y debe encontrar formas de eliminarlo durante la prueba de cualquier sistema de trading o corre el riesgo de operar con un sistema perdedor.

Hay tres estrategias de backtesting que podemos utilizar para aliviar el problema del ajuste de curvas:

  1. Optimice una variable a la vez y busque rangos de valores variables que produzcan resultados rentables, luego elija un valor en el medio del rango. Es posible que este valor no tenga el resultado óptimo, pero asegura que las pequeñas variaciones seguirán siendo rentables.
  2. Optimice varios conjuntos de datos históricos diferentes e identifique las variables de estrategia que producen resultados rentables en todos ellos. Busque superposiciones y seleccione la combinación de variables que tenga buenos resultados en cada uno de los períodos de prueba.
  3. Optimice las variables en un conjunto histórico de datos y luego valide que continúan funcionando bien aplicándolas a un conjunto diferente de datos. Esto se denomina prueba fuera de muestra.

Por supuesto, puede aplicar los tres anteriores a su estrategia, pero en este artículo nos centraremos en las pruebas fuera de muestra.

Prueba Fuera De Muestra

En las pruebas de fuera muestra, separamos los datos de prueba históricos disponibles en dos conjuntos.

El primer conjunto se utilizará para la optimización y las pruebas posteriores. A esto se le llama período en la muestra. A continuación, los resultados optimizados de la prueba se aplican al conjunto de datos restante no probado, denominado período fuera de muestra.

Los datos fuera muestra pueden provenir del comienzo de los datos históricos o del final, aunque normalmente usamos los datos más recientes para las pruebas fuera muestra.

La relación de dentro de la muestra a fuera de la muestra normalmente varía de 2: 1 a 4: 1, en otras palabras, del 33% al 20% de los datos totales se reservarán para la prueba fuera de la muestra. La siguiente imagen muestra una división de 2: 1 aplicada a seis meses de datos diarios.

bb

Realizar una prueba sin muestra en TradeStation (que es una potente pieza de software de backtesting) es extremadamente fácil. Comience agregando sus estrategias y estableciendo los parámetros de optimización.

 

Para este ejemplo, utilicé tres de las estrategias que vienen con TradeStation y puede ver los parámetros de optimización en la siguiente figura:

11

Una vez hecho esto y antes de ejecutar la optimización, hacemos clic en el botón Configuración avanzada para abrir la ventana Configuración avanzada como se muestra a continuación:

qq

La ventana Configuración avanzada es donde se define el tamaño del período fuera de la muestra como un porcentaje del conjunto total de datos históricos. Tenga en cuenta que puede establecer períodos de muestra separados: uno al principio y otro al final del bloque de datos. Alternativamente, podría especificar fechas para definir los períodos fuera de la muestra.

 

Por simplicidad, reservé el último 30% de los datos para realizar pruebas fuera de la muestra.

 

Después de ejecutar su optimización, puede obtener el Informe de rendimiento de la estrategia para ver qué tan bien se desempeñó el sistema en general y en el período fuera de la muestra. En la parte superior del informe, puede hacer clic en el menú desplegable y seleccionar «Todos los datos», «En muestra» o «Fuera de muestra» para filtrar los resultados para el período de datos seleccionado

 

Puede ver el menú desplegable a continuación donde coloqué una línea vertical roja para mostrar los resultados generales, en la muestra a la izquierda de la línea y fuera de la muestra a la derecha.

12

Compare esta curva de equidad con la primera curva de equidad que apareció al principio de este artículo.

ee

Podemos ver que el sistema de negociación continuó funcionando bien a diferencia de nuestra primera prueba, incluso después del período de optimización de datos y esto nos da una gran confianza para operar en el futuro.

 

Este enfoque funciona bien para probar la solidez del sistema. El inconveniente es que la prueba se realiza durante un período de tiempo limitado. Durante ese período de prueba, el mercado puede haber experimentado diferentes niveles de volatilidad de precios o los precios pueden haber cambiado significativamente, y los parámetros de la estrategia no reflejan esta evolución.

Artículo escrito por Quantified Models

Canal de YouTube de Quantified Models

En nuestro canal de YouTube tenemos varios videos disponibles que pueden resultarle muy útiles para desarrollar sistemas de trading.

Esperamos que esta información te haya sido de utilidad. 

 

Easylanguage | Sistema de trading: Tortugas

Easylanguage | Sistema de trading: Tortugas

He visto una plétora de publicaciones sobre las estrategias de comercio de tortugas donde se proporcionan las reglas y el código. Los códigos van desde una mera ruptura de Donchian hasta una representación bastante cercana. Sin retroalimentación de...

leer más

Subscribe to our Newsletter

Join our mailing list to receive the latest news and updates from Quantified Models team.

Subscribe to our Newsletter

You have Successfully Subscribed!

Ir al contenido