Compartir:

Este artículo ha sido escrito por Sergi Sánchez, gestor de fondos

La optimización es un proceso controvertido dentro del trading algorítmico, tiene detractores y defensores por igual. La optimización de una estrategia es el proceso de probar una combinación de valores o inputs de la estrategia para encontrar la combinación que da los mejores resultados sobre unos datos históricos, utilizando una función objetivo especificada. Es un proceso intensivo de prueba error, que se aprovecha de las evoluciones tecnológicas que han mejorado mucho la velocidad de procesamiento, que va comprobando qué resultados hubieran obtenido en los datos históricos una determinada combinación de parámetros y nos los recopila todos. Hay varios tipos de optimización y diversos procedimientos para optimizar, pero no son el objetivo de este artículo.

Optimización: Tan potente como peligrosa

Decía que tiene sus detractores y defensores. Los primeros alegan que es muy fácil caer en lo que llamamos sobre-optimización por lo que prefieren no usarla. Esto es, que mediante la optimización obtengamos unos parámetros que satisfagan los targets que hemos prefijado, pero que estos no sean fruto de una pauta estadística sólida o de una ventaja, sino de una casualidad estadística. Así, cuando nos pongamos a operar con ellos, su resultado será mucho peor del que cabría esperar. 
Tengamos en cuenta que nosotros usamos lo que se conoce como estadística inferencial o inductiva, es decir, analizamos una parte de una muestra de datos y deducimos unas conclusiones que extrapolamos a la totalidad de la muestra. Mediante el proceso de optimización elegimos unos parámetros que, por ejemplo, maximizan el ratio de Sharpe en el histórico, es decir, que han funcionado muy bien en esos datos históricos. El problema es que lo que nosotros queremos saber realmente es si esos parámetros y nuestro sistema ganará dinero en el futuro. Que en el pasado haya funcionado muy bien es condición necesaria, pero no suficiente. Aquí es donde los detractores basan la mayoría de sus argumentos. Si realmente el resultado de la optimización no solo no garantiza ganar dinero en el futuro, sino que puede confundirme o engañarme, al indicarme que una combinación de parámetros es muy buena, pero luego en la operativa real no acaba siéndolo ¿por qué usarla? 
La sobre-optimización o curve fitting es un riesgo real, es fácil ajustarse a la curva y debemos trabajar para minimizar su riesgo lo máximo posible.
Los defensores de la optimización afirman que existen diversas herramientas para evaluar la robustez, así como pautas de diseño que pueden fomentarla durante el desarrollo. También afirman que usar una determinada combinación de parámetros por que sí, sin adaptarlo a cada activo o timeframe, es perder una ventaja muy grande.
Es cierto que es complicado medir la robustez. Hay herramientas como el Cluster Walk-Forward Analysis que veremos hoy, pero a mí me gusta definir a la robustez como la capacidad para mantener en el futuro los datos de performance obtenidos con datos históricos optimizados o backtesteados. Es decir, la certeza de robustez solo la tendremos cuando estemos ya operando, tarde, por tanto. Las herramientas que podemos usar para medir la robustez, si las usamos bien, aumentan mucho la probabilidad de que funcionen en el futuro, pero la certeza no existe nunca a priori.
En realidad, tanto detractores como defensores tienen su razón y por eso es aconsejable conocer bien los riesgos que tiene la optimización, las herramientas que existen para hacerla y para evaluar la robustez y a partir de ahí usarla o no dependiendo del tipo de sistema, del tipo de datos, etc.

Ciencia aplicada al trading

