Walk forward: el test de optimización para tus sistemas de trading

Antes de comenzar a hablar de la optimización de un sistema trading, es importante que sepas en qué se basan estos sistemas o porqué trabajar con ellos. Para no hacer este artículo infumable, te dejo este post sobre qué es y cómo crear una estrategia de trading. Una vez comprendido esto, puedes comenzar a buscar tests y formas de optimización para obtener mejores resultados.

En este artículo te voy a hablar sobre una de las pruebas de trading más populares que existen en la actualidad. Se trata del test walk forward.

? La optimización de un sistema trading

Todos nos hemos hecho la pregunta de qué es optimizar. El optimizado de un sistema trading, se basa en el estudio de un histórico de premisas o acontecimientos pasados. Esto se hace con el objetivo de obtener un número o valores cercanos para considerar nuestro sistema rentable.

En otras palabras, se basa en realizar un estudio pertinente acerca de los mejores resultados ocurridos en el pasado, esto buscando obtener un rango de posibles resultados positivos para el mercado en el que se está trabajando.

Ya que la optimización, se basa en encontrar los posibles números o valores que se acerquen o asemejen a los posibles valores actuales, es necesario tener en cuenta que se debe tener una información previa del mercado o unas premisas válidas.

Cuando deseas realizar una optimización de algún sistema trading, es necesario tener en cuenta el tipo de función objetivo mediante el cual estás trabajando. Esto se debe a que, para cada tipo de función objetivo, sus valores son distintos.

La función objetivo con el cual estés trabajando, puede verse enmarcado en cualquiera de las ratios para evaluar sistemas. Todos estos ratios se basan en formas distintas de laborar, desde aquí surge la diferencia entre los valores que pueden ser otorgados. Por ejemplo, una función objetivo puede ser que el sistema tenga la máxima ganancia neta posible o bien la mínima pérdida posible. En función de ello, los parámetros de nuestro sistema pueden ser diferentes.

? El backtest

Esta palabra es muy importante a la hora que realizar la optimización de un sistema trading, ya que su resultado va a depender del estudio de optimización trading. Es pocas palabras, hacer un backtest es realizar y evaluar un histórico de operaciones. Si no sabes lo que es un backtest y su importancia, este artículo te puede ayudar.

Con esto, obtienes un porcentaje de aciertos, la cantidad de drawdown o beneficio neto, entre otros. Estos datos son usados como resultados para introducir los parámetros futuros, buscando obtener un beneficio.

El backtest es necesario realizarlo con ciertas variantes. Cuántas más variantes surjan, más backtest tendrás que hacer, hasta dar con un resultado cerrado, pero debes tener mucho cuidado con la sobreoptimización.

?¿Qué es el sobreoptimizar?

En una optimización de un sistema trading, se buscan los valores posibles que puedan generarse en un futuro. Esto se realiza mediante la evaluación de un histórico anterior y una serie de variantes previas. La sobre optimización es jugar con la cartas marcadas. Es establecer los parámetros para los mejores resultados pasados.

Cuando se realizan muchos backtests, el resultado se acerca más a un punto de perfección inexistente. Es decir, un punto donde no existen fallos o márgenes de error. Cuando esto ocurre, es por una saturación de las variantes.

A esta saturación se la denomina sobre- optimización. Es uno de los factores a los cuales se le debe tener mucho cuidado a la hora de optimizar un sistema de trading. Ya que, cuando sobre-optimizas un sistema, el resultado perfecto, no es más que un gran error de valores.

Para evitar que entres en un sobre-optimizado, es recomendable que hagas una optimización con pocos parámetros a optimizar. Al introducir muchos parámetros, puedes caer en una sobre optimización. En mi caso, de hecho, intento no optimizar nada. 

?¿En qué consiste la optimización por Walk Forward?

Este es uno de los sistemas de optimización más robustos existentes actualmente. Esto se debe a que realiza una optimización completa, pero un poco tardía y compleja.

Gracias a que su sistema es un poco complejo, si posees un histórico considerable, sus resultados pueden llegar a ser numerosos. En otras palabras, cuánto más histórico poseas, mayor cantidad de resultados puedes obtener.

¿Qué hace que el Walk Forward sea tan bueno, si da numerosos resultados? Se considera que el Walk Forward es uno de los optimizadores más robustos ya que optimiza mediante intervalos del histórico.

Esta cantidad de resultados se pueden reducir. No obstante, debes estar atento en no sobre optimizar.

Las optimización mediante el sistema Walk forward, se realiza analizando intervalos cortos en el histórico de operaciones del mercado.

Es decir, cuando se posee un histórico de 10 años, por ejemplo, se toman los tres primeros años (1, 2 y 3) de histórico, a los mismos se les realiza la optimización y se obtiene el backtest.

walk forward

Posterior a esto, se toma desde último año de la primera optimización, hasta los dos años consiguientes, esto incluyendo el primer backtest. Es decir, en la segunda optimización se tomarían los años 3, 4 y 5, junto al primer backtest.

Esto se realizara con todos los siguientes años hasta obtener el último backtest. El cual será el resultado de una optimización continua entre todo el historial.

Esta optimización constante y repetitiva es lo que se considera como el Walk Forward y, gracias a su nivel de complejidad, es considerada como una de las más robustas. Sin embargo, suele otorgar resultados muy certeros, dentro del margen de error.

