Book Review: Hands-on Financial Trading with Python (2nd Edition)
In recent years, I’ve done a lot of consulting work with companies who are involved in financial trading. Invariably nowadays, they have leaned heavily on using Python. I recently received an early review copy of Hands-on Financial Trading with Python (2nd Edition): Build, backtest, and deploy professional trading strategies using a proven end-to-end framework from my friends at PacktT.
NOTE: This is the second edition of this book. I haven’t previously read the first edition.
Author
Cordell Tanny has been designing and deploying algorithmic trading systems for institutional markets for decades. He is a CFA charterholder, a certified Financial Risk Manager (FRM), and a Financial Data Professional (FDP) charterholder. Cordell is the president of Cordell Tanny Consulting.
Hands-on Financial Trading with Python (2nd Edition)
Most books that I’ve seen about algorithmic trading fall into one of two traps. They either teach you how to manipulate financial data in Python without showing you how to build a complete system, or they present clever trading strategies with suspiciously impressive historical returns.
I liked how different Cordell’s book is. It is less interested in helping you produce an attractive equity curve than in teaching you whether that curve deserves to be believed. That’s exactly the right priority.
The book has a strong end-to-end structure. It doesn’t just jump from one disconnected library demonstration to another. Instead, he builds a quantitative trading workflow from the ground up. We start with Python, pandas and NumPy, move through collecting and cleaning financial data, explore signal processing, evaluate strategies, and eventually put a system on a server.
I also like the way that a volatility tail-hedging strategy involving VIXY reappears across the chapters, giving the book an interesting level of continuity. Most technical books don’t have that. I also particularly appreciate that so much space is devoted to the (not so glamorous) work of data quality before anyone gets excited about trading signals.
The best part of the book is the treatment of backtesting. There is a good discussion of survivorship bias, lookahead bias, overfitting, transaction costs and out-of-sample validation, but these aren’t just definitions to memorize.
In one of his examples, a strategy switching between stocks and bonds looks considerably better because a calculation quietly uses information from the entire dataset. Replace that with information actually available at the time, and suddenly its annualised return falls from 8.84% to 6.40%. Better still, the usual warning metrics don’t necessarily expose the problem. That’s an awesome lesson: a convincing backtest is not the same thing as a correct one.
Cordell is also willing to let sophisticated approaches fail. The machine-learning chapters don’t simply throw a random forest at historical prices and declare victory. That’s what I usually see in books like this. Instead, Cordell asks whether the complexity is justified, and demonstrates a model that identifies market stress but still performs worse than a fixed 85/15 allocation.
I’m not US-based but similarly, the experiment using language models to analyze Federal Reserve statements fails to establish a useful directional trading signal. In a field that’s known for all the extravagant claims about AI-powered trading, that restraint is genuinely valuable. You need to know when not to deploy a model.
The book contains a lot of practical engineering as well. I liked the discussions of reproducible environments, separating configuration from code, protecting secrets, logging failures and scheduling unattended execution. The accompanying code and checklists should make this much more useful than a book you simply read and put on a shelf. It’s intended to be worked through, experimented with and challenged, which suits the subject.
Limitations
AS with many books on complex topics, my main criticism is that the book tries to cover such an enormous amount of territory. You could easily write a book on each of Python fundamentals, statistics, signal processing, portfolio construction, traditional forecasting, machine learning, generative AI and deployment. That means that some sections feel more like guided tours than deep treatments. Readers who are completely new to both Python and finance may also find it a bit tough going, even though the explanations are really accessible. Before reading the book, I think you need a basic familiarity with both.
The subtitle’s promise probably needs a little qualification. The final system runs unattended and sends trading signals through Telegram. That’s a useful and credible outcome. But it doesn’t place trades through a brokerage or provide the resilience, monitoring and operational safeguards I’d expect, at least before entrusting it with significant amounts of capital. Cordell acknowledges those limitations but there’s still a meaningful gap between an automated signal generator and a production trading platform.
Some of the detailed library and hosting instructions will inevitably date pretty quickly as Python packages and services change. With this book, that doesn’t particularly bother me, because the lasting value lies in the disciplined process of testing ideas, challenging results and rejecting strategies that don’t survive scrutiny.
Summary
I wouldn’t recommend this to someone looking for a quick route to trading profits, or to an experienced quant seeking advanced market microstructure or execution engineering. But for developers, data professionals and technically minded investors who want to understand how credible systematic trading research is actually conducted, this is a substantial and worthwhile book. Its most important lesson isn’t how to make a model predict the market. It’s how to avoid fooling yourself into thinking that it can.
8 out of 10
2026-11-02