Fundamentals of Algorithmic Trading
We have designed Fundamentals of Algorithmic Trading to get you from novice programmer to skilled trading systems researcher in as little as 11 weeks . Even if you've never coded before. A fundamental prerequisite of algorithmic trading success is the ability to put your trading ideas into computer code and design scientifically robust, statistically sound experiments to test them. That means that if you can't already, you are going to have to learn to code, and you're going to need an accurate simulation (backtesting) tool. You'll also need to learn the basics of robust experimentation. In Fundamentals of Algorithmic Trading, you'll learn the essentials of programming via the Lite-C scripting language as well as the foundations of scientifically robust experimentation and design. By the end of the course, you'll be able to code trading ideas based on technical analysis, price action, seasonal volatility and multiple time frames. We'll even introduce some quant-style techniques like digital signal processing and machine learning. You'll get loads of coded examples, including ten fully coded strategies to get you started. But more importantly than putting such ideas into code, you'll learn how to optimize and test them in a scientifically robust manner, which is crucial if your strategy is to perform in live trading as it did in simulation. If you're a new coder, the progress you'll make in the 11 weeks of this course will probably blow your mind (at least that's what our past students tell us). But this course really does just provide the foundations for algorithmic trading success - there is whole wide world to explore once you've got the fundamentals under control (don't worry, we've got you covered there too).
Module 1 Introduction  
Background reading and an overview of what you're in store for.
Unit 1 Welcome to Fundamentals of Algorithmic Trading Module 1: Introduction
Unit 2 Welcome Aboard!
Unit 3 Why Algorithmic Trading?
Unit 4 What this Course Is Not
Unit 5 What Can You Expect from This Course?
Module 2 Introduction to Algorithmic Trading Tools  
This module gets you up and running with the Lite-C scripting language and the Zorro trading automation platform, both the syntax of the language and practicalities such as connecting to a broker, downloading historical data and simulating certain trading conditions. Lite-C is simple yet extremely powerful and flexible. Even complete beginners can learn to code in Lite-C relatively quickly. Zorro is a backtesting and trade execution platform that was specifically designed with accuracy, simplicity and robust design in mind. A student of ours who comes from an MQL background says that developing with Zorro is like a breath of fresh air in comparison. If there is a simpler way to get started with coding, I have not seen it.
Unit 1 Welcome to Fundamentals of Algorithmic Trading Module 2: Introduction to Algorithmic Trading Tools
Unit 2 Introduction To My Programming Tools Of Choice
Unit 3 A Simple Trading Strategy Put To The Test
Unit 4 Introduction to Lite-C
Unit 5 Digression - Digital Filters
Unit 6 Variables and Constants
Unit 7 Variable Types
Unit 8 Arrays
Unit 9 Pointers
Unit 10 Strings
Unit 11 Structs
Unit 12 Commenting Your Code
Unit 13 Operators
Unit 14 Expressions
Unit 15 Comparisons
Unit 16 Statements
Unit 17 Statement Blocks
Unit 18 Functions
Unit 19 Global, Local And Static Variables
Unit 20 Static Variables - A Common Application
Unit 21 Using The Manual For General Function Syntax
Unit 22 Series
Unit 23 Frequently Used Keywords and Commands
Unit 24 Script Flow Control
Unit 25 Debugging
Unit 26 Header Files
Unit 27 Lite-C For Trading Systems Development
Module 3 Developing Trading Algorithms  
This module focuses on robust strategy development. It takes what was learned in the previous module and applies it to a practical workflow for strategy development. In particular, you will learn how easy it is to abuse the incredible power of the tools we use and how to harness it sensibly to build robust strategies. While the previous module shows you how to use the tools of the trade, this one shows you how to use them properly.
Unit 1 Welcome To Fundamentals of Algorithmic Trading Module 3: Developing Trading Algorithms
Unit 2 Should This System Be Automated? An Introduction To Robust Development
Unit 3 Back-Test Theory, Biases and Measuring Performance
Unit 4 Simulation Accuracy
Unit 5 Development Methodology And Biases
Unit 6 Documentation And Record Keeping
Unit 7 Robust Optimization Part 1 - Setting Up And Looking Under The Hood
Unit 8 Controlling Trade Entries and Exits
Unit 9 Trade Entry Functions
Unit 10 Trade Entry Parameters
Unit 11 Example Usage Of Trade Entry Functions and Parameters
Unit 12 Trade Entry Helper Functions
Unit 13 Robust Development Part Two: An Optimization Work-Flow
Unit 14 Development Step 1: System Description
Unit 15 Development Step 2: Validation Data Set
Unit 16 Development Step 3: Strategy Framework
Unit 17 Development Step 4: Initial Parameter Investigations
Unit 18 Development Step 5: Optimize Exits
Unit 19 Development Step 6: Optimize Entry And Exits Together
Unit 20 Development Step 7: Feedback
Unit 21 Development Step 8: Out Of Sample Testing
Unit 22 Development Step 9: Walk Forward Analysis
Module 4 Understanding Automated Trading Strategies  
This module consists of 10 example strategies with explanatory notes to illustrate the practicalities of using Lite-C for research and development. The strategies are examples only and we don’t recommend trading them. However, they provide practical insight into how a strategy is put together algorithmically. They might even provide you with inspiration or a starting point for your own strategies. The example strategies include indicator-based and price-action systems, mean-reversion and trend following systems, breakout strategies, a system that takes signals from multiple time frames, one that uses digital signal processing algorithms, and one based on a machine learning algorithm.
Unit 1 Welcome to Fundamentals of Algorithmic Trading Module 4: Understanding Automated Trading Strategies
Unit 2 Introduction
Unit 3 Strategy 1: MAX
Unit 4 Strategy 2: A Classic Breakout
Unit 5 Strategy 3: Classic Mean Reversion
Unit 6 Strategy 4: Price Action 1
Unit 7 Strategy 5: Price Action 2
Unit 8 Strategy 6: The London Breakout
Unit 9 Strategy 7: The Alligator
Unit 10 Strategy 8: Multiple Time Frames
Unit 11 Strategy 9: Digital Filters
Unit 12 Strategy 10: Artificial Intelligence
Module 5 Conclusions  
Wrapping up!
Unit 1 Welcome to Fundamentals of Algorithmic Trading Module 5: Conclusions
Unit 2 Concluding Remarks
Unit 3 Final Word