A few weeks back, we posted our manifesto, and pounded our chests about the need for openness in finance. Today, I’m writing to announce that we are walking the walk: we have open-sourced our backtesting engine Zipline. The frontman of our Zipline band, Thomas Wiecki, demoed Zipline to a full house at PyData NYC. In case you missed it, here he is knocking ‘em dead. (If you missed PyData, you should go next year!)
The response has been inspiring. In just a week, we have over 40 followers, forks, and a bugfix delivered by the community. More than that, there is genuine enthusiasm for an open-source backtester. You can feel the excitement people have when they connect with other quant developers, and they share our aspiration to create a standard approach to historical simulation.
Before we released Zipline, the whole Quantopian team got together to decide if we were ready. It is one thing to have your audience experience the shiny outside of your application, and quite another to let them see its guts. With the help of Yoav Shapira, we planned our release of Zipline with the same care that went into our website launch. As we sprinted to ready our PyPI package, clean up our repo, and prepare the documentation, we all had the same pit in our stomachs: was this work of quality that we were willing to share with the world? So far, it looks like we did it right!
Zipline is young, and we have a lot of work to do to make it into an industry standard. In a lot of ways it is crazy to try to build a backtester. The problem of simulating transactions based on hypothetical orders is impossibly hard. The competition, firms with hundreds of PhD researchers, has poured millions of dollars into their own proprietary backtesters. How can a startup compete? There’s only one way to take on a challenge like that: open source.
Zipline stands on the shoulders of giants; projects like pandas, sklearn, scipy, matplotlib, and statsmodels are all helping to power Zipline. User requests (and this epic presentation) challenged us to make Zipline a "batteries-included" library with "one obvious way" to create algorithms and run backtests. The IPython Notebook blew our minds, and we had to include one in Zipline.
We’re grateful for the work that made Zipline possible. We’re delighted with the exciting start and thankful for the new support we've found. We can’t wait to meet more members of the new community!
We invite you to check out our open source project Zipline on Github.