Dentro de la producción o creación de sistemas, la optimización la podemos ubicar en la parte de evaluación de estrategias que es aquella parte en la que tratamos de usar la ciencia para demostrar que la idea de trading, que nuestro sistema, tiene una ventaja sólida que explotar mediante la que ganar dinero operando en los mercados financieros.
El método científico está presente en todo el proceso de desarrollo de sistemas y la optimización no es una excepción. Recordemos que el método científico exige que el objeto de estudio, nuestro sistema, sea observable objetivamente mediante un procedimiento ordenado y estandarizado, que nos permita evaluar el comportamiento de nuestro sistema aislando los distintos elementos del sistema.
Recordemos que el único objetivo del trading es producir beneficios y que lo hace mediante la obtención de una ventaja que no es más que la cualidad o factor que te da superioridad frente al rival. Una gran ventaja debe ser:
  • Objetiva: Lo contrario a subjetiva (no debería depender del trader que la opere)
  • Cuantificable: Somos traders cuantitativos, todo tiene que basarse en datos.
  • Verificable: La metodología, el protocolo nos lleva a un resultado, a una conclusión.
  • Consistente: La ventaja no cambia, es la misma durante todo el procedimiento de evaluación y de operativa, es decir, mismas reglas para todos los trades.
  • Extensible: Una buena ventaja es extrapolable a otros activos o mercados, las pautas universales y más sólidas funcionan en muchos mercados y/o timeframes.
Centrémonos ahora en el procedimiento de optimización.

Procedimientos de optimización. Walk-Forward clásico

La optimización se utiliza para mejorar una idea de trading, no para desarrollarla. La optimización walk forward clásica supone dividir al histórico en dos zonas, una zona más grande que usaremos en la optimización, que suele ser del orden del +/-70% (datos In Sample o INS) y otra más pequeña que no se optimiza, en la que aplicaremos los parámetros que hemos obtenido en la optimización, que suele ser del orden del +/-30% (datos Out of Sample o OOS). Se recogen multitud de datos de rendimiento y riesgo de ambos segmentos. Uno de los más útiles es el Robustness index o Walk-Forward Efficiency que se calcula dividiendo el gradiente de la curva de rendimiento de la curva OOS entre el gradiente de la curva de rendimiento de la curva INS multiplicado por 100. En la práctica puede obtenerse dividiendo las tasas de retorno anualizadas de ambos periodos. Otros datos pueden ser el Draw Down u otros estadísticos como el profit factor, etc.
Lógicamente, lo normal es que el periodo INS tenga una mayor significación estadística que el periodo OOS, pero este último debe tener un mínimo de trades. En una optimización Cluster Walk-Forward como la que veremos a continuación, donde disponemos de muchos periodos OOS (suelen ser al menos 10) se puede aceptar un número mínimo de 30 (si son 50 casi mejor), pero en esta fase donde solo disponemos de un periodo OOS, 30 me parece un número insuficiente. Menos de 150 me parece inaceptable y a partir de 300 en términos generales estaría bien. Esto dependerá mucho de los grados de libertad que tengamos en el sistema, no es lo mismo un sistema con un solo input que otro que tenga cinco. Tengamos en cuenta que, si tenemos 300 OOS y este supone el 30% del total, el perdido INS es de 700 trades.
La comparación entre estos dos segmentos es un primer paso para evaluar la validez de la estrategia

Clúster Walk - Forward analysis

Este procedimiento lo relató Robert Pardo en 1992 en su libro “Design, Testing, and Optimization of Trading Systems”. Lanzó una 2ª edición revisada en 2008: “The Evaluation and Optimization of Trading Strategies”, una maravilla de libro que sigue totalmente en vigor.
Como hemos visto, la optimización Walk-Forward es un proceso de comparación del rendimiento de la estrategia entre dos conjuntos de datos, uno que es optimizado por el optimizador (INS) y otro que no se optimiza (OOS). Durante un Análisis Clúster Walk-Forward (WFA), se realizan múltiples ejecuciones walk-forward. Para cada ejecución o run del Walk-Forward, el rendimiento de los datos Out-Of-Sample se comparará con el rendimiento de los datos In-Sample. El optimizador de walk-forward aplicará diferentes pruebas a los datos OOS de cada “run” para evaluar la consistencia del sistema y, basándose en este análisis, proporcionará una calificación global de la robustez del sistema. La potencia del Clúster Análisis radica en que mediante la elección de distintos números de runs y distintos porcentajes OOS, podemos comprobar cómo hubiera ido el sistema en muchos cortes distintos del histórico. La acumulación de estos datos es la fortaleza de esta prueba ya que estresa al sistema al máximo al evaluarlo en ventanas distintas de periodos INS/OOS.
Tabla 1: Analisis Walk - Forward
1
Representación de una optimización Clúster Walk-Forward Analisis de 8 runs y un 20% de datos Out of Sample
Fuente: TradeStation
 
