Ayer uno de mis lectores me hizo un comentario que me recordó que los parámetros de un sistema varían con el tiempo, es decir, lo que funciona hoy no tiene por qué funcionar mañana y viceversa. Para solucionar este tipo de problemas tenemos el «walk forward».
Un walk forward es una prueba de dos pasos; el primer paso es una optimización normal en la cual se explora el espacio de parámetros para posteriormente seleccionar el mejor conjunto de ellos mediante la función objetiva que previamente hemos diseñado. Es el segundo paso el que distingue el método. En este paso el rendimiento del conjunto de parámetros es evaluado en una muestra adicional y adyacente de datos de precios, es decir, se realiza una simulación para obtener una medida del rendimiento de la postoptimización.
Por ejemplo optimizamos la estrategia en una ventana de tiempo de tres años y hacemos una simulación sobre una ventana de tiempo adyacente y menor (aproximadamente del 33% del tamaño de la ventana principal, un año). Observemos que los datos de precios de esta última ventana de simulación no se han utilizado para optimizar el sistema, son datos que están fuera de la optimización.
De esta forma vamos construyendo una curva de capital fuera de muestra. Si seguimos el ejemplo de la imagen, optimizaríamos los parámetros del sistema en el periodo 1999/2001, cogeríamos esos parámetro optimizados y con ellos aplicaríamos el sistema al periodo 2002. Ya tenemos la curva de capital «fuera de muestra (out of sample)» del periodo 2002.
Repetiríamos el proceso para el periodo 2000/2002 y lo aplicariamos sobre el 2003. Obtendríamos la curva de capital «fuera de muestra» del periodo 2003. Y así sucesivamente.
Luego uniríamos todos los tramos fuera de muestra y obtendríamos la curva de capital de todo el periodo «fuera de muestra».
Hasta aquí hemos definido lo que es la prueba de walk forward para un sistema. Como hemos visto es una forma bastante contundente de evitar ajustarnos a los datos del pasado, pues las optimizaciones de aplican sobre periodos que no se han optimizado (los out of sample).
Pero no sólo eso, sino que el último periodo que optimicemos nos va a dar los parámetros para operar en real. Es decir, si el último periodo que optimizamos es el 2011/2013, con los parámetros que nos dé operaremos en 2014.
Pues bien, últimamente se está aplanando la curva de capital del sistema IAECohn y con la pista que me dió ayer el lector becerril, he pensado en aplicar el walk forward a este sistema.
En la siguiente imagen podéis ver, a la izquierda, la curva de capital del sistema IAECohn desde el 01/01/2004 hasta ayer. Sin reinversión de beneficios ni comisiones. El único parámetro con el que funciona es el momentum mensual y lo mantengo fijo en 3 meses tal como propuso su autor. A la derecha la curva de capital «fuera de muestra» optimizando los parámetros en un periodo de 6 meses y aplicándolos en los tres siguientes.
Como podéis ver, unos años gana más el sistema original y otros siguiéndolo con el walk forward. Pero con este último nos aseguramos que nos vamos adaptando a los cambios del mercado.
Si os fijáis en la tabla nos faltan los resultados desde julio. Eso es por qué lo último que ha hecho el walk forward es analizar el primer semestre del año y nos dice que para julio agosto y septiembre utilicemos como momentum 75 días. Vamos a hacerlo a ver que resultados nos estaría dando.
Resultaría que siguiendo las indicaciones del walk forward este año llevaríamos una rentabilidad del 24,4 % (15,9+8,5) frente al 6,2 % del sistema manteniendo parámetros. Tendríamos comprados SSO en vez de ILF.
El 1 de octubre aplicaremos cambios.
Para hoy el sistema GPlus dice que compremos si el precio del futuro de diciembre del SP500 sube por encima de 1.991,25 o si a cierre cayera por debajo de 1.974,76.
Si os apetece, podéis votarme en el concurso al mejor blog de bolsa 2014 aquí.
Saludos.
martes, septiembre 16th 2014en13:04
Un artículo muy interesante, sin duda.
martes, septiembre 16th 2014en16:43
Me alegra que te haya gustado Vicente.
Saludos.
miércoles, septiembre 17th 2014en13:25
Estupendo el estudio. ¡Qué envidia me da ese dominio del Amibroker! Yo solo puedo limitarme a dudar continuamente de lo que dicen los sistemas y cada mes cambiar algunas variables.
Gracias, Ramset.
jueves, septiembre 18th 2014en10:13
Gracias a ti becerril. Tu comentario me recordó que, en ciertos sistemas, hay que utilizar el walk forward.
Saludos.
miércoles, septiembre 17th 2014en13:44
Gracias Ramón, por este estupendo post.
Eres un «Crack»
jueves, septiembre 18th 2014en10:13
Gracias a ti por leerme Dor.
Saludos.
jueves, septiembre 18th 2014en18:05
Gran artículo Ramón.
Como diría R. DeNiro: » eres bueno chico…»
hahaha. Un saludo maestro!
miércoles, marzo 20th 2019en18:55
Buenas Ramón,
Te querìa preguntar que tamaño (en años) utilizas para las optimizaciones de sistemas en diario, ya que si utilizas 1 año de OS la significancia estadìstica quedaría muy mal ya que puede que te de muy pocas operaciones. Tanto para los trozos IS como para los trozos OS. Y también te querìa preguntar si utilizas todo el histórico disponible para el WF
Saludos
jueves, marzo 21st 2019en07:27
Hola Alex
3 o 4 años para el IS y 1 año para el OOS. Esa proporción suele funcionar bien.
Saludos