AlgoTrading101 – Full Syllabus Overview

Last updated: 3rd April 2020

AlgoTrading101 consists of 2 main courses:

  • AT101: Algorithmic Trading Immersive Course
  • PT101: Practical Quantitative Trading with Python Masterclass

AT101: Algorithmic Trading Immersive Course

Chapter list (along with learning objectives for each chapter)

Here's What You Are In For!

  • What is an Algo Trading Robot, its key traits and code structure
  • What makes a successful Algo Trader
  • How to set up and navigate your infrastructure/coding software

Programming Basics 1: Variables and Conditional

  • Basics of our coding language (MQL4)
  • Syntax, Variables, Operations and Conditional Expressions

Robot 1: Adeline - Our First Robot!

  • Background to Forex markets, chart reading, basic indicators
  • Coding Adeline together
  • Testing Adeline using past data
  • Brief look at modelling quality

Uncommon Common Sense. Design Effective And Logical Robots

  • Overview of our Strategy Development Guide
    • Preliminary Research
    • Backtesting
    • Optimisation
    • Live Execution
  • Pros and Cons of an Algo Trading Robot
  • Mathematical Expectations of our robots’ performance

Garbage In, Garbage Out. Understanding Data

  • Data Sources and Storage
  • A look at the importance of data cleanliness
  • Cleaning data (basic)
  • Bad ticks, inaccurate testing and market tricksters

Programming Basics 2: Loops

  • Learning how to code loops
  • Practice Exercises for Loops

Robot 2: Belinda - Utilising Volatility!

  • Our first measure of volatility (ATR)
  • Introducing Belinda, the improved version of Adeline
  • Coding and testing Belinda

To Buy Big or Small? Position Sizing and Money Management

  • Understanding trade/bet size (how much to trade per position) using a coin flip game
  • Designing a bet sizing algorithm based on account size
  • Coding our bet sizing algorithm

Robot 2A: Belinda Upgraded (No Gambler's Ruin for Me!)

  • Implementing our bet sizing algorithm in Belinda

Where To Start? Idea Generation and Expectations

  • Setting expectations for our robots based on our resources, personality, skill set, lifestyle and goals
  • Understand the essence of a trading idea – Proxies and Relationships
  • Sources of trading ideas
  • A look at the different types of strategies
  • Grading ideas - Introducing our framework for vetting ideas
  • How to fight against big hedge funds

Programming Basics 3: Functions, Time and Self-Learning

  • Learn to learn programming
  • Code errors and debugging
  • Coding Functions
  • Practice Exercises for Functions

Relevant Statistics 101!

  • Statistical significance and Law of Large numbers and their role in robot testing
  • Deriving suitable minimum sample size for our backtests

Understanding Robot Behaviour and Robustness: Backtesting!

  • Ensuring code accuracy
  • Types of market condition
  • Testing for Robustness
    • Period Robustness
    • Timeframe Robustness
    • Seasonal Robustness
    • Instrument Robustness
  • Testing our robots through intended and unintended periods
  • Stress testing our robots through black swans
  • The butterfly Effect – Backtest bias via start point selection
  • Grading the performance of our robots

Programming Basics 4: Arrays And Indicators

  • A look at our mentality towards Indicators
  • Math behind Indicators
  • Coding Arrays and Indicators

Robot 3: Clarissa – Playing with Time

  • Understanding the Datetime data type
  • Coding rules revolving date and time manipulation
  • Introducing and coding Clarissa – our robot that uses time entries

What A Mess - Managing Trades, Orders and Positions

  • Order limitations by your brokers
  • Coding our customised order function
  • Multiple order management
  • Modelling transaction cost, spreads and slippage

Robot 4: Desiree – Trade like the Turtles

  • The history of the Turtle Traders
  • Introducing and coding a simplified turtle strategy

Design Theories I - Improving Robots By Manipulating Time, Entries and Exits

  • Profitability in different timeframes
  • Deriving optimal stop loss levels
  • Comparing the importance of entries vs exits
  • Analysing asymmetrical long and short rules

Add A Twist To Your Orders - Advanced Order Management

  • Breakeven and trailing stops
  • Hiding from your broker - Creating virtual stops and take profit orders

Robot 5: Desiree 2.0

Buff Up Your Robot Responsibly - Optimisation Without Curve Fitting

  • Objective Functions, Robustness and Curve Fitting
  • 10 Ways to minimise curve fitting (overfitting)
  • Degrees of Freedom
  • Parameter Robustness
  • In and out-of-sample testing
  • Optimisation Evaluation

Perfect Your Bet Sizing - Advanced Position Sizing Methods

  • Relationship between sizing and trading frequency
  • Gearing up and down with volatility
  • Impossible Trinity of Sizing - Relationship between Leverage, % Risked and Stop Loss
  • First Principles of sizing - Building customised sizing algorithms
  • Other types of sizing - Kelly Criterion, Martingales and Anti-Martingales

Robot 6: Elizabeth

Programming Basics 5: Clean Up Your Codes! Simple Is Fast!

  • Clean and robust coding
  • MT4 Global Variables
  • MQL4 Libraries

Garbage In, Garbage Out Again. Advanced Data Cleaning (Part 1)

  • Creating custom timeframes
  • Clean data, biased output

Excel VBA – Using Excel Magic to Improve our Trading

  • Excel trading game
  • Syntax
  • Conditional statements
  • Loops

Garbage In, Garbage Out Again. Advanced Data Cleaning (Part 2)

  • Data time zone manipulation
  • Defining “clean enough” data
  • Scanning for errors
  • Advanced data cleaning methodologies

I Like Colors And Shapes - Adding Graphics

  • Creating a Dashboard: Graphics and Labels
  • Creating trendlines and levels

Ring Ring! Notify Yourself When Something Goes Wrong (Or Right)

  • Coding smartphone notifications
  • Notify yourself during trade or price events

Robot 7: Faye – Semi-Automated Trading

Connect with the outside world - Importing and Exporting Data out of our Trading Platform

  • Read and write information to Excel
  • Build a spread logger

Programming Basics 6: Trading Platform Nuances

  • Perfecting the little coding details
  • Understanding trading and backtesting nuances

Design Theories II - The "Secret Sauce"

  • Prudence-Behavioural Framework
  • Alpha 1: Data
  • Alpha 2: Global Macro
  • Alpha 3: High-Frequency Trading
  • Alpha 4: Market Microstructure
  • Hybrid Model – Semi-Algorithmic Trading
  • 5 Realities of Algorithmic Trading
  • Crowd Behaviour – Outwitting the Masses

Walking Forward - Advanced Optimisation

  • Walk Forward Optimisation
  • Performance patterns, consistency and seasonality
  • 3D Parameter space evaluation

Trading CFDs

Looking Outwards - Trading On External Info and Non-Price Data

  • Trading using volume
  • Feeding external data into MT4
  • Trade on external events

Robot 8: Gwen

Cash Is King! - Running Robots With Real Money

  • Paper versus Live trading
  • Minimum Capital Determination
  • Broker Selection
  • Virtual Private Servers
  • Downtime Prevention Protocol
  • Hedging issues
  • Strategy Monitor - Updating our robots regularly
  • Live walk-forward optimisation
  • Investor Marketplace

Watch Her Well - Monitoring Your Robot(s)

  • Operational Risk Management
  • Monitoring our robots
  • When to manually intervene
  • Reviewing performance
  • Understanding Trading Psychology - Emotions during drawdowns

PT101: Practical Quantitative Trading with Python Masterclass (In Progress)

Practical Strategies for Modern Markets

Basic Python and Test Strategies

  • Just enough Python to get you started (we will learn more advanced Python techniques in the later part of the course)
  • Designing a simple pair trading test strategy to whet your appetite and give you an rough sense of what to expect

Cointegration (Mean reversion: When A and B moves apart, we bet they will revert) (WE ARE HERE NOW)

  • (Concept) Synthetic assets (ranging assets that are made by combining different assets)
  • (Strategy) Bond futures calendar spreads and structures (creating ranging assets using bond futures)
  • (Strategy) Market making using a proxy asset (entering and exit trades at the bid and ask prices)
  • (Strategy) Statistical Arbitrage. Trading hundreds of stocks in a mean reversion manner.

Sentiment Analysis and Web API (Collect data from websites via special "links")

  • (Concept) Use Web API to collect data (eg. Google trends to analyse search traffic)
  • (Strategy) Scour tons of stocks to see which stocks have sudden increase in search traffic volume

Alternative Data (Non-price data like Credit card, Location data etc)

  • (Strategy) Use paid alternative data from vendors to analyse stocks
  • (Strategy) Create your own special index by combining different alternative data (eg. combine retail receipts + foot traffic + search traffic to create a special index to predict retail stock prices. Live eg: MongoDB tracker, Crypto Tracker)
  • (Strategy) Creatively find data on websites and scrape them to predict market moves

Correlation (If A moves, trade B)

  • (Concept) Understand the statistical methods to test correlations
  • (Strategy) Use Google search data, job listings and other scrapped data to predict stock and spread movements
  • (Strategy) Use synthetic assets to predict other synthetic assets

Sentiment and Text analysis (Machine Learning)

  • (Concept) Evaluate the sentiment of a particular phrase, sentence, paragraph or article
  • (Strategy) Analyse tons of news articles in different language to find out the market sentiment towards an asset

Imagery detection/analysis (Machine Learning)

  • (Concept) Count the number of cars in a Walmart parking space using satellite images
  • (Concept) Measure the foot traffic around restaurants using satellite images

The full chapter list for PT101 is not finalised yet. We will update this syllabus when it is. Note that the first part of the PT101 course is launched and we are adding content monthly.

Note: The listed content of AT101 and PT101 may be subject to change – we are constantly adding new content.