Chapter 1, Algorithmic Trading Fundamentals, explains what algorithmic trading is and how algorithmic trading is related to high frequency or low latency trading. We will discuss the evolution of algorithmic trading, from rule-based to AI. We will look at essential algorithmic trading concepts, asset classes, and instruments. You will learn how to set up your mind for algorithmic decisions.
Chapter 2, Deciphering the Markets with Technical Analysis, covers some popular technical analysis methods and shows how to apply them to the analysis of market data. We will perform basic algorithmic trading using market trends, support, and resistance.
Chapter 3, Predicting the Markets with Basic Machine Learning, reviews and implements a number of simple regression and classification methods and explains the advantages of applying supervised statistical learning methods to trading.
Chapter 4, Classical Trading Strategies Driven by Human Intuition, looks at some basic algorithmic strategies (momentum, trend, mean-reversion), and explains their workings, as well as their advantages and disadvantages.
Chapter 5, Sophisticated Algorithmic Strategies, consolidates the basic algorithmic strategies by looking at more advanced approaches (statistical arbitrage, pair correlation), as well as their advantages and disadvantages.
Chapter 6, Managing Risk in Algorithmic Strategies, explains how to measure and manage risk (market risk, operational risk, and software implementation bugs) in algorithmic strategies.
Chapter 7, Building a Trading System in Python, describes the functional components supporting the trading strategy based on the algorithm created in the preceding chapters. We will be using Python to build a small trading system, and will use the algorithm from the preceding chapters to build a trading system capable of trading.
Chapter 8, Connecting to Trading Exchanges, describes the communication components of a trading system. We will be using the quickfix library in Python to connect the trading system to a real exchange.
Chapter 9, Creating a Backtester in Python, explains how to improve your trading algorithm by running tests with large amounts of data to validate the performance of your trading bot. Once a model is implemented, it is necessary to test whether the trading robot behaves as expected in the trading infrastructure (by checking for implementation-related mistakes).
Chapter 10, Adapting to Market Participants and Conditions, discusses why strategies do not perform as expected when deployed in live trading markets and provides examples of how to address those issues in the strategies themselves or the underlying assumptions. We will also discuss why strategies that are performing well slowly deteriorate in terms of performance and provide some simple examples to explain how to address this.