En la tabla 1 podemos ver el diagrama general de optimización WFA de uno de estos clústeres. Recoge un periodo de 12 meses, pero esto es solo un ejemplo, el periodo podría ser perfectamente otro. Toda la imagen recoge un solo clúster, es decir una parte de todo el proceso. En concreto recoge una optimización de 8 runs con un 20% de datos OOS. Cada fila de la imagen representa un run (en total hay 8 runs) y cada uno de esos runs está formado por un 80% de datos INS y un 20% de datos OOS. La última fila de la imagen muestra cómo vamos recogiendo los datos OOS que se van generando, de tal forma que cubrimos una gran parte del histórico. Solo los primeros 4 meses quedan como INS. Los 8 restantes tienen datos OOS. Insisto en que esto es solo 1 clúster. Para hacer este tipo de optimización WFA debemos elegir un rango de runs y de porcentaje OOS en que realizaremos los tests para así generar muchos clústeres, cada uno con su configuración de runs y % OOS. En la tabla 2 vemos cómo elegir este rango que en esta tabla recogería 30 posibilidades o clústeres en total.
Tabla 2: Walk Forward Runs
2
Elección del rango de runs y del porcentaje OOS de una optimización Clúster Walk-Forward Análisis 
Fuente: Elaboración propia
 
Imagen 1: Resultado de una optimización Cluster Walk-Forward Análisis
3
Podemos ver el resultado resumen de una optimización WFA real en un sistema nuestro tendencial. En este caso elegimos un rango de 5 a 17 runs en incrementos de 1 en 1 y de porcentaje OOS entre 5% y 30% con incrementos de 5 en 5. Fuente: TradeStation y elaboración propia
 

La mayoría de los clústeres tienen un PASS, lo que indica que han pasado las pruebas. Veamos cuáles son las pruebas que debe cumplir cada clúster:

  • La suma de todos los runs OOS es positiva, es decir, ese clúster gana dinero en OOS.
  • La media del Walk-Forward Efficiency de todos los runs OOS es del 50% o mayor.
  • El 50% o más de todos los runs OOS fueron rentables.
  • Muestra una distribución uniforme de los beneficios, es decir, ningún run ha aportado el 50% o más del beneficio neto total.
  • Ningún run tiene un Draw down superior al 40%.
Para ser PASS debe pasar TODAS estas pruebas. Solo que una no se cumple, el clúster queda como FAILED. Para que la prueba sea PASS en su conjunto tienen que haber una mayoría de clúster PASS.
Esta prueba la hacemos con una aplicación llamada Walk-Forward Optimizer (WFO) que forma parte de la plataforma TradeStation, aunque hay otras herramientas similares. También puede hacerse con Excel manualmente, aunque es un proceso realmente complejo. La herramienta nos permite recoger y ver mucha más información, incluso ver la curva de performance de todos estos datos que recoge un primer tramo INS y los runs de OOS que correspondan, como puede verse en la imagen 2.
Imagen 2: Walk-Forward Optimizer (WFO)
4
Curva de resultados Re-Optimizada usando WFO con 5 runs y 10% OOS de un sistema diario.
Fuente: TradeStation y elaboración propia
 

BRAC

“Tengo una manera relativamente fácil y robusta para que se convenza de si un sistema que está desarrollando es mínimamente ajustado a la curva, o no. Se llama "Build, ReBuild and Compare" o BRAC. El método implica el uso de todos los datos históricos de su muestra de desarrollo para el instrumento (s) que tiene la intención de operar.”
Con esta contundente frase Keith Fitschen explicaba en 2013 en su libro “Building reliable trading systems” su método BRAC.
Fitchen es el autor de Aberration en 1986, un sistema clásico entre los clásicos que estuvo muchos años considerado como uno de los mejores sistemas. Fitschen critica con dureza prácticamente muchas ideas clásicas sobre backtest y algunas sobre trading:
  • Afirma que el Walk-Forward es poco menos que una secta sin ninguna base científica.
  • Afirma que Monte Carlo está sobrevalorado como indicador de cuanto realmente ganará una estrategia o cual será el peor Draw Down.
  • Critica también las divergencias técnicas como señales de entrada en el mercado.
  • Incluso habla de una conspiración de las empresas que fabrican software de trading.