?¿Con qué finalidad se usa la optimización con walk forward en sistemas trading?

La función con la que se realiza este tipo de optimización, se basa en la verificación del sistema para un futuro. De la misma forma, lo puedes implementar para la obtención de posibles valores que generen una ganancia.

Todo esto se realiza con una serie de premisas. Es decir, lo debes hacer con un historial de operaciones. Al realizarlo, puedes obtener una idea acerca del mercado en un futuro.

De esta forma, podrás observar si podrá resultar productivo aplicar la estrategia de trading que estés evaluando. En algunos casos, verás que la rentabilidad del sistema o del ratio es únicamente temporal.

En resumen, podemos usar walk forward para:

  • Encontrar la mejor combinación de parámetros en cada momento del tiempo.
  • Medir la robustez de nuestro sistema de trading: vemos cómo se comporta con diferentes parámetros.

☑️ Una correcta optimización

Como ya sabes, debes evitar la sobreoptimización, ya que esto no genera más que pérdidas. Uno de los puntos en los que debes fijarte a la hora de realizar una optimización de un sistema trading es evitar los valores únicos o aislados. Un resultado con muy buenos resultdos pero solitario, tiene mucho riesgo.

Imagina que creas una estrategia basada en una media de 20 periodos que funciona perfectamente. Pero que cuando miras sus resultados con una media de 19 o 21 es un completo desastre. ¿No suena muy fiable, verdad?

No quiero decir con esto que tu estrategia de trading funcione bien con cualquier parámetro que uses. Pero lo que buscamos son sistemas robustos y si cualquier cambio sensible hace que los resultados se alteren de manera brusca, lo que tenemos no es una sistema robusto.

Debes tener presente que el mercado puede realizar cambios drásticos y bruscos. Razón por la cual, es recomendable que realices varias optimizaciones en intervalos considerables de tiempo.

Así aseguras que los valores obtenidos la primera vez, sigan siendo constantes. De no ser así, puede que el mercado realizara un cambio y debes acoplarte a dicho cambio.

? Walk forward matrix

El walk forward matrix es una versión extendida del walk forward. Me explico.

Cuando hacemos walk forward lo hacemos con un % de oos y de tiradas, aquí estos dos parámetros podemos hacer que se muevan en un rango. ¿Para qué? Para tener más datos del sistema y encontrar la mejor combinación posible (donde el sistema es más robusto).

Qué pasa si escogemos optimizaciones largas:

+ Es mas fácil de lograr una validez estadística.

+ Hay un mayor número de operaciones dentro de la misma ventana.

– Selección de parámetros basada en una amplia gama de condiciones de mercado. Por tanto, los parámetros elegidos no son óptimos para las condiciones actuales de mercado.

Qué pasa si escogemos optimizaciones cortas:

– Es mas difícil de lograr una validez estadística.

– Hay un menor número de operaciones dentro de la misma ventana.

+ Selección de parámetros basada en las condiciones del mercado en ese momento. Por tanto, los parámetros elegidos seguramente sean más efectivos al cambiar de ventana y en real, que es lo queremos.

Cómo buscar el punto medio

Hay dos cosas que podemos seleccionar:

  • Las fracciones de datos o en cuántas veces dividimos la muestra de datos.
  • El porcentaje de OOS.

Para ambas cosas escogemos un rango con el objetivo de encontrar los parámetros más robustos.

walk forward matrix

? Dos ratios claves

Hay dos ratios que nos van a ayudar a medir si nuestra estrategia de trading es robusta aplicando walk forward matrix:

➡️ Estabilidad WF

Mide cómo se comporta la parte de la ejecución respecto a la optimizada, en términos porcentuales.

La ganancia neta (estabilidad de WF) nos dice cuánto está ganando la estrategia en OOS (ejecución) respecto lugar a IS (optimización).

Por encima del 100 % indica que la estrategia funciona mejor en OOS que en la optimización, por debajo del 100 % lo contrario.

➡️ WF Score

Mide el valor porcentual de cuánto mejoró la optimización en comparación con la estrategia original.

Por encima al 100 % la estrategia tiene mejores resultados en Walk-Forward que en la estrategia original.

walk forward imagen

? ¿Cómo usar el walk forward test?

En mi caso no lo uso para optimizar mis sistemas de trading. Lo uso como test para evaluar su robustez, ya que cuando lo aplicamos estamos viendo diferentes periodos fuera de la muestra.

De esta manera obtenemos una mayor información de cómo se puede comportar en el futuro y de la consistencia de la estrategia. Al final, como ves se trata de tener las posibilidades a nuestro favor con estrategias ganadoras y este test lo que hace es arrojarnos información de nuestras estrategias. Como siempre digo, no busques estrategias perfectas, busca estrategia reales.

Te recomiendo que le eches un vistazo al test y si te es útil lo incorpores en tu metodología. Para mi es uno de esos test que merece la pena junto con el de Montecarlo.

¿Dudas? ¿Comentarios? ¡Te leo! Y ya sabes… cuidado con sobreoptimizar.

¡Comparte con alguien que lo necesite!

Descarga gratis dos estrategias de trading

Un sistema para el oro y otro para Nasdaq. Con resultados y reglas claras sobre cómo aplicarlos. ¡Empieza hoy!