Great Book / Outdated Code

This is a great book with a lot of interesting examples. I really wanted to use it for my course but the code has so many problems from Quandl not working, to deprecated functions everywhere, to code dependencies that make it impossible to continue when one thing isn’t working. I don’t want to spend all my time debugging these libraries.

I really hope Stefan updates the code for the current libraries. Until then, I’m out.

Agree. The book is so good. I’ve pulled the code into Visual Studio and asked Gemini to help “fix it”. Gets some of it running but can’t fix some data sources that don’t work anymore…

Agreed. Did the same thing about three months ago, was able to get most of it to work, to a point, but most data sources are deprecated, libraries outdated and yes, one thing breaks the downstream and that becomes a chore to debug. I thought there was a third edition coming, that would have less friction in terms of application, but this is a pass for now (for me), you can piece together bits and pieces and adapt the information to suit your needs, but I would rather wait for an updated edition to revive this ambitious undertaking.

Agree. The bundled code is getting harder and harder to get up-and-running and as time passes and references become even more outdated, it is expected to get worse. It is a significant time-consumer and really makes the process of going through the book to be generally unpleasant and cumbersome.

It’s also worth noting that zipline which is being used everywhere has a an arcane API and architecture, which makes supplying custom data to be quite painstaking. It is clear why we need “bundles” in the context of a tutorial (as a one-off thing), but it is unclear why we need to go through them in the age of blazing fast storage and computation, where other frameworks allow users to pass data straight away as inputs, zipline painfully fails and makes things just ridiculously complex to set up for custom data sets.

Furthermore, usage of the zipline built-in APIs to do some of the pre-processing makes the work of reproducing or migrating the code to be mostly guesswork. Even the simple Returns class seems to be the work of higher forms of intelligence, with excessive type mixins and polymorphism that makes the code to be incomprehensible.

It would really be nice if this could be rewritten to use something like vectorbt.