This course is currently under development. View the initial release modules below. Other module descriptions are provided as an outline only and are subject to change.

Advanced Algorithmic Trading
Leverage statistical, quantitative and risk management tools used by professionals.
Module 1 Introduction
The introductory module provides an overview of the material presented in the course, how it is structured, what you can expect to get out of it, and what you will need in order to succeed.
Unit 1 Your Guide to Advanced Algorithmic Trading
Module 2 Intra-Trade Management: All About Trade Management Functions
The algorithmic micro-management of individual trades is one of the most useful and frequently used tools in the algo trading arsenal. While it is difficult to set up a framework for trade micro-management in a stand-alone or bespoke simulation environment, Zorro provides exceptionally powerful and efficient functionality for managing trades on a tick-by-tick basis. Learning to use this functionality will be one of the most practical and useful skills you will master in your algorithmic trading journey, and while intra-trade management is certainly not as intellectually attractive and interesting as hunting for alpha-generating signals, it will often make or break a strategy - so it is worth learning and learning well! This Module teaches you the details of how Zorro's framework for trade micro-management works including the programming concepts that are critical for a detailed understanding. The Module also introduces some practical usage of trade micro-management that sets the scene for the detailed examples in the next module.
Unit 1 Intra-Trade Management: All About Trade Management Functions
Unit 2 Introduction to Trade Management Functions
Unit 3 Structs and Their Importance for Trade Management Functions
Unit 4 Structs Built In To Zorro
Unit 5 Getting Practical with Trade Management Functions
Module 3 Practical Examples of Trade Management Functions
Examples, code and descriptions of extremely useful things you can do with trade management functions, from customizing the movement of a stop loss to submitting one-cancel-other and stop-and-reverse orders to storing information about market conditions at trade entry and trade exit for further analysis. This Module provides everything you need for a detailed understanding of how to create your own customized trade management functions and how such functions are used in a practical sense.
Unit 1 Examples of Trade Management Functions
Unit 2 Move Stops Depending on Trade Profit
Unit 3 Move Stops with a Technical Indicator - Using AssetVars
Unit 4 Controlling Script Behavior Using TMFs
Unit 5 Calculating ATR Inside a TMF
Unit 6 Scale into a Position
Unit 7 One-Cancels-Other Orders
Unit 8 Stop-And-Reverse Orders
Unit 9 The price()  Functions inside a TMF
Unit 10 Typecasting Trade-Specific Variables (why printf()  is not working!)
Unit 11 Cycling Through the Trade List
Unit 12 User-Defined Trade-Specific Variables
Module 4 Risk Management 1: Measuring Performance
In order to manage risk and build portfolios effectively, we must first have the tools to measure and describe performance at the trade, strategy and ultimately the portfolio level. This Module takes you on a detailed yet practical journey, teaching you how to analyze performance both quantitatively and critically, ultimately enabling you to make objective, data-driven decisions about risk management and portfolio construction.
Unit 1 Introduction
Unit 2 Introduction to Trade and Returns Analysis
Unit 3 Trade Distribution Analysis
Unit 4 Maximum Adverse and Favourable Excursion
Unit 5 Trade Summary Statistics and Returns Correlation
Unit 6 Trade Statistics By Period
Unit 7 Drawdown Analysis and Random Processes
Unit 8 Risk
Unit 9 Measuring Risk and Reward
Module 5 Risk Management 2: Quantitative Portfolio Management
Portfolio construction in the context of algorithmic trading is ultimately about combining components in an optimal way through selection and capital allocation. "Optimal" is something of a loaded term and can mean different things depending on one's preference for theory over practicality. Theories and assumptions abound in the world of portfolio construction. This Module provides a practical and holistic guide to portfolio construction with a strong emphasis on application in the real world. We investigate a number of approaches to capital allocation with a view to understanding the assumptions that drive them and ultimately how and when to apply them in the real world of trading.
Unit 1 Introduction to Quantitative Portfolio Construction
Unit 2 Loop Functions: Zorro's Shortcut to Building Portfolios
Unit 3 Modern Portfolio Theory
Unit 4 Optimal F and The Kelly Criterion
Unit 5 Performance-Based Allocation
Unit 6 Reinvesting, and Other Capital Allocation Methods
Unit 7 When to Pull Out: A Quantitative Approach
Unit 8 Portoflios - Conclusions
Module 6 Working With Time
Time is a critical factor in many trading algorithms. Markets very often behave differently depending on the time: market open and close, regular news releases, and cyclical volatility aligned with economic forces are all real and potentially powerful drivers of market activity. In the 24-hour world of FX and some futures markets, often day boundaries are arbitrary and trading strategies will perform very differently depending on where that boundary is set. Time is in general an under-appreciated component of trading system research, but learning to use it to your advantage can be enormously beneficial. This Module teaches you how Zorro manages time and how you can incorporate it into your trading algorithms through practical examples and use cases.
Unit 1 Your Reference Framework: Arbitrary or Principled?
Unit 2 The Basics of Working with Time
Unit 3 Multiple Perspectives: Analyzing Data at Different Timeframes
Unit 4 Seasonal Effects
Unit 5 Plotting Seasonality
Unit 6 Correlogram Plots
Unit 7 Exploiting Seasonality
Unit 8 Exploiting Seasonality: Stock Index ETF Monthly Patterns
Unit 9 Exploiting Seasonality: Overnight Effects
Unit 10 Exploiting Seasonality: Non-Farm Payrolls Drift
Unit 11 Conclusions
Module 7 Advanced Analytical Tools for Traders
Zorro incorporates a suite of advanced algorithmic trading tools that originated in fields as diverse as engineering, statistics, information theory and finance. This Module teaches how to use these tools by exploring the theory that underpins them and then applying it in real world examples. It is a how-to guide on using Zorro's advanced research tools to get the most out of your development process and includes examples of using regression, machine learning, and pattern recognition algorithms. We also explore tools for dealing with data mining bias, making your limited data go further, hack Zorro's optimization engine, and more.
Unit 1 Advanced Analytical Tools for Traders: Introduction
Unit 2 Regression 1: An Introduction
Unit 3 Regression 2: Smoothing and Trend Estimation
Unit 4 Regression 3: Polynomial Regression
Unit 5 Regression 4: Beta
Unit 6 Regression 5: Further Considerations
Unit 7 Spearman Rank Correlation
Unit 8 Pattern Recognition with the Frechet Distance
Unit 9 Shannon Entropy
Unit 10 Machine Learning 1: Introduction to Machine Learning in Zorro
Unit 11 Machine Learning 2: A Brief Overview
Unit 12 Machine Learning 3: First Steps with Zorro
Unit 13 Machine Learning 4: Decision Trees
Unit 14 Machine Learning 5: Ensembling Machine Learning Models in Zorro
Unit 15 Machine Learning 6: Perceptrons, The Simplest Neural Networks
Unit 16 Machine Learning 7: Data Mining for Predictive Patterns
Unit 17 The Insidious Threat of Data Mining Bias
Unit 18 Dealing with Data Mining Bias: The Empirical Approach
Unit 19 Dealing with Data Mining Bias using Synthetic Price Data
Unit 20 Dealing with Data Mining Bias using Bootstrapped Backtests
Unit 21 Applications of Digital Signal Processing to Trading
Unit 22 Oversampling for Getting More out of Data
Module 8 Advanced Utilities for Algo Traders
Learn to leverage the power and flexibility of Zorro for performing programming tasks: from incorporating web-based or other external data into your trading algorithms in real time, to building user-interfaces to control how an algorithm trades, to controlling aspects of the windows environment, mastery of these tools makes a huge difference to what you can accomplish with Zorro.
Unit 1 Introduction to Algo Trading Utilities
Unit 2 Introduction to String Manipulation (or Why It Pays to Be a Manipulator of Strings)
Unit 3 String Manipulation Example 1: Reading in a Binary Balance Curve
Unit 4 String Manipulation 2: Exporting Data to a CSV File
Unit 5 String Manipulation 3: Scraping Sentiment Data from the Web
Unit 6 Advanced Script Flow Control
Unit 7 The Command Line: Enabling an Efficient and Productive Workflow
Unit 8 Sending Free Email and SMS from a Trading Algorithm
Unit 9 External Input 1: Sliders
Unit 10 External Input 2: Control Panels
Unit 11 Conclusion: Algo Trading Utilities
Module 9 Quick Start Guide to R: The Language of Statistical Computing
The R statistical computing package is widely used by statisticians and data scientists thanks to its enormous library of classical and specialized statistical, modelling and graphical packages. This Module will get you up and running with R, fast.
Unit 1 Leveraging R: The Free Software for Statistical Computing
Unit 2 The Basics: Installing, Calculating, Commenting and Getting Help
Unit 3 Variable Types, Assignment, and Data Structures
Unit 4 Vectors
Unit 5 Matrices
Unit 6 Factors
Unit 7 DataFrames
Unit 8 Lists
Unit 9 Flow Control
Unit 10 Functions
Unit 11 Vectorization
Unit 12 Basic Plotting in R
Unit 13 Packages
Unit 14 Data Manipulation with dplyr
Unit 15 Managing an R Installation with Installr
Unit 16 Conclusions and My Favourite R References
Module 10 Early Stage Strategy Evaluation: Practical Research in the R Environment
Learn how to use vectorization and parallel processing along with R and it's library of third-party packages to build a workflow for fast, robust early-stage strategy research. The workflow acts as a primary filter, helping you quickly assess and discard trading ideas that are unlikely to succeed, enabling you to focus your research where it is likely to yield performant trading strategies. Further, the workflow identifies the parameters of your trading strategy that are most likely to lead to profitable, stable future performance, and addresses data mining bias at the same time. In this Module, we also provide you with a powerful data pipeline for accessing financial and economic data from a variety of free sources. You can also build your own data library: the pipeline optionally enables you to store your data locally in an efficient binary format that's fast, efficient and easy to load. This is a great Module for independent traders to be familiar with. Most likely, you're time poor and managing a day job, family, study and other commitments along with your trading operation. The real purpose of this Module is to save you time. The tools and techniques in the Module are designed to provide you with fast, meaningful, objective feedback about your trading ideas. If you've not seen this approach before, I think you'll find it a very useful addition to your trading arsenal. 
Unit 1 Introduction
Unit 2 Preliminaries
Unit 3 Getting and Preparing Data
Unit 4 Vectorized Backtesting
Unit 5 Vectorized Backtesting of a Simple Trading Strategy
Unit 6 Performance of a Single Vectorized Backtest
Unit 7 Parameter Permutation
Unit 8 Parameter Selection
Unit 9 Conclusions, Code, and a Warning
Module 11 Extending Zorro with R
This Module shows you how to leverage this huge array of tools within the Zorro environment via a series of practical, relevant examples including pairs trading, factor modeling, time series modeling, and machine learning.
Unit 1 Integrating Zorro and R: Introduction
Unit 2 Configuring Zorro to Communicate with R
Unit 3 The R Bridge Functions
Unit 4 Mean Reversion Trading 1: Stationarity
Unit 5 Mean Reversion Trading 2: Timing of Mean Reversion
Unit 6 Mean Reversion Trading 3: Implementing Mean Reversion Strategies
Unit 7 Practical Pairs Trading
Unit 8 Harnessing External Machine Learning Algorithms in Zorro
Unit 9 Predicting Market Direction with k-Nearest Neighbours
Unit 10 Tips and Tricks for Better Machine Learning
Unit 11 XGBoost and its Application to the Markets
Unit 12 Deep Learning Trading Algorithms
Unit 13 Better Machine Learning with Ensembles