Inspirado en la tabla del Blog de Pablom sobre las variaciones mensuales del Ibex35 año tras año, he decidido aplicar el mismo principio y buscar la existencia de estacionalidades en Euro y la Libra contra el dólar americano. Así mismo, utilizaré el post para exponer grosso modo cómo voy construyendo mis sistemas, paso a paso, desde lo mas simple a lo mas complicado.
Primero es necesario tener una idea, la cual no necesariamente tiene que ser maravillosa o única. Para este post mi idea surgió al ver la tabla de Pablom y asociarla con Forex y sus estacionalidades en los días festivos. Una vez teniendo la idea debemos buscar los datos históricos para conocer el comportamiento y poder comenzar a establecer los lineamientos de la operativa y los parámetros óptimos que descarten el ruido.
Aunque hacer una tabla es mas tardado que simplemente graficar y buscar tendencias, muchas veces los patrones no son tan evidentes en las gráficas como se puede ver en la siguiente:
Después de analizar una muestra de 10 años, los resultados han sido los esperados. Sí existen ciertos patrones que se repiten casi todos los años y también existen las excepciones como usualmente sucede en estos casos. El problema no ha sido hacer el laborioso data-mining, sino establecer las condiciones y rangos adecuados para que la estacionalidad sea lo mas certera posible.
Para el caso del Euro obtuve 3 meses en los cuales se pueden realizar operaciones estacionales. Para la Libra fueron 5 y en ningún mes coincidió con el Euro, lo cual es bastante curioso porque ambas divisas guardan una estrecha correlación. Tal vez esta divergencia estacional pudiera ser analizada a mas profundidad y sacar provecho de ella haciendo Stat Arb con este par de divisas.
Las condiciones iniciales que utilicé para dar por válido un patrón estacional fueron las siguientes:
- Que la suma total, año tras año, del mes de la muestra sea favorable ya sea para ir Corto o Largo. Si el resultado es negativo indicaría que la posición a tomar es Corta, en el caso contrario iría Largo.
- Que el porcentaje de aciertos total (rojos=ir corto;azules=ir largo) fuese mayor al 55%.
- Que la suma total, año tras año, sea mayor al 5%.
Las siguientes tablas muestran cuales fueron los meses que pasaron el primer filtro:
Con ésto reduje en dos tercios los patrones a analizar, y después de hacer una revisión mas a detalle de cada uno, decidí desechar todos aquellos con rendimientos totales menores a |10%|, porque comprobé que las ganancias no se podían optimizar en estos casos. Para este segundo filtro analicé si hubiese sido mejor cerrar la operación en algún momento del mes en donde el precio hubiera tocado máximos o mínimos y así maximizar las ganancias o minimizar las pérdidas de los meses donde el patrón estacional falla. ¿Cómo hice esto? Con simples medias móviles parecidas a las del post sobre Stat Arb. La diferencia es que utilicé varias MMs compuestas de distintos parámetros como el precio de apertura y cierre, apertura con Low/High, promedio de DrawDowns, ganancia/pérdida promedio, varianza de P&L, promedio de máximos y mínimos, etc.
Al final de todo este enredo, las únicas estacionalidades supervivientes fueron la de Enero para el EURUSD, y las de abril y agosto para GBPUSD. Muchos dirán que hubiese sido mas fácil y rápido descartar desde un principio todos los meses con Totales menores a |10%|. La respuesta es: tal vez sí, pero pudo haber sido el caso en que dicho porcentaje no coincidiera con todas mis MMs y entonces hubiese descartado patrones muy viables y capaces de mejorar los resultados. A veces el camino simple y mas corto, puede hacednos perder de vista detalles importantes, y en las inversiones esos pequeños detalles cuentan mucho y cuestan dinero.
Hasta aquí he llegado con este posible futuro sistema. Entre las cosas sencillas que faltarían sería calcular la volatilidad y DD del conjunto de estacionalidades y no de manera aislada como hice con las MMs. Incluso podríamos combinar otros indicadores como el EVZ o hacer backtesting aplicando position-sizing y Money Management para ver en qué momentos conviene al riesgo de nuestra cartera aumentar la apuesta y en cuáles mantenerla o reducirla.
También sería apropiado analizar el establecimiento de stop-loss y/o take profit, ya que como mencioné, es posible maximizar/minimizar las ganancias/pérdidas estableciendo ciertos rangos.
Ya he mencionado en otros posts que los sistemas de trading se pueden ir mejorando y optimizando al sumar métodos mas complicados (Bayes, Markov, Montecarlo, etc), pero creo que con los simples pasos adicionales que he mencionado en los dos párrafos anteriores (y que son tarea para el lector), el sistema quedaría bastante bien y rentable.