Él sostenía que no hacen falta análisis fuera de muestra ni complejos protocolos como el de Pardo, tan solo su método BRAC:

CONSTRUIR (BUILD)

A medida que construya la estrategia, lleve un registro de los pasos que dio y de la lógica de selección que utilizó, y si termina desarrollando una estrategia que tenga un buen rendimiento. El conocimiento del sistema es clave para su confianza y para que no se ajuste a la curva. Ideas sencillas, lógicas y universales que funcionen en muchos activos.
Para hacer el backtest o optimización usaba toda la muestra. No dividía el histórico en datos INS y OOS.

RECONSTRUIR (REBUILD)

A continuación, recorte algunos datos del final de los datos históricos. Reconstruya su estrategia utilizando los mismos pasos y criterios de decisión que utilizó la primera vez. Es decir, use los mismos rangos de optimización, las mismas restricciones y funciones objetivo. Todo exactamente igual excepto eliminar una pequeña parte de los datos históricos. Por ejemplo, si está utilizando 20 años de datos de barras diarias, puede cortar el último año.

COMPARar (compare)

Compara el rendimiento durante el período de los datos retenidos con el rendimiento de la primera estrategia durante el mismo período. Si el rendimiento es similar, puede tener bastante confianza en que su estrategia se mantendrá en la operativa real.

Conclusiones

En mi opinión Fitschen usa en realidad un método clásico al que le añade un punto especial que tiene sentido para diferenciarse. Una muestra de 4000 trades de una idea sencilla, universal, que funciona en muchos activos, con pocas reglas y pocos inputs, es probablemente robusta optimices cómo optimices. Fitschen presenta en su libro Backtests de hasta 11.000 trades y además los backtestea en varios activos a la vez. En este contexto, si obtienes buenas curvas con riesgo controlado, es muy probable que el sistema sea robusto. Cumple dos criterios básicos para considerar que una muestra es válida. Significación estadística por tener muchísimos trades y representatividad del universo objeto de estudio ya que usa históricos de muchos años y encima mezclando activos. El método KISS, Keep It Simple Stupid, es básico en el desarrollo de sistemas. De hecho, Pardo también recomienda reglas sencillas y comprensibles.
También el libro de Fitschen es muy interesante. BRAC es una pequeña parte de él, ya que desarrolla algunos sistemas e ideas y también la gestión monetaria.

Toda información publicada en TRADERS’ es únicamente para fines educativos. No pretende recomendar, promocionar o de cualquier manera sugerir la eficacia de cualquier sistema, estrategia o enfoque de trading. Se recomienda a los traders que realicen sus propias investigaciones, desarrollo y comprobaciones para determinar la validez de un concepto para el trading. El trading y la inversión conllevan un alto nivel de riesgo. Cualquier persona con la intención de operar en los mercados financieros debe entender y aceptar estos riesgos. El rendimiento obtenido en el pasado no es garantía de los resultados futuros.

Contenido Recomendado

EUR/USD Pronóstico Semanal: La Reserva Federal y las Nóminas no Agrícolas prometen acción la próxima semana Premium

EUR/USD Pronóstico Semanal: La Reserva Federal y las Nóminas no Agrícolas prometen acción la próxima semana

Los datos de inflación y crecimiento de EE.UU. han animado a la Fed a mantener las tasas sin cambios durante más tiempo. Los responsables políticos europeos siguen allanando el camino hacia una bajada de tipos en junio. El EUR/USD lucha por recuperar la senda alcista en un entorno de aversión al riesgo.

EUR/USD Noticias

GBP/USD Pronóstico Semanal: La Libra esterlina se recupera tras dos semanas consecutivas de pérdidas Premium

GBP/USD Pronóstico Semanal: La Libra esterlina se recupera tras dos semanas consecutivas de pérdidas

La Libra esterlina rebotó desde mínimos de cinco meses en 1,2300 frente al Dólar estadounidense. Es poco probable que el repunte del GBP/USD sea duradero, ya que se avecinan la decisión de la Fed sobre los tipos de interés y las Nóminas no Agrícolas de Estados Unidos.

GBP/USD Noticias

El Yen cae a mínimos de varias décadas y se sitúa cerca de 156.15 frente al Dólar tras el anuncio del Banco de Japón

El Yen cae a mínimos de varias décadas y se sitúa cerca de 156.15 frente al Dólar tras el anuncio del Banco de Japón

Durante la sesión asiática del viernes, el Yen japonés se vio sometido a una nueva presión de venta tras el anuncio de la decisión política del Banco de Japón y cayó a un nuevo mínimo de varias décadas frente a su homólogo estadounidense. El USD/JPY se disparó después del comunicado del BoJ a nuevos máximos de 34 años en 156.14.

USD/JPY Noticias

Contenido recomendado

Datos de inflación del PCE de EE.UU.: ¿Impulso para el Dólar?

Datos de inflación del PCE de EE.UU.: ¿Impulso para el Dólar?

La pausa que se ha tomado el mercado desde la tarde del jueves, con un Dólar estadounidense notoriamente bajista, puede estar anunciando exactamente lo contrario para la sesión americana de este viernes: un mercado movido, y con un Dólar ganador tras la publicación del dato del PCE de marzo.

Mercados Noticias

Tres datos fundamentales para la semana: Destacan el PIB estadounidense, el BoJ y el indicador de inflación favorito de la Fed Premium

Tres datos fundamentales para la semana: Destacan el PIB estadounidense, el BoJ y el indicador de inflación favorito de la Fed

Aunque es difícil predecir cuándo estallarán las noticias geopolíticas, el nivel de tensión es menor, lo que permite que los datos clave tengan la palabra. Las cifras estadounidenses de esta semana marcarán la decisión de la Reserva Federal la semana que viene, y el Banco de Japón podría tener dificultades para frenar el deterioro del Yen.

Mercados Noticias

El Dólar se deprecia frente al Peso mexicano tras el buen dato de empleo de México y el PCE más alto de lo esperado de EE.UU.

El Dólar se deprecia frente al Peso mexicano tras el buen dato de empleo de México y el PCE más alto de lo esperado de EE.UU.

El USD/MXN subió en la mañana europea del viernes a un máximo intradía de 17.27, pero tras la publicación de los datos de México y Estados Unidos cayó a un mínimo diario de 17.11. De cara al cierre de semana, el par cotiza sobre 17.16, perdiendo un 0.25% diario.

Cruces Noticias

Bitcoin Pronóstico Semanal: La próxima ruptura del BTC podría impulsarlo hasta los 80.000 $ Premium

Bitcoin Pronóstico Semanal: La próxima ruptura del BTC podría impulsarlo hasta los 80.000 $

Es probable que el precio del Bitcoin caiga a la zona de desequilibrio entre 59.111 y 53.120 dólares, lo que permitiría a los compradores marginados se acumulen. Un rebote desde esta zona podría impulsar al BTC hasta los 80.000 $, un nuevo máximo histórico. Las métricas en cadena respaldan el repunte a corto plazo del BTC.

Criptomonedas Noticias

EUR/USD Pronóstico Semanal: La Reserva Federal y las Nóminas no Agrícolas prometen acción la próxima semana Premium

EUR/USD Pronóstico Semanal: La Reserva Federal y las Nóminas no Agrícolas prometen acción la próxima semana

Los datos de inflación y crecimiento de EE.UU. han animado a la Fed a mantener las tasas sin cambios durante más tiempo. Los responsables políticos europeos siguen allanando el camino hacia una bajada de tipos en junio. El EUR/USD lucha por recuperar la senda alcista en un entorno de aversión al riesgo.

EUR/USD Noticias

Contenido recomendado

Estrategia

Gestión del dinero

Psicología