Rapid increases in technology availability have put systematic and algorithmic trading in reach for the retail trader. Below you’ll find a curated list of trading platforms, data providers, broker-dealers, return analyzers, and other useful trading libraries for aspiring Python traders I’ve come across in my algorithmic trading journey.
Quantopian was a crowd-sourced quantitative investment firm. Quantopian provided a free, online backtesting engine where participants can be paid for their work through license agreements. Unfortunately, Quantopian was shut down on November 14th, 2020. The good news is that its open-source software still remains available for use and the community is starting to drive it forward.
Quantopian’s Zipline is the local backtesting engine that powered Quantopian. Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting.
- Sophisticated pipeline enabling analysis of large datasets.
- Return and factor analysis tools are excellent.
- Great educational resources and community.
- Live trading isn’t supported natively either in the cloud or on-premise.
- Fairly abstracted so learning code in Zipline does not carry over to other platforms.
- How to Install Zipline on Ubuntu Linux
- How to Create an Equities Bundle in Zipline
- A Simple Trading Strategy in Zipline and Jupyter
Backtrader is a feature-rich Python framework for backtesting and trading. Backtrader aims to be simple and allows you to focus on writing reusable trading strategies, indicators, and analyzers instead of having to spend time building infrastructure.
- Very clean “pythonic” code that gets out of your way.
- Supports both backtesting and live-trading enabling a smooth transition of strategy development to deployment.
- Great for beginning traders to developers new to Python.
- Can have issues when using enormous datasets.
- Good at everything but not great at anything except for its simplicity.
QuantConnect is an infrastructure company. They aim to be the Linux of trading platforms. QuantConnect enables a trader to test their strategy on free data, and then pay a monthly fee for a hosted system to trade live. As of 2021, the majority of the Quantopian community migrated to QuantConnect, and it’s picking up momentum.
QuantConnect’s LEAN is an open-source algorithmic trading engine built for easy strategy research, backtesting and live trading. Lean integrates with the standard data providers and brokerages deploy algorithmic trading strategies is quick.
The core of the LEAN Engine is written in C#; but it operates on Linux, Mac and Windows operating systems. It supports algorithms written in Python 3.6, C#, or F#. Lean drives the web-based algorithmic trading platform QuantConnect.
- Fast and supports multiple programming languages for strategy development.
- Supports both backtesting and live trading.
- Has a great community and multiple example out-of-the-box strategies.
- Return analysis could be improved.
- Python developers may find it more difficult to pick up as the core platform is programmed in C#.
QuantRocket is a Python-based platform for researching, backtesting, and running automated, quantitative trading strategies. It provides data collection tools, multiple data vendors, a research environment, multiple backtesters, and live and paper trading through Interactive Brokers (IB). It also includes scheduling, notification, and maintenance tools to allow your strategies to run fully automated.
QuantRocket is installed using Docker and can be installed locally or in the cloud.
- Integrated live-trading platform with built-in data feeds, scheduling and monitoring.
- Supports international markets and intra-day trading.
- No paper-trading or live trading without paying a subscription fee.
- Backtesting research not as flexible as some other options.
Intrinio mission is to make financial data affordable and accessible. The Intrinio API serves realtime and historical stock price quotes, company financials, and more with 200+ financial data feeds across the investment spectrum.
- Extremely well designed and easy to use API.
- Diverse set of financial data feeds.
- Bulk CSV download and API access require different purchases.
Quandl is a premier source for financial, economic, and alternative datasets, serving investment professionals. Quandl’s platform is used by over 400,000 people, including analysts from the world’s top hedge funds, asset managers and investment banks.
- Owned by Nasdaq and has a long history of success.
- Has over 400,000 users including top hedge funds, asset managers, and investment banks.
- Not as affordable as other options.
Norgate Data provides updates for “end-of-day” financial market data (it doesn’t offer live quotes, delayed quotes, or intra-day “tick” data).
They specialize in data for U.S. and Australian stock markets. Data is also available for selected World Futures and Forex rates.
The service is provided on a subscription-only basis (historical data is not available as a “stand-alone” item). For Stock Market subscriptions, the extent of historical data provided depends on the subscription level.
- Great value for EOD pricing data.
- Survivorship bias-free data.
- Pricing data is limited to EOD and U.S. and Australian markets.
Interactive Brokers provides online trading and account solutions for traders, investors and institutions - advanced technology, low commissions and financing rates, and global access from a single online brokerage account. Interactive Brokers is the primary broker used by retail systematic and algorithmic traders, and multiple trading platforms have built Interactive Brokers live-trading connectors.
- Stable, publicly-traded broker that’s been in business for over 41 years.
- Interactive Brokers now provides a Python API.
- Retail systematic and algorithmic traders are a small fraction of IBKR’s customer base and have traditionally been deprioritized.
Alpaca started in 2015 as a pure technology company building a database solution for unstructured data, initially visual data and ultimately time-series data. After seeing a growing need for live-trading APIs, they created Alpaca Securities, an API-first broker-dealer.
- API-first, technology-minded company.
- Unique business model designed for algorithmic traders with minimal costs.
- Not a full-service broker.
Pyfolio is a Python library for performance and risk analysis of financial portfolios developed by Quantopian. It works well with the Zipline open source backtesting library.
Alphalens is a Python Library for performance analysis of predictive (alpha) stock factors. Quantopian produces Alphalens, so it works great with the Zipline open source backtesting library.
NumPy is the fundamental package for scientific computing with Python. It contains N-dimensional array objects, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, useful linear algebra, Fourier transform, and random number capabilities.
NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.
SciPy (pronounced “Sigh Pie”) is a Python-based ecosystem of open-source software for mathematics, science, and engineering. SciPy contains modules for optimization, linear algebra, integration, interpolation, special functions, FFT, signal and image processing, ODE solvers and other tasks common in science and engineering.
Pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language. Founded at hedge fund AQR, Pandas is specifically designed for manipulating numerical tables and time series data.
Tensorflow is a free and open-source software library for dataflow and differentiable programming across a range of tasks. It is a symbolic math library and is also used for machine learning applications such as neural networks. It is used for both research and production at Google. Tensflor offers multiple levels of abstraction so you can choose the right one for your needs. Build and train models by using Tensorflow or the high-level Keras API.
Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.
Pytorch is an open source machine learning library based on the Torch library, used for applications such as computer vision and natural language processing. It is primarily developed by Facebook’s artificial intelligence research group. It is free and open-source software released under the Modified BSD license.
PyQL library is a new set of wrappers using Cython on top of QuantLib. The QuantLib project is aimed at providing a comprehensive software framework for quantitative finance. QuantLib is a free/open-source library for modeling, trading, and risk management.
TA-Lib is widely used by trading software developers requiring to perform technical analysis of financial market data.
SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python.
PyMC3 allows you to write down models using an intuitive syntax to describe a data generating process. Fit your model using gradient-based MCMC algorithms like NUTS, using ADVI for fast approximate inference — including minibatch-ADVI for scaling to large datasets — or using Gaussian processes to build Bayesian nonparametric models.
MlFinLab, created by Hudson & Thames, focuses on turning academic research into practical, easy-to-use libraries. If you’re interested in implementing the latest in open-source quantitative research, start here.
Subscribe to Analyzing Alpha
Exclusive email content that's full of value, void of hype, tailored to your interests whenever possible, never pushy, and always free.