Awesome Open Source
Awesome Open Source
Enigma | Catalyst

version tag version status forum discord twitter

Service Master Develop
CI Badge travis-master travis-develop

This repo is no longer actively maintained since the end of 2018. If you wish to use this project or get support for it, there are many forks that may be more active. If any of those is still active, please get in touch with them, as we can no longer provide support for it.

Catalyst is an algorithmic trading library for crypto-assets written in Python. It allows trading strategies to be easily expressed and backtested against historical data (with daily and minute resolution), providing analytics and insights regarding a particular strategy's performance. Catalyst also supports live-trading of crypto-assets starting with four exchanges (Binance, Bitfinex, Bittrex, and Poloniex) with more being added over time. Catalyst empowers users to share and curate data and build profitable, data-driven investment strategies. Please visit to learn more about Catalyst.

Catalyst builds on top of the well-established Zipline project. We did our best to minimize structural changes to the general API to maximize compatibility with existing trading algorithms, developer knowledge, and tutorials. Join us on the Catalyst Forum for questions around Catalyst, algorithmic trading and technical support. We also have a Discord group with the #catalyst_dev and #catalyst_setup dedicated channels.


  • Ease of use: Catalyst tries to get out of your way so that you can focus on algorithm development. See examples of trading strategies provided.
  • Support for several of the top crypto-exchanges by trading volume: Bitfinex, Bittrex, Poloniex and Binance.
  • Secure: You and only you have access to each exchange API keys for your accounts.
  • Input of historical pricing data of all crypto-assets by exchange, with daily and minute resolution. See Catalyst Market Coverage Overview.
  • Backtesting and live-trading functionality, with a seamless transition between the two modes.
  • Output of performance statistics are based on Pandas DataFrames to integrate nicely into the existing PyData eco-system.
  • Statistic and machine learning libraries like matplotlib, scipy, statsmodels, and sklearn support development, analysis, and visualization of state-of-the-art trading systems.
  • Addition of Bitcoin price (btc_usdt) as a benchmark for comparing performance across trading algorithms.

Go to our Documentation Website.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (1,140,439
Cryptocurrency (5,675
Trading (1,463
Algorithmic Trading (349
Related Projects