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.
There are no units in this module.
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.
There are no units in this module.
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.
There are no units in this module.
Module 7 Advanced Functionality For Trading With Zorro
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.
There are no units in this module.
Module 8 Advanced Statistical and Analytical Tools in Zorro
This Module is a how-to guide on using Zorro's advanced research tools to get the most out of your development process. The Module includes examples of hacking Zorro's optimization engine, exporting simulation results for further analysis, increasing the statistical significance of simulation results, generating synthetic data, reconciling simulations with real data and returns series analysis using bootstrapping techniques.
There are no units in this module.
Module 9 Advanced Programming Concepts in Zorro
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.
There are no units in this module.
Module 10 Accessing R Functionality from Zorro
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 shows you how to leverage this huge array of tools within the Zorro environment via a series of practical, relevant examples.
There are no units in this module.
Module 11 Conclusion
Summarizing and wrapping up the course, and some advice on where to go from here.
There are no units in this module.