Zipline-reloaded

The maintained fork of Quantopian's Zipline. Bring your own data — it ships almost none.

by Stefan Jansen

Last updated

From
Free
Licence
Apache-2.0
Self-hosted
Yes
Platforms
Library, CLI

What it is

Zipline is an event-driven backtester for Python. You write initialize and handle_data, it walks the trading calendar bar by bar, fills orders through a slippage and commission model, and hands back a pandas DataFrame. The piece with no close equivalent elsewhere is the Pipeline API: a declarative way to compute a factor across the whole universe on every bar without writing the cross-sectional loop yourself.

Quantopian wrote it, ran a crowd-sourced fund on it, and closed in late 2020 — the original repository's last commit is dated 14 October 2020. Zipline-reloaded is Stefan Jansen's fork, kept alive largely because his book Machine Learning for Algorithmic Trading runs on it.

Pricing

Free, Apache-2.0, nothing to buy. The real cost is data. The package ships Cython extensions, so a pip install needs a compiler where no wheel matches; conda-forge is the route the docs push.

Data & coverage

Exactly two bundles are registered out of the box: quandl, which downloads the Nasdaq Data Link WIKI dataset with a free API key, and csvdir, which reads your own CSVs. The docs state that WIKI was discontinued in early 2018 and no longer updates — so the default bundle is US daily bars that stop eight years ago. Fine for the tutorial, not for research.

Current data is a bundle you build or install. zipline-norgatedata (3.1.2, January 2025) and zipline-polygon-bundle (0.2.4, May 2025) are the third-party ones on PyPI, and each assumes you already pay that vendor. The --trading-calendar flag accepts any exchange_calendars code — XNYS is the default and the help text names XLON — but the data behind it is yours to supply.

Integrations

The same maintainer publishes the rest of the old Quantopian stack: pyfolio-reloaded for tearsheets, alphalens-reloaded for factor analysis, empyrical-reloaded for the risk statistics. zipline run -o writes a pandas pickle; every other format is your own to_csv.

Limitations

  • No live trading and no paper trading. There is no broker adapter in the package at all.
  • Equities and futures are the only asset types the engine knows. No options, ever.
  • Daily or minute bars only — no tick data and no intrabar fill modelling.
  • The hosted documentation lags the code: it still brands itself "Zipline 3.0" and says Python 3.8–3.11, while 3.1.1 requires 3.10 and supports 3.13.
  • Maintenance is one person plus dependabot. Last release July 2025, last commit to main 13 November 2025.

Alternatives

Backtrader ships broker adapters, VectorBT is built for vectorised parameter sweeps, and QuantConnect's LEAN solves the data problem for you at the cost of running on their terms.

Specs

Interfaces
Python, Python
Export
None
Asset classes
Stocks, ETF, Futures
Markets
Global
Platforms
Library, CLI
AI features
None
Capabilities
Backtesting
Pricing verified
Capabilities verified
Coverage verified

Also from Stefan Jansen

Also worth comparing

  • Backtesting.pyA single-instrument Python backtester — one OHLC series, one strategy, no live trading.
  • BacktraderAn event-driven Python backtester with 122 indicators, frozen since April 2023.
  • btPython backtesting for allocation and rebalancing rules, not entries and exits.
  • fastquantA one-call wrapper over Backtrader, dormant since 2023 and broken on PyPI.
  • QSTraderAn institutional-shaped Python backtester whose last commit to master was June 2024.
  • AmiBrokerWindows portfolio backtester scripted in AFL, sold as a perpetual licence.

Named as a replacement for

FAQ

Is Zipline-reloaded the same thing as Quantopian's Zipline?

It is a fork of it. Quantopian shut down in late 2020; the original repository's last commit was 14 October 2020 and its last PyPI release was zipline 1.4.1 on 5 October 2020. Zipline-reloaded keeps the same Apache-2.0 licence and the same zipline import path, and has been updated for current Python, pandas and NumPy.

Does Zipline-reloaded come with market data?

Effectively no. Two bundles ship — quandl, which downloads the Nasdaq Data Link WIKI dataset that stopped updating in early 2018, and csvdir, which reads files you already have. Anything current is a bundle you write or a third-party one you install, plus a subscription to whoever sells the data.

Can Zipline-reloaded place real orders?

No. The package ships no broker adapter; the order family of functions routes into the simulator's blotter and nowhere else. Live execution means bolting on your own broker layer or using a different framework.

Is the project still maintained?

Thinly, by one person. The last release, 3.1.1, landed in July 2025 for Python 3.13 and NumPy 2 compatibility; the last commit to main was 13 November 2025 and it was a CI dependency bump. The repository is not archived and issues are still being filed.