Successful Algorithmic Trading has been written to teach retail discretionary traders and trading professionals, with basic programming skills, how to create fully automated profitable and robust algorithmic trading systems using the Python programming language. The book describes the nature of an algorithmic trading system, how to obtain and organise financial data, the concept of backtesting and how to implement an execution system. The book is designed to be extremely practical, with liberal examples of Python code throughout the book to demonstrate the principles and practice of algorithmic trading.
Introduction:
Successful Algorithmic Trading has been written for both retail traders and professional quants who have some basic exposure to programming and wish to learn how to apply modern languages and libraries to algorithmic trading. It is designed for those who enjoy self-study and can learn by example. The book is aimed at individuals interested in actual programming and implementation, as I believe that real success in algorithmic trading comes from fully understanding the implementation details. Professional quantitative traders will also find the content useful. Exposure to new libraries and implementation methods may lead to more optimal execution or more accurate backtesting.
Successful Algorithmic Trading is relatively self-contained, but does assume a familiarity with the basics of trading in a discretionary setting. The book does not require an extensive programming background, but basic familiarity with a programming language is assumed. You should be aware of elementary programming concepts such as variable declaration, flow-control (if-else) and looping (for/while). Some of the trading strategies make use of statistical machine learning techniques. In addition, the portfolio/strategy optimisation sections make extensive use of search and optimisation algorithms. While a deep understanding of mathematics is not absolutely necessary, it will make it easy to understand how these algorithms work on a conceptual level. The book is designed to create a set of algorithmic trading strategies from idea to automated execution. The process followed is outlined below:
- Why Algorithmic Trading? – The benefits of using a systematic/algorithmic approach to trading are discussed as opposed to a discretionary methodology. In addition the different approaches taken to algorithmic trading are shown.
- Trading System Development – The process of developing an algorithmic trading system is covered, from hypothesis through to live trading and continual assessment.
- Trading System Design – The actual components forming an algorithmic trading system are covered. In particular, signal generation, risk management, performance measurement, position sizing/leverage, portfolio optimisation and execution.
- Trading System Environment – The installation procedure of all Python software is carried out and historical data is obtained, cleaned and stored in a local database system.
- Time Series Analysis – Various time series methods are used for forecasting, mean-reversion, momentum and volatility identification. These statistical methods later form the basis of trading strategies.
- Optimisation – Optimisation/search algorithms are discussed and examples of how they apply to strategy optimisation are considered.
- Performance Measurement – Implementations for various measures of risk/reward and other performance metrics are described in detail.
- Risk Management – Various sources of risk affecting an algorithmic trading system are outlined and methods for mitigating this risk are provided.
- Trading Strategy Implementation – Examples of trading strategies based off statistical measures and technical indicators are provided, along with details of how to optimise a portfolio of such strategies.
- Execution – Connecting to a brokerage, creating an automated event-based trading infrastructure and monitoring/resilience tools are all discussed.
Contents:
- What Is Algorithmic Trading?
- Successful Backtesting
- Automated Execution
- Sourcing Strategy Ideas
- Software Installation
- Financial Data Storage
- Processing Financial Data
- Statistical Learning
- Time Series Analysis
- Forecasting
- Performance Measurement
- Risk and Money Management
- Event-Driven Trading Engine Implementation
- Trading Strategy Implementation
- Strategy Optimisation
Successful Algorithmic Trading by Michael Halls Moore pdf