Desde el momento en que se diseña una estrategia conviene tener en mente que en algún momento dejará de funcionar. El cómo y cuándo lo haga ya es una cuestión mucho más controvertida e imposible de predecir. Pero lo que sí conviene tener establecido es un protocolo que nos permita detener la operativa cuando una estrategia evidencia claros síntomas de agotamiento.
Un sistema puede dejar de funcionar de manera explosiva y abrupta, metiéndonos rápidamente en un drawdown (DD) muy superior al contemplado en las estadísticas. Por ejemplo, éste:
Pero también, puede dejar de funcionar de forma algo más sutil. Alejándose más y más de nuestras débiles y efímeras esperanzas, pero sin incurrir en un DD escandaloso que se salga del cuadro.
Para acabar de complicar las cosas, otros sistemas parecen recobrarse de manera milagrosa tras un prolongado periodo de vagabundeo errático, recordándonos la bella frase del Don Juan Tenorio: "Los muertos que vos matáis gozan de buena salud".
Entonces, ¿existe algún criterio "fiable" que nos permita determinar de manera precisa cuando conviene parar máquinas? No, no me hablen de cosas "seguras" y "fiables" en el mundo de los sistemas de trading porque ya conocen mi respuesta. Sin embargo, con la misma rotundidad les digo que no disponer en nuestras carteras de un criterio de parada y rotación de sistemas constituye una debilidad tan grande como empezar a operar insuficientemente capitalizados o no diversificar adecuadamente en sistemas y mercados. En mi opinión, es más importante tener un criterio que el criterio en sí. Luego comprenderán por qué.
El criterio debe cumplir unos requisitos formales (ser estadísticamente robusto y haber sido evaluado cuidadosamente antes de su implementación), unos requisitos económicos (riesgo asumible en función del tamaño de la cuenta) y unos requisitos psicológicos (nivel de confortabilidad del trader, perfil inversor). Este es el motivo por el que considero que un criterio no debe ser generalizable, sino que cada cual debe elegir aquel que mejor se adapte a sus necesidades.
Básicamente existen tres tipos de criterios:
A) Estadísticos: Dejar de operar el sistema cuando la frecuencia y distribución de operaciones (secuencia P/L) comienza a ser muy distinta de la obtenida en el pasado. Podríamos proponer muchos métodos. El que yo sugiero es visual e intuitivo y les funcionará muy bien: Comparen un histograma de las operaciones del modelo (histórico de resultados de los "n" últimos años) con un histograma de la operativa real (de los "n" últimos meses). Si el sistema ha dejado de funcionar según lo previsto, enseguida apreciarán diferencias notables en ambos gráficos.
¿No nos conformamos con un análisis visual y queremos rizar más el rizo? Vale, entonces no hay problema porque, una vez conocidas las frecuencias de las dos series, podemos aplicar la prueba de Chi para determinar si nuestra serie real se acomoda a la serie histórica y en qué grado lo hace.
Ambas series no serán del mismo tamaño, normalmente comparamos una ventana de operativa real pequeña (por ejemplo, las últimas 150 operaciones) con una serie histórica mucho más grande (por ejemplo, de 1000 operaciones).
Bien, ahora supongamos la siguiente distribución de frecuencias:
La fórmula del estadístico es:
Los gados de libertad (gl) vienen dados por:
gl = k - 1
Donde k es el número de categorías; como hemos distribuido las operaciones en 9 rangos de precios, gl = 8.
Haciéndolo de esta manera, podemos aplicar a los datos de la tabla la función de Excel:
PRUEBA.CHI (Frecuencia_Serie_Real : Frecuencia_Serie_Histórica)
Que nos devuelve el valor de la distribución Chi-cuadrado (valor p) para el estadístico (X2) y los grados de libertad (gl). Por tanto, si conocemos el valor de X2, obtendríamos el mismo resultado con la función DIST.CHI (x;gl).Y a la inversa, el valor de X2 lo podemos calcular con la función PRUEBA.CHI.INV (p,gl).
Bien, pues en nuestro ejemplo, valor p = 0,018831 y X2 = 18,337.
El valor p nos indica la probabilidad de que si cogemos otra muestra de datos el valor de X2 excede al de nuestra muestra.
Ahora formulemos las dos hipótesis:
H0 = La muestra de operaciones reales encaja en la población de datos históricos.
H1 = Las operaciones reales ya no pertenecen a esa población.
El criterio para rechazar la hipótesis nula será: X2 > X2α
Supongamos que queremos un nivel α de significación del 5%:
X2α = PRUEBA.CHI.INV (0,05;8) = 15,50.
Por tanto, rechazamos la hipótesis nula.
De forma más rápida, rechazaremos la hipótesis nula si el valor p es menor que un determinado nivel α de significación; por ejemplo α = 0,05. (Recordemos que 0,05 se corresponde con un nivel de confianza del 95%).
B) Basados en medias y desviaciones: Dejar de operar el sistema cuando la curva de beneficios desciende por debajo de su media móvil de "x" operaciones. El parámetro "x" puede utilizarse como modulador del perfil de aversión al riesgo de cada inversor. El uso de medias de escasa amplitud puede generar distorsiones debido a la granularidad o tamaño medio de las operaciones positivas y negativas. Esto todavía será más problemático cuando existe alguna dependencia positiva / negativa en la secuencia de operaciones.
En el ejemplo superior tenemos una media móvil de 100 operaciones aplicada a la curva de beneficios. Si decidiésemos utilizarla como criterio para detener la operativa acabaríamos obteniendo resultados perores (14.950 versus 17.900€ ) a los del sistema original por el motivo que ya hemos comentado. Con esto quiero advertir que la elección del valor de la media no es una cuestión trivial, y, como todo lo que se aplica en operativa con sistemas, debe ser evaluado cuidadosamente antes de usarlo.
La segunda alternativa, propuesta por Kestner y otros autores, consiste en detener la operativa de un sistema cuando su curva de beneficios se sale de un canal preestablecido. Las bandas de error superiores e inferiores de este canal suelen establecerse en "x" desviaciones (normalmente una o dos) por encima y por debajo de la regresión lineal.
Como podrán imaginar el número "x" de desviaciones también puede actuar como factor modulador de la aversión al riesgo. Y aquí también son aplicables las mismas consideraciones y cautelas que en el caso de las medias móviles.
C) De objetivos / tiempos: El tercer criterio toma en consideración determinados intervalos temporales (normalmente meses) y la pérdida máxima asumible para dicho periodo. En este caso, también tenemos un parámetro que modulará el perfil de aversión al riesgo; el porcentaje mensual de caída. En realidad, este tercer criterio actúa como un MMstop alternativo, impidiendo la operativa cuando se ha alcanzado el máximo nivel de pérdidas permitido para un intervalo temporal dado. La tabla inferior muestra el resultado de aplicar mensualmente este criterio en retrocesos del 5%
La primera fila de la tabla muestra el DD. máximo alcanzado por el sistema cada mes; la segunda, el resultado de la operativa aplicando el criterio de parar cuando las pérdidas mensuales sean superiores al 5% y proseguir el día siguiente a la recuperación de dicho nivel. La tercera fila muestra el resultado del sistema sin aplicar dicho criterio. Como pueden ver, en dos casos (abril y agosto) el criterio establecido ha conseguido frenar pérdidas mensuales mucho más abultadas. Pero, en otros dos (febrero y junio) el sistema consiguió superar el DD mensual obteniendo mejores resultados que con la aplicación del criterio de parada.
¿Motivo? La granularidad de las operaciones. Supongamos, por simplificar, un BMD (beneficio medio diario) del 0,5%, un BMD máximo del 8% y un BMD mínimo del
-5%. ¿Qué ocurre entonces? Bueno, pues que tendremos una distribución de probabilidades del tipo:
-5% (p = 0,01), -4% (p = 0,09) ... 3% (p = 0,08), 8% (p = 0,02)
Y, en consecuencia, podemos esperar días, en los que una brusca recuperación posterior al DD. nos impida recoger esos beneficios.
En las siguientes líneas describiré el criterio de parada y de rotación de sistemas que vengo utilizando de manera experimental y desde hace algún tiempo en mi propia operativa. Implica tener un número suficiente de sistemas distribuidos en dos grupos: Portfolio operativo y portfolio de acompañamiento. Ambos están funcionando siempre en tiempo real. Los primeros, están agrupados en las carteras que utilizo para mi uso personal y para enviar señales a Collective2; por tanto son los "jugadores" que están cada día sobre el terreno de juego. Los del segundo grupo, por el contrario, están funcionando en operativa simulada (lo que yo he llamado otras veces "modo cuarentena") Son -si seguimos la metáfora futbolística- los jugadores que están en el banquillo esperando su oportunidad para saltar al campo. Aunque siempre trabajo sobre una base intradiaria, estos sistemas en reserva pueden ser de diseño distinto (diferentes reglas) o versiones modificadas de los primeros (distintos parámetros, rangos horarios, filtros de entrada, etc.)
Mi criterio de parada es muy simple: Una vez que tengo suficiente histórico real o simulado en TR (¡Ojo!, jamás backtest), aplico los sistemas sobre un gráfico uniforme de 150 a 200 sesiones (dependiendo de su cadencia operativa). Y obtengo en mi plataforma (actualmente Ninja Trader) gráficos del equity curve como estos:
En esta imagen he montado gráficos de beneficio de cuatro mercados y he coloreado en dos de ellos el punto de corte de la curva con la línea central, que indica el beneficio medio en el período de 200 sesiones. Luego, siguiendo mi criterio, los sistemas de dos mercados (6B y ZB) habrían desaparecido de la cartera en fechas distintas para ser reemplazados -si procede- por otros dos sistemas del portfolio de acompañamiento. Que proceda o no, dependerá de otros factores: Por ejemplo, del capital de faena en ese momento, o de la disponibilidad de sistemas viables de reemplazo. Hay veces que nos tocará jugar el partido con la plantilla al completo y otras con algún jugador menos.
¿Qué ocurre con los sistemas salientes? Lógicamente no los destruyo, vuelven a ser reevaluados; reglas, parámetros, franjas horarias, etc. Hecho esto, regresan al "banquillo", y a esperar nuevamente su turno.
Pero como bien apunta un buen amigo, el mecanismo de parada y rotación descrito deja varias cosas sin aclarar que requieren una investigación más detallada:
- Este criterio simple es una respuesta desde la lógica de los sistemas, pero no desde la lógica del mercado. Cuando cambia la configuración del mercado y pasamos, por ejemplo, de una marcoépoca a otra muy diferente ¿Conviene utilizar un criterio adaptativo que nos permita decidir qué tipo de sistema será viable en esta nueva situación? Consideren que estamos hablando de parada y de rotación: Por tanto, una cosa es con qué criterio detengo la operativa y otra bien distinta con qué criterio reemplazo los sistemas.
- También falta establecer un protocolo de simulación que nos permita probar -en el nivel de cartera y durante largos períodos de tiempo- la viabilidad del modelo de parada y rotación. Como podrán imaginar, se trata de una tarea enormemente compleja ya que algunos de los pasos y decisiones implicadas no son automatizables.
En fin, dejamos estas consideraciones abiertas al debate y a un abordamiento más completo en posteriores artículos.
Resumiendo: Disponer de una metodología propia -adaptada a las necesidades de cada trader- que nos permita determinar cuándo detener los sistemas y sustituirlos por otros, en el contexto de una gestión óptima de las estrategias y recursos de que disponemos, constituye, a mi juicio, un elemento fundamental de la operativa sistemática.
Andrés A. García.
© Tradingsys.org, 2010.
A partir de ahora, y atendiendo las peticiones de algunos usuarios, todos los artículos que se publiquen en esta web podrán descargarse íntegros en formato PDF, para facilitar su lectura e impresión.