Quizás crean que les estoy gastando una broma pero no es así. Existe una plataforma de trading algorítmico que se llama Zorro, con la que es posible desarrollar, hacer backtest y ejecutar estrategias usando además métodos matemáticos avanzados de análisis de datos. Entre otras muchas cosas es capaz de entrenar estrategias para lograr una robustez óptima en sus parámetros, hacer walk-forward de las mismas y operarlas contra las plataformas de diferentes brokers. Y para remate, todo esto es… ¡¡¡gratis!!! 

Pero vayamos por partes: ¿quién está detrás de Zorro y cuál es la filosofía del programa?


Los Orígenes de Zorro
La compañía creadora de esta excelente plataforma de trading algorítmico es oP group Germany GmbH, especializada en el desarrollo de algoritmos de simulación para automóviles, videojuegos y mercados financieros, por lo que de entrada podemos decir que saben por dónde se mueven.

Pero lo más interesante aquí es la motivación por la que este programa es gratuito y que hace honor a su nombre: tal y como explican sus desarrolladores, haciendo honor a la identidad secreta de Don Diego de la Vega, Zorro nace con el objetivo de que una poderosa máquina redistribuya la riqueza de los ricos a los pobres mediante el uso de estrategias de trading automático. ¿No les suena muy romántico para los tiempos que corren? :D

Dicho esto, podría pensarse que siendo gratis y con esta filosofía, la plataforma no será muy buena, o tendrá los típicos scripts de medias, con cuatro funciones básicas para analizar sistemas y poco más. Pues bien, ¡nada de eso sino todo lo contrario! A continuación les cuento de manera resumida todo lo que se puede hacer con Zorro, realmente impresionante.



Características de Zorro
Ya les adelanto que no deben dejarse engañar por su aspecto espartano y minimalista porque esta plataforma esconde un potencial fuera de lo común. De entrada lo primero que llama la atención de Zorro es el lenguaje propietario que se utiliza para programar las estrategias denominado lite-C, el cual tiene una sintaxis similar a C y que simplifica notablemente la creación de estrategias siendo solo necesario unas pocas líneas para implementarlas.

Este sencillo lenguaje permite realizar backtests a una elevada velocidad, siendo (según sus autores) 8 veces más rápido que MQL4, 100 veces más rápido que Python y 400 veces más rápido que R. Ah hablando de R: Zorro permite acceder a las funciones de R para optimizar, hacer backtests y ejecutar las estrategias.

Para remate, siendo un poco habilidosos podemos convertir código para TradeStation, MultiCharts, NinjaTrader y Metatrader 4 a lite-C fácilmente tal y como explican en este tutorial: http://www.zorro-trader.com/manual/en/conversion.htm 

No vamos mal por ahora, ¿verdad? Pues atentos a la extensa colección de indicadores incluidos en el programa:

  • Tradicionales: AC, ADO, ADX, ADXR, Alligator, AO, APO, Aroon, AroonOsc, ATR, ATRS, AvgPrice, Bollinger Bands, BBOsc, BOP, CCI, Chikou, CMO, Coral, Chaikin Volatility, Chandelier Stop, Center of Gravity MA, Donchian Channel, DCOsc, DEMA, DPO, DX, EMA, Fractal High/Low, Haiken Ashi, HighestHigh, Hull MA, Ichimoku, IBS, Keltner Channel, Linear Regression, LowestLow, MAMA, MACD, MedPrice, MidPoint, MidPrice, +/-DI, +/-DM, Mom, MA Variable Period, NATR, PPO, ROC, RSI, SAR, SIROC, SMA, SMOM, StdDev, Stochastic, StochRSI, T3, TEMA, Trima, Trix, TrueRange, TSF, TSI, TypPrice, Ultimate Oscillator, Variance, Volatility, WCLPrice, WilliamsR, WMA, Zero-Lag MA, ZigZag.
  • Avanzados: Arnaud Legoux Moving Average, Automatic Gain Control, Bandpass Filter, Currency Strength, Beta Value, Butterworth Filter, Decycle, Dominant Period, Dominant Phase, Ehlers Universal Oscillator, Fisher Transform, Fisher Inverse, Fractal Dimension, Gauss Filter, Highpass Filter, Hilbert Transform, Hurst Exponent, Kaufman Adaptive MA, Laguerre Filter, Lowpass Filter, Median Filter, MESA Adaptive Moving Average, Market Meanness Index, Moment 1..4, Normalize Filter, Pattern Detection, Pearsons Correlation, Polyfit, Polynom, Relative Vigor Index, Roofing Filter, Shannon Gain, Spearman Correlation, Spectral Analysis.
  • Patrones: 2 Crows, 3 Black Crows, 3 Inside, 3 Line Strike, 3 Outside, 3 Stars In South, 3 White Soldiers, Abandoned Baby, Advance Block, Belt Hold, Breakaway, Closing Marubozu, Concealing Baby Swallow, Counter Attack, Dark Cloud Cover, Doji, Doji Star, Dragonfly Doji, Engulfing, Evening Doji Star, Evening Star, Up/Down Gap, Gravestone Doji, Hammer, Hanging Man, Harami, Harami Cross, High Wave, Hikkake, Hikkake Modified, Homing Pigeon, Identical 3 Crows, In Neck, Inverted Hammer, Kicking, Kicking by Length, Ladder Bottom, Long Legged Doji, Long Line, Marubozu, Matching Low, Mat Hold, Morning Doji Star, Morning Star, On Neck, Piercing, Rickshaw Man, Rise/Fall 3 Methods, Separating Lines, Shooting Star, Short Line, Spinning Top, Stalled Pattern, Stick Sandwich, Takuri, Tasuki Gap, Thrusting, Tri-Star, Unique 3 Rivers, Upside Gap, Up/Down Gap 3 Methods.

Para remate, la mayor parte del código de los indicadores es abierto por lo que puede modificarse. Asimismo los indicadores no solo se aplican sobre velas tradicionales sino que Zorro también admite el uso de Range Bars, Renko, Punto y Figura o Heiken Ashi.

Pasemos a la parte de análisis y optimización de sistemas: de entrada ya les adelanto que el concepto de Zorro es multi-activo, multi-timeframe y multi-estrategia. Dicho de otro modo, esta plataforma no se despeina trabajando con portfolios de estrategias.

Asimismo Zorro permite realizar análisis walk-forward tanto con datos fijos como con ventanas móviles. Por supuesto, tiene su módulo de Monte Carlo tanto para realizar simulaciones tanto con las curvas de equity de las estrategias como con las series de precios. También cuenta con generadores de pseudoprecios (en base a ondas de tipo seno y cuadradas, combinadas con ruido) para probar las estrategias creadas. Y por si fuera poco, podemos asignar el capital de forma óptima usando el enfoque de Markowitz (optimización media-varianza) o la F Óptima. 




Pasemos a funciones más avanzadas: Zorro no es ajeno a la revolución del machine learning sobre el que venimos hablando en nuestros últimos artículos e incluye todas estas funciones:

  • Detección de patrones con el algoritmo de Fréchet.
  • Regresión polinómica.
  • Análisis espectral de las series de precios con bancos de filtros y la transformación de Hilbert.
  • Algoritmos para lógica difusa y árboles de decisión.

Asimismo como os adelantaba hace unas cuantas líneas, es posible aprovechar toda la potencia de R usando todos sus paquetes de machine learning.

Cuadremos el círculo: una vez tenemos nuestra estrategia desarrollada y analizada, a la hora de ponerla en funcionamiento podemos ejecutarla en tiempo real contra demos de cualquier bróker que tenga Metatrader 4 así como conectarla a la TWS de Interactive Brokers (demo también), a la fxTrade de Oanda (demo) o a la TradingStation de FXCM (admite real). Si queremos ejecutar estrategias en cuentas reales tendremos que pasarnos a Zorro S, para lo cual deberemos realizar una donación, ya sea monetaria o en forma de código (por ejemplo, contribuir con una estrategia).

La ejecución puede realizarse en cualquier timeframe comprendido entre… ¡100 milisegundos y 1 mes! Dicho de otro modo, podemos trabajar con algoritmos de trading de alta frecuencia, ahí es nada. Y utilizando unos simples sliders podemos ajustar los parámetros de las estrategias en tiempo real e incluso optimizarlos mientras corre la estrategia.

Y todo esto lo podemos ejecutar en cualquier ordenador con Windows XP, Vista, 7, 8, o 10 (también VPS con Windows Server 2003 o superior), que tenga 1 Gb de RAM y conexión a Internet.

Supongo que ahora mismo están ya en shock después de leer todo lo que hace Zorro. Pero es que aún hay más: el programa incluye 6 estrategias aparentemente ganadoras (reconozco que aún no las he probado), con todo su código disponible y listas para funcionar. Dichas estrategias son las siguientes:

  • Z1: Seguimiento de tendencia basado en análisis espectral.
  • Z2: Reversión a la media con la transformada de Fisher.
  • Z3: Estrategia basada en agrupamientos (clusters) de precios.
  • Z7: Sistema basado en patrones de precios con algoritmos de machine learning.
  • Z8: Estrategia de largo plazo con optimización de portfolio.
  • Z12: Sistema de tendencia/contratendencia basado en anticorrelación.

Según sus autores, cada una de ellas puede funcionar con un capital de tan solo 500 dólares. Podéis encontrar más detalles sobre ellas en el siguiente enlace: http://zorro-project.com/manual/en/zsystems.htm


Siguientes Pasos
Sin lugar a dudas, Zorro supone un paso de gigante para todos los traders retail en esto del trading algorítmico por ser prácticamente un todo en uno muy potente con funciones realmente avanzados que hasta hace poco no eran fáciles de encontrar en muchas plataformas.

En próximos artículos, desarrollaré tutoriales explicando cómo crear sistemas y ejecutarlos en tiempo real con nuestro nuevo amigo el Zorro. Mientras tanto pueden descargarlo y probarlo visitando http://www.zorro-trader.com/ 


Saludos,
X-Trader