Se trata de analizar el comportamiento de los parámetros ante pequeñas variaciones de los valores empleados en la optimización. En general, un sistema es robusto si, al ir aumentando o disminuyendo sucesivamente los valores de los parámetros, las variaciones de resultados son proporcionales y continuas.
Por ejemplo, supongamos que mi sistema emplea como parámetro el período del RSI. Tras optimizarlo obtengo:
RSI(13) = 3.000$
RSI(14) = 3.200$
RSI(15) = 3450$
RSI(16) = 3.150$
RSI(17) = 2900$...
En este caso queda claro que las variaciones en los resultados son consistentes. Supongamos ahora que obtengo:
RSI(13) = -2500$
RSI(14) = 7.000$
RSI(15) = 190$
RSI(16) = 3900$
RSI(17) = -5000$...
En este segundo caso, el sistema es completamente inútil. Los valores paramétricos obtenidos tras una optimización no tienen ningún potencial predictivo.
Cuando el número de parámetros es alto (Por cierto, cosa poco recomendable. Volvemos nuevamente a la "belleza de lo simple"), las tablas de correlaciones entre variables paramétricas suelen ser mastodónticas y, en tal caso, es conveniente recurrir a los Mapas de Optimización. (En otro artículo explicaré su funcionamiento e indicaré algún software para este propósito).
(3) Análisis de prueba externa.
Es, sin duda, el más importante. Se trata de ver como se comportan los valores paramétricos seleccionados en periodos del histórico sin optimizar. Sobre esta cuestión, de la que hablaré detenidamente en próximas aportaciones, deberemos ser extremadamente rigurosos:
- Reservaremos al menos 1/3 del histórico "no contaminado" para la prueba externa.
- Elegiremos varios "cortes", preferentemente aleatorios, que contengan: momentos alcistas, bajistas y laterales del mercado. (Muchos traders suelen emplear una táctica poco recomendable: Optimizar dos años completos y ver que pasa en el siguiente. No me gusta; para empezar, los efectos estacionales y de principio y fin de año pueden interferir en la operativa. Lo único que no interfiere es lo no predecible. Y lo no predecible es, por definición, aleatorio).
- Anotaremos cuidadosamente los resultados, prestando especial atención al DD máximo de cada periodo.
- Con el listado completo de todos los "cortes" realizaremos una simulación de Montecarlo completa. Empleando, claro está, un software específico y fiable para este propósito.
- Calcularemos el solapamiento o "nivel de acople", por "cortes" y total.
Una vez hecho esto, y si el sistema siguiese resultando consistente (cosa poco frecuente...) pasaremos a la última prueba:
(4) Cuarentena.
Muchos se saltan este paso -craso error, a mi juicio- por considerar que los resultados de prueba externa ya constituyen un estimador suficientemente preciso del funcionamiento "real" del sistema. El problema es que lo verdaderamente real es el insondable arcano de las semanas y meses por venir. Reconozco que poner un sistema, aparentemente robusto, en cuarentena es cuando menos tedioso, pero considero que su observación en el día a día constituye la única garantía efectiva de lo que verdaderamente hará.
Si ya estamos operando con varios sistemas, añadiremos el nuevo sistema a nuestra cesta sistemática y lo dejaremos correr durante meses (mínimo 6) poniéndolo, literalmente, a competir en tiempo real con los sistemas que ya tenemos. Ni que decir tiene: Idénticas comisiones y deslizamientos que las aplicadas a los sistemas que tengamos operando en el mismo mercado.
... Y hemos llegado al final, seguramente exhaustos y con la lengua fuera. Si todo ha ido bien (cosa bastante improbable, por cierto), ya sólo nos queda ligarlo a la operativa con nuestro broker, cruzar los dedos y volver a repetir el mismo proceso con en nuevo sistema que por entonces ya tendremos, sin duda, en mente.
Sí, señor... El mito de Sísifo arrastrando la piedra una y mil veces por la misma pendiente es la mejor analogía que ahora se me ocurre.