Una vez que tenemos la estrategia desarrollada el siguiente paso es hacer una optimización de parámetros. Con esto conseguiremos identificar cuales han sido los parámetros que mejor hubiesésen funcionado en el pasado. El problema que conlleva hacer esta selección de parámetros es que podríamos caer en el error de ajustar excesivamente nuestro sistema a los movimientos del pasado, y esto podría hacer que las probabilidades de volver a conseguir unos resultados similares en el futuro fueran nulas. Esto es conocido como “sobre-optimización” o curve-fitting. A la hora de elegir una combinación de parámetros las preguntas que podríamos hacernos son:
¿Esta combinación de parámetros seguirá funcionando igual de bien en el futuro?
¿Cómo se podría comportar el sistema en el caso de que haya cambios de tendencia o cambios en los niveles de volatilidad ?
¿Los riesgos que arroja este sistema con los parámetros seleccionados serán fruto de una sobre-optimización o es posible que se aproximen a la realidad?.
Para intentar responder a estas preguntas vamos a ver cómo podríamos hacer una optimización no realista y una optimización realista a través del método de análisis Walk Forward.
Optimización “ No realista” (El periodo optimizado corresponde al periodo completo de pruebas).
En este caso se optimiza el máximo histórico disponible al completo sin dejar ningún margen para hacer pruebas externas. Es una optimización totalmente surrealista ya que los parámetros estarán totalmente ajustados al histórico, el peligro de haber obtenido unos resultados difícil de repetir en operativa real es muy alto.
Optimización “realista” con el Método Walk Forward.
Este es un método efectivo que nos servirá para comprobar si la optimización puede ajustarse o no a los posibles resultados que se puedan obtener en operativa real. Consiste en dividir el histórico en distintas partes y comprobar a través de periodos optimizados como se hubiera comportado el sistema en pruebas externas.
A continuación vamos a ver un ejemplo de este método aplicado a una estrategia ficticia desde 1995 hasta 2006.
Pulsa sobre la imagen para ampliarla.
En este ejemplo dividimos el histórico en periodos iguales de un año. Durante los 3 primeros años 1995, 1996 y 1997 (Periodo In sample) hacemos una optimización de parámetros, y estos mismos parámetros los aplicamos sin hacer ninguna modificación sobre el año 1998 (Periodo out of Sample). El resultado que hubiésen arrojado estos parámetros en 1998 nos darán una aproximación mucho más realista de lo que podríamos haber obtenido aplicando este sistema. Para conocer los parámetros que podríamos haber utilizado en el año 1999 deberíamos de hacer una optimización sobre los años 1996, 1997 y 1998. De esta forma siempre optimizaríamos nuestros últimos tres años con el objetivo de determinar los parámetros que podríamos aplicar en el siguiente año.
Al finalizar la prueba completa desde 1995 hasta 2006 tendríamos un periodo de 9 años de datos externos que sería equiparable a haber utilizado la estrategia en tiempo real.
Por último para medir el “nivel de optimización” del sistema aplicamos un índice de acoplamiento que nos servirá para conocer el porcentaje de diferencia que hay entre las pruebas optimizadas “in sample” y los periodos externos out “out of sample”. Para construir este índice lo único que deberíamos de hacer es dividir el porcentaje de beneficios del periodo out of sample entre el porcentaje de beneficios del periodo “in sample”, como ejemplo si tenemos un beneficio de un 40% “out of sample” y un beneficio de un 80% “in sample” el índice de acoplamiento será del 50%.
Hola David, gracias por la explicación.
Entonces si quisieramos operar en 2007 hariamos una optimización de 2004, 2005 y 2006 o bien lo hariamos en base a los “out of sample” anteriores? perdona pero es que no acabo de entender cómo aplicarlo al año en el que no tenemos datos (en este caso sería 2007)
Para conocer los parámetros que podríamos utilizar en el 2007 deberíamos de optimizar 2004, 2005 y 2006. En este ejemplo podríamos optimizar siempre periodos de 3 años para conocer los parámetros que podríamos utilizar en el siguiente año.
Esta forma de determinar parámetros también conlleva un problema que no está escrito en el artículo que es el siguiente:
Si durante los últimos años optimizados el mercado ha tenido por ejemplo una fuerte tendencia alcista es muy posible que los parámetros que deberíamos de utilizar para el año siguiente únicamente nos sirvan para operar en el caso de que la tendencia alcista continúe. En el caso de que hubiese un cambio fuerte de tendencia es muy posible que los parámetros que estamos aplicando no nos sirvan, ya que durante el periodo de optimización no se ha registrado el nuevo escenario que podría producirse en el mercado. Por lo tanto aun así hay que tener mucho cuidado con la selección de los parámetros.
Este tema es muy interesante, en los próximos días intentaré escribir un artículo para ver cómo podríamos determinar de otra forma si los parámetros son correctos.