I'm sure you've noticed the oversaturation of beginner Python tutorials and stats/machine learning references available on the internet.
Few tutorials actually tell you how to apply them to your algorithmic trading strategies in an end-to-end fashion.
There are hundreds of textbooks, research papers, blogs and forum posts on time series analysis, econometrics, machine learning and Bayesian statistics.
Nearly all of them concentrate on the theory.
What about practical implementation? How do you use that method for your strategy? How do you actually program up that formula in software?
I've written Advanced Algorithmic Trading to solve these problems.
It provides real world application of time series analysis, statistical machine learning and Bayesian statistics, to directly produce profitable trading strategies with freely available open source software.
If you've read my previous book, Successful Algorithmic Trading, you will have had a chance to learn some basic Python skills and apply them to simple trading strategies.
However, you've grown beyond simple strategies and want to start improving your profitability and introducing some robust, professional risk management techniques to your portfolio.
In Advanced Algorithmic Trading we take a detailed look at some of the most popular quant finance libraries for both Python and R, including pandas, scikit-learn, statsmodels, QSTrader, timeseries, rugarch and forecast among many others.
We will use these libraries to look at a wealth of methods in the fields of Bayesian statistics, time series analysis and machine learning, using these methods directly in trading strategy research.
We apply these tools in an end-to-end backtesting and risk management scenario, using both R and the QSTrader libraries, allowing you to easily "slot them in" to your current trading infrastructure.
You may have spent a lot of money purchasing some sophisticated backtesting tools in the past and ultimately found them hard to use and not relevant to your style of quant trading.
Advanced Algorithmic Trading makes use of completely free open source software, including Python and R libraries, that have knowledgeable, welcoming communities behind them.
More importantly, we apply these libraries directly to real world quant trading problems such as alpha generation and portfolio risk management.
While machine learning, time series analysis and Bayesian statistics are quantitative topics, they also contain a wealth of intuitive methods, many of which can be explained without recourse to advanced mathematics.
In Advanced Algorithmic Trading we've provided not only the theory to help you understand what you're implementing (and improve upon it yourself!), but also detailed step-by-step coding tutorials that take the equations and directly apply them to real strategies.
Thus if you're much more comfortable coding than with mathematics, you can easily follow the snippets and start working to improve your strategy profitability.
You'll receive a complete beginner's guide to time series analysis, including asset returns characteristics, serial correlation, the white noise and random walk models.
I'll provide a thorough discussion of Autoregressive Moving Average (ARMA) and Autoregressive Conditional Heteroskedastic (ARCH) models using the R statistical environment.
We will continue the discussion on cointegrated time series from Successful Algorithmic Trading and consider the Johansen test, applying it to ETF strategies.
You'll find an in-depth discussion on how the Kalman Filter can be used to create dynamic hedging ratios between pairs of ETF assets, using freely-available Python tools.
You'll get an introduction to Hidden Markov Models and how they can be applied to financial data for the purposes of regime detection.
We'll discover exactly what "statistical machine learning" is, including supervised and unsupervised learning, and how they can help us produce profitable systematic trading strategies.
We will initially use the familiar technique of linear regression, in both a Bayesian and classical sense, as a means of teaching more advanced machine learning concepts.
I'll talk about one of the most important concepts in machine learning, namely the bias-variance trade-off and how we can minimise its effects using cross-validation.
I'll discuss one of the most versatile ML model familes, namely the Decision Tree, Random Forest and Boosted Tree models, and how we can apply them to predict asset returns.
We'll discuss the family of Support Vector Classifiers, including the Support Vector Machine, and how we can apply it to financial data series.
I'll explain how you can apply unsupervised learning techniques such as K-Means Clustering to financial OHLCV bar data in order to cluster "candles" into regimes.
We'll discuss how to apply machine learning methods to a large natural language document corpus and predict categories on unseen test data, as a precursor to sentiment-based models.
I'll provide a full introduction to Bayesian probability models, including a detailed look at inference, which forms the basis for more complex models throughout the book.
You'll learn about MCMC, in particular the Metropolis-Hastings algorithm, which is one of the main techniques for sampling in Bayesian statistics, using the PyMC3 software.
We'll look at stochastic volatility models under a Bayesian framework, using these to identify periods of large market volatility for risk management.
You will be introduced to R, which is one of the most widely used research environments in quantitative hedge funds and asset managers. We will make use of many libraries including timeseries, rugarch and forecast.
We will use R and Python to estimate our strategy performance over time allowing us to produce strategy decay curves. This will help determine whether a strategy needs to be retired or is still viable and profitable.
We will dig deeper into the advanced features of scikit-learn, Python's ML library, including parameter optimisation, cross-validation, parallelisation, and produce sophisticated predictive models.
How to create efficient vectorised and event-driven backtests for preliminary research, with realistic transaction cost assumptions and position handling, using R and the popular QSTrader library.
We will introduce PyMC3, the flexible Bayesian modelling, or "Probabilistic Programming" toolkit and Markov Chain Monte Carlo sampler to help us carry out effective Bayesian inference on financial time series data.
We will continue our risk management discussion from previous books and look at regime detection and stochastic volatility as a means of determining our current risk level and portfolio allocation.
We will introduce our backtesting framework with long-term monthly-rebalanced ETF portfolios, across multiple financial markets, comparing our results to a benchmark.
We will look at a linear time series technique based on the ARIMA+GARCH model on a range of equity stock indexes and see how the strategy performance changes over time.
We will apply the Bayesian Kalman Filter to cointegrated time series to dynamically estimate the hedging ratio between asset pairs, improving a static estimate of a traditional hedge ratio.
We will use Hidden Markov Models to produce a volatility regime detection model. This will be used to veto orders in a short-term trend following strategy to increase profitability.
We will use numerous machine learning techniques such as Random Forests to forecast asset direction and level by regressing against other transformed features.
We will use sentiment analysis vendor data to generate a sentiment-based trading signal generator, applying it to a set of S&P500 stocks across various market sectors.
We have written over 200 posts on QuantStart.com covering quant trading, quant careers, quant development, data science and machine learning. You can read through the archives to learn more about our trading methodology and strategies.
While we think you will find Advanced Algorithmic Trading very useful in your quantitative trading education, we also believe that if you are not 100% satisfied with the book for any reason you can return it no questions asked for a full refund.
No. At this stage the book is only available in Adobe PDF format, while the code itself is provided as a zip file of fully functional R and Python scripts, if you purchase the "Book + Software" option.
This mostly depends on your budget. The book with full extra source code is the best if you want to dig into the code immediately, but the book itself contains a huge amount of code snippets that will aid your quant trading process.
Of course! If you still have questions after reading this page please get in touch and we will do our best to provide you with a necessary answer. However, please take a look at the articles list, which may also help you.
The majority of the book requires an understanding of calculus, linear algebra and probability. However, many of the methods are intuitive and the code can be followed without recourse to advanced mathematics.