AlgoTrading101 consists of 2 main courses:
- AT101: Algorithmic Trading Immersive Course
- PT101: Practical Quantitative Trading with Python Masterclass
AT101 focuses on the fundamentals of trading strategy design, testing and execution.
PT101 focuses on modern and more advanced strategies such as:
- Obscure markets like Canadian bond STIR futures
- Multi-asset strategies
- Alternative data
- Web scraping
- Machine learning
AT101: Algorithmic Trading Immersive Course
Chapter list (along with learning objectives for each chapter)
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
- Overview of our Strategy Development Guide
- 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 Alternative 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, we are still adding content)
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
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.