A year in the making, my third book is now complete. Trading Evolved is quite different from my previous books, and substantially more information packed. This book is a practical, in-depth guide on how to backtest and analyze strategies using powerful Python techniques. To my knowledge, no such book exist at the moment.
Trading Evolved is a trading book. Not a programming book. This book will teach you programming, but from a trader’s point of view. For understandable reasons, programming books tend to be written from programmers’ point of view and that makes them seem abstract and complex for people without prior programming skills. Trading Evolved is not that kind of a book.
My aim with this book is to broaden the field. I want to make serious Python based backtesting available to a much broader group. I hope to bring a large number of new traders with diverse backgrounds, skills and experiences into this field.
My first two books, Following the Trend and Stocks on the Move, exposed me to the vast community of retail traders out there. I had countless interactions with impressive traders from all over the world, both through email and at trading conferences. Naturally, the skill level in the hobby community varies quite a lot, but I was often impressed over the insights and abilities of people I spoke to. But one thing seemed far too common. Almost all were severely limited by substandard retail software solutions.
Trading Evolved does not assume any programming knowledge. If you have coded before, that’s great. You’ll pick up the more advanced parts of the book faster. But the books aims to bring everyone along for the ride.
Multiple Trading Models – Multiple Asset Classes
Following the Trend was arguably a research paper of a few hundred pages. As the introduction to that book clearly states, it was a whole book about a single trading strategy which had been well known for decades. Well, I wrote that book after being a bit fed up with the hype and over-promising which is so prevalent in the trading book field. But that’s essentially what it was. I didn’t try to do anything revolutionary with the book. My aim was to take an often misunderstood strategy, in that case trend following, and try to explain it to a new audience. I simply tried to make the concept accessible.
My second book, Stocks on the Move, was spawned from a common question I kept getting. Does trend following work on stocks? My answer was that, well yes, kind of. But not the way it works for futures. It’s a very different situation, and you can’t just apply the same model to a homogeneous market like stocks. So I decided to write a book to explain it properly. But it was still just a whole book about a single trading idea.
Trading Evolved will, among other things, show you multiple models for ETFs, stocks and futures. The book will explain every detail of these models, and not only show the source code but also explain that source code in detail.
The point of this new book is not that you should copy the exact rules and go out and trade. You should never ever do that. No matter who designed the rules. No, the point is that after reading this book, you should be well equipped from a technical and logical point of view to improve and adapt these models, to build your own models, and to properly evaluate them and move your trading to a new level. Welcome to the big leagues.
Inside the Book
Trading Evolved covers a lot. To give you an idea, take a look at the chapter headings below. This book will take you from the basics of trading and Python, step by step on a journey that will lead to advanced equity models, futures trading, setting up your own quant modeling environment, securities databases and more.
I hope the chapter listings below will give you an idea of just how much work has gone into this book, and how much details I intend to show you guys. Keep in mind that every single line of code is shown in the book, and will be available for download on this site.
1ย ย ย ย ย About this Bookย
2ย ย ย ย ย Systematic Trading
3ย ย ย ย ย Developing Trading Models
4ย ย ย ย ย Financial Risk
5ย ย ย ย ย Introduction to Python
6ย ย ย ย ย Bring out the Pandas
7ย ย ย ย ย Backtesting Trading Strategies
8ย ย ย ย ย Analyzing Backtest Resultsย ย
9ย ย ย ย ย Exchange Traded Funds
10ย ย Constructing ETF Models
11ย ย Equities
12ย ย Systematic Momentumย
13ย ย Futures Models
14ย ย Futures Modeling and Backtesting
15ย ย Futures Trend Following
16ย ย Time Return Trend Model
17ย ย Counter Trend Tradingย
18ย ย Trading the Curve
19ย ย Comparing and Combining Modelsย
20ย ย Performance Visualization and Combinationsย
21ย ย You canโt beat all of the Monkeys all of the Time
22ย ย Guest Chapter, Robert Carver: Measuring Relative Performance
23ย ย Importing your Data
24ย ย Data and Databasesย ย
25ย ย Final Words โ Path Forward
Available for Pre-Order for Kindle
Theย Kindle edition of Trading Evolved is available for pre-order nowย and will be delivered on August 18, at the latest. The paperback version will be out in mid to early August as well.
Kindle or Paperback
Trading Evolved will be available in both Kindle and Paperback. So which one should you pick?
This is a big book, at nearly 500 pages and itโs packed with information. I suspect that most people will want to be able to quickly flip back and forth in the book, looking up syntax and information. They probably want to put sticky notes in there, scribble comments and underline. Itโs a book that you will most likely read more than once. Perhaps even read a chapter or two, and then move to a computer to try out your new skills. Those things are clearly easier with a paperback.
I read a lot of books, mostly on my Kindle device. This kind of book however, I would personally prefer to have as a paperback on my desk.
For this reason, I have differentiated the pricing significantly. The paperback will have a premium price tag. This is a unique book, with content not found in any other book, and it is a substantial book with nearly 500 pages packed with practical, in-depth content, which took me a year to write. But I will price the Kindle version at just $9.99, to reflect the fact that I personally see the hardcover as more useful. I will also allow those who bought the paperback version to buy the Kindle in addition for just $2.99, so that you can have both versions.
I hope you will find this a fair proposition.
Release Date
The book, both the big heavy paperback and the Kindle version will be out in mid-August. If you enjoy the book, please write a review for it.
Congrats Andreas. Can’t wait to read this. Norgate Data is also working on a Python plugin, which probably will be released shortly after Aug 18th. I guess it’s not a coincidence ? ๐
Well, it is a coincidence, actually. But great timing.
I have been testing their new API for them and when it’s done, I plan to write about how to use this API for the stuff in the book as well.
Pre-ordered – can’t wait to read it as I can imagine the massive amount of effort to write a book for a year and especially with your knowledge Andreas I’m sure it’s going to be amazing.
As a programmer I didn’t like the books that explain you programming it didn’t give me intuition on how to design a trading strategy code and I think it make much more sense to show the perspective of trading and how to design it to work first.
it is going to be a great book
Very exciting!
Congratulations! I can’t wait to read your new book. I read your other two, and still refer to them over and over. I’ve been developing software longer than I care to admit. I have never coded in Python, but did read a little about it. I have automated most of the trading material I read in Powershell, an a very little in VB.Net and C#, but Powershell is so streamlined and powerful I hardly ever use anything else. This will give me the opportunity to learn a new language and perhaps write a converter from Python to Powershell. Looking forward to reading it. I just pre-ordered it. I can’t wait!!!
Hello Andreas Clenow,
I have read both of your first books. I consider them unique among my large collection of trading and programming books. As I type, I have “Stocks on the Move” in my laptop case. I am planning on writing a stock screener based on the criteria you outline in the book. I am the author of an opensource backtester written in Python called pinkfish:
http://fja05680.github.io/pinkfish/
I’m very much looking forward to your new book, and sure I’ll be able to get much value from it, as I have the others.
Thanks,
Farrell
Hey Andreas really looking forward to this! I loved your other 2 bookds, this one is already pre-ordered ๐
Out of curiosity, what backtesting package do you use in the book? Or is the backtesting done “manually” using Pandas?
Obviously, the language is Python, do you construct the algos using Quantopian/Zipline or another backtester?
Either way, cant wait for this.
Thanks
The book will primarily use Zipline, a local installation of the same framework used by Quantopian. I’m including chapters on how to install it, connect data sources, get futures data working and other points that may get a little tricky to figure out for most.
Hi Andreas,
I am enjoying your book on how to implement backtesting of trading models using Python and associated apps and libraries. As I go through the tutorials in the chapters, I’m looking ahead in the book and elsewhere to identify a source for the data I will use. In particular, as you also place a premium on doing, I’m looking for the most accurate and best stock time series data available at a reasonable cost with respect to the historical raw data as well as factor data to account for dividends, as well as data to account for splits and mergers.
Do you still endorse using QuantQuote for this historical data and updates as you do at the following link for your Following The Trend book?
http://www.followingthetrend.com/clenow-futures-intelligence/
Or do you think that things have changed since 2015/2016 in terms of accessing data that is the most reliable, comprehensive, resonably priced, and easiest to obtain and manipulate in my MySQL database/server. Is Quantopian a better source of data with respect to the above considerations?
Also, if getting data that goes further back in time allows an advantage, how far back in history does it make sense to go without results being meaningless because of the occurrence of historical systematic major changes in market characteristics over time making the data before and after such major changes not qualitatively similar enough to be comparable?
Like if I want 1-minute time scale data going back 10 years, is that, going too far back or not far back enough notwithstanding the effectiveness of any given model I want to test? Does going 10 years back make more sense on a daily time-scale?
Finally, once ive determined an appropriate time scale and how many years worth of data provides enough N of data points in history, how much storage space should I have available on my machine for it?
Thank you in advance.
Regards,
Lee
Congrats Andreas. Canโt wait to read your new book! Absolutely love the first two books.
Andreas are you familiar with Lean engine? I found it and like it more than Zipline. Give it a try ๐
Yes, it’s a good engine. Jared over at QuantConnect has been urging me to replace Zipline with Lean in the book. From all I’ve seen from LEAN, it looks like a great piece of engineering and a strong alternative to Zipline. I have a couple of reasons for sticking to Zipline in the book though.
First, Zipline is pure Python. If I were to use LEAN, I’d have to start with explaining how to install Visual Studio and compile the LEAN engine on your local machine. The installation process for LEAN is quite cumbersome if you don’t have a pretty strong computer background. I wanted to keep things simpler for the book and stick to just Python.
Second, I wanted to use equities models with proper dividend handling and futures models based on individual contracts rather than continuations, and I knew that Zipline could do that.
And third, I already knew Zipline architecture quite well, making it easier for me to write about that.
Perhaps I’ll do an addition to the book later on, or some articles on this site, on how to use LEAN as well.
Hi Andreas,
Great book! For equities backtesting, can you share your thoughts on how to manage trading halts/suspension? The book’s logic is to forward fill missing data. Considering that we review positions monthly, it should be fine for trading halts due to pending announcement as these trading halt typically last a couple of days. For trading suspension (which can last up to a few months), the back tester is being “trick to think” that the volatility of the stock has decreased (as we forward fill last know data) and will indirectly buy more of this stocks. In extreme cases, we may end up with the suspended stocks having being allocated 99% of the portfolio with all other stocks are being sold off. Thanks!