Since the 1990s, private traders can use the Internet to access the financial markets. Several trade platforms offer automated trading functions. But they are mainly designed for manual trading and not well suited for developing and testing algorithmic strategies (see trading platform comparison). Consequently, private traders are normally not succesful with automated trading. Tthose who are don't use trading platforms, but self-written software.
Zorro is a free tool for script-based financial algorithms. It supports research, exploring, developing, testing, and executing automated strategies for trading stocks, forex, options, futures, bonds, ETFs, CFDs, or any other financial instruments. It can run either as a stand-alone system with direct broker connection, or as an attachment to an existing trading platform (such as MT4 by Metaquotes™ or TWS by Interactive Brokers™) that is used for retrieving price quotes and sending commands to the broker.
Zorro attached to MetaTrader4™
Converting a trade idea into an automated trade system, testing and trading it is a lot easier and faster with Zorro than with conventional platforms. Here's a tiny video course about developing a simple daily trade system:
- lite-C, easy script language with C syntax.
- Extremely simple: Strategies require only a few lines of script.
- True machine code compiler for fast backtests:
8 x faster than MQL4, 100 x faster than Python, 400 x faster than R.
- String, file, and vector/matrix function library.
- Event driven: Immediate reaction on price ticks.
- No limits: Full access to the Windows API and external DLLs.
- R bridge: Include R functions in trading, training and backtest.
- Sytax highlighting script editor with command help window.
- Script code can easily be converted from or to other platforms.
- Single step mode for debugging trade strategies.
- lite-C strategy programming course included.
- Traditional: 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.
- Advanced: Arnaud Legoux Moving Average, Automatic Gain Control, Bandpass Filter,
Currency Strength, Beta Value, Butterworth Filter, Decycle, Dominant Period, Dominant Phase,
Fisher Transform, Fisher Inverse, Fractal Dimension,
Gauss Filter, Highpass Filter,
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,
Seasonal, Shannon Gain, Spearman Correlation,
- Predefined patterns: 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.
- Arbitrary user-defined bars: Range, Renko, Point-and-Figure, Haiken Ashi...
- Source code of most indicators included. Easy interface to add own indicators.
Data Mining & Machine Learning
- Curve pattern detection with Fréchet algorithm.
- Curve spectrum analysis with filter bank and Hilbert transformation.
- Correlation and autocorrelation analysis.
- Fuzzy logic for peak / valley, crossover, and pattern detection.
- Algorithm generator with multivarate logistic regression (Perceptron).
- Algorithm generator with pruned decision tree.
- Algorithm generator for price action trading with patterns of up to 20 variables.
- Generated trade algorithms can be exported in C code to other platforms.
- Machine learning framework that uses arbitrary R training and prediction functions.
- Download function for historical prices from various sources.
Historical Data Download
- Download tick or minute historical price data directly from the broker.
- Access historical and live EOD data from Yahoo™ and Quandl™.
- Most US-traded assets available in 1-minute (M1) resolution.
Analysis and Optimizing
- Multi-asset, multi-timeframe, multi-algorithm portfolio analysis.
- High test speed: up to 100 x faster than MetaTrader4™.
- Single-run and stepwise backtests.
- Precise broker simulation considering fees, margin, spread, swap, slippage.
- Out-of-sample testing with several data split methods.
- Anchored and rolling Walk Forward Analysis (WFA).
- Uses multiple CPU cores for parameter training and machine learning.
- Bootstrap / Monte Carlo analysis with randomized price and equity curves.
- Calculation of Sharpe Ratio, AR, CAGR, R2.
- User-defined optimization target.
- Separate parameter optimization for portfolio components.
- Robustness / consistency analysis through oversampling.
- Adjustable time offsets for feed-independent price data.
- Detrending on price, signal, or trade level.
- Sine, square wave, and noise generators for algorithm testing.
- Optimal capital allocation factor calculation with MVO and OptimalF algorithms.
- Seasonal analysis with day, week, month, or year profiles.
- Tick mode for precision, bar mode for speed.
- Automatic price history download and update.
- Balance curve and trade list import/export for performance analysis.
- Minute- and tick-based price data for major currencies and indices included.
- Detailed performance sheet with portfolio analysis.
- Bar, line, dot, or band chart for indicators or user defined functions.
- Statistics charts for price, profit, season, and parameter profiles.
- Profit and MAE distribution charts.
- Line and symbol drawing functions.
- Detailed trade statistics export to spreadsheet programs.
- User-defined data export to .csv data files.
- All asset types (stocks, forex, futures, CFDs, ETFs, options ...)
- Connect thousands of brokers (IB™, FXCM™, Oanda™...), directly or via MT4 bridge.
- Identical software for test and trading guarantees reproducible results.
- Customized strategy control panels with user-defined buttons and entry fields.
- Native portfolio support with multiple assets, algorithms, and time frames.
- Symbol mapping and broker-dependent parameters.
- Download and simulation of futures and options chains.
- Time frames from 100 milliseconds to 1 month.
- Tick-precise trade entry/exit handling with user-supplied execution algorithms.
- Entry limit, stop loss, profit target, profit lock, trailing, timed exit.
- Virtual hedging: Simultaneous long and short virtual positions.
- Full NFA and FIFO compliance for US-based accounts.
- Money management with OptimalF position sizing.
- Realtime trade simulation ('phantom trades') for equity curve trading.
- Realtime parameter adjustment with customizable sliders.
- Realtime parameter optimization without interrupting the trade process.
- Trade entry time adjustable with millisecond resolution.
- Open API interface for easy implementation of any broker API (source code included).
- Open API interface for connection to external signal services.
- Remote control of external programs by sending key strokes and button clicks.
- Command line parameters for starting Zorro from external programs.
- No high-end hardware required; runs on any old PC or cheap notebook.
- Automatic re-login and seamless restart in case of Internet or PC outages.
- Minimum requirements: Win XP / 7 / 8 / 10, 1 GB RAM, Internet access.
- Runs on cloud servers (VPS) with Windows Server 2003 / 2008 / 2012 / 2016.
- Open concept: all file formats and interface structures are documented.
- New functions can be easily added through user plugins.
- Customized trade control panels.
- Customized / relabeled Zorro versions available on request.
- Zorro source code licenses available on request.
Included Z strategies
- Ready-to-run autotrading strategies* included:
- Z1: Trend following system with spectral analysis.
- Z2: Mean reversion system with Fisher transform.
- Z3: Price cluster based trading system.
- Z7: Price pattern based system with machine learning algorithm.
- Z8: Long-term trading system by portfolio optimization.
- Z12: Anticorrelation based trend/countertrend system.
- All algorithms explained in the tutorial or on the Financial Hacker blog.
- Low capital requirement (from $500).
* Financial trading has large potential rewards, but also large potential risk. You must be aware of the risks in order to use this software for automated trading. Check with your broker which risks are involved. Don't invest money you can't afford to lose.
Zorro version 1.58 was released and is available on the download page. This version contains a system for HFT simulation and backtest, and many other new features, improvements, and bugfixes. The complete feature list can be found on the What's New page.
A comparison table of Zorro vs. TradeStation™ vs. Metatrader™ can be found on the FAQ page.
*** As of May 17, 2017, Yahoo abandoned their historical price data API without prior announcement. If your script uses price data from Yahoo (for instance, the Z8 portfolio strategy), please use the workaround posted on Financial Hacker. ***