Rapid increases in technology availability have put systematic and algorithmic trading within reach for the retail trader. Below you’ll find a curated list of trading platforms and frameworks, broker-dealers, data providers, and other helpful trading libraries for aspiring Python traders I’ve come across in my algorithmic trading journey.
Cloud Trading Platforms
The best way to get started with algorithmic trading for most is to use an online trading platform. These platforms take care of much of the infrastructure and plumbing so you can focus on research.
This year, the already excellent QuantConnect moves from #2 to the top spot due to momentum gained from the Quantopian community migrating to QuantConnect.
QuantConnect is an infrastructure company. They aim to be the Linux of trading platforms. QuantConnect enables traders to test their strategy on free data and then pay a monthly fee for a hosted system to trade live.
If you’re interested in trying out QuantConnect, use this link to let them know I sent you.
- Mature with excellent reliability.
- Excellent educational resources and community.
- Wide variety of markets and alternative data sets.
- Multiple correlated strategy execution isn’t straightforward.
- Fairly abstracted, so learning code does not carry over to other platforms.
QuantRocket moves from #3 to #2 this year due to continuous improvement of its Moonshot platform.
QuantRocket is a Python-based platform for researching, backtesting, and running automated, quantitative trading strategies. Through Interactive Brokers (IB), it provides data collection tools, multiple data vendors, a research environment, multiple backtesters, and live and paper trading. 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 is not as flexible as some other options.
Tradologics is a new entrant into the space and comes in at #2 this year due to its innovative, AWS-style approach giving algo traders much-needed flexibility.
Tradologics is a cloud-based trading platform founded by Ran Aroussi, the creator of yfinance, whose architecture is asynchronous and event-based — meaning data is pushed to you as it becomes available and relevant. You can think of Tradologics as LEGO® for algorithmic traders. Just like LEGO®, you can choose the parts you need to build the trading system that suits your specific needs. All components have a many-to-many relationship, enabling you to do some of the things you can’t with prior online trading platforms.
- Flexible and convenient.
- Pay-as-you-go-model keeps costs low.
- It’s still in beta and can be confusing at times.
- Some functionality that you would expect isn’t there yet.
Local Trading Frameworks
After years of using an online platform, you may crave more flexibility. For instance, I needed a local framework to use artificial intelligence to manage my portfolio of algorithmic trading strategies. I’m a nerd at heart, and I like to tinker; so again — I would recommend most not go down this road.
Coming in at the top spot again for 2022 is backtrader. I still consider it Python’s swiss-army knife for algorithmic trading.
Backtrader is a feature-rich Python framework for backtesting and trading. Backtrader aims to be simple and allows you to write reusable trading strategies, indicators, and analyzers instead of spending 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.
Lean comes in at number #2 this year, but it is catching up to backtrader, and there’s a good chance both QuantConnect and its open-source trading engine will take the top spots next year.
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 quickly.
The core of the LEAN Engine is written in C#, but it operates on Linux, Mac, and Windows operating systems. It supports Python 3.6, C#, or F# algorithms. Lean drives the web-based algorithmic trading platform QuantConnect.
- Fast and supports multiple programming languages for strategy development.
- Supports both backtesting and live trading.
- Improvement to Quantconnect improves Lean and vice versa.
- Return analysis could be improved.
- Python developers may find it more challenging to pick up as the core platform is programmed in C#.
- .NET on Linux doesn’t always work perfectly.
VectorBT and VectorBT Pro (paid) are new to the list and take the #3 spot. It’ll be interesting to see the progress in 2022.
VectorBT Pro uses a data science approach to algorithmic backtesting. It takes a blazingly fast vectorized approach to help traders understand market phenomena. The PRO version extends the standard vectorbt library with new impressive features and sound enhancements.
- Lots of built-in functionality and indicators.
- Vectorized approach enables interesting strategy analysis.
- Live trading isn’t supported natively.
- Must pay to get Pro enhancements.
You can’t make money unless you trade. Here are the best algorithmic trading brokers I’ve found along the way.
Interactive Brokers stays at the #1 spot for full-time traders simply due to the depth of its offerings and its reliability — even though the API leaves a lot to be desired, and algo traders are still second-class citizens.
Also, if you’re looking to sign up with a new brokerage, use this link to earn up to $1,000 of IBKR Stock for free.
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 Broker’s 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.
- The API has a lot of legacy bloat.
Tradier comes in at #2 and is my top pick for API-first brokerages due to its ease of use, offering depth, and reliability.
Tradier was created by developers for developers. It is a cloud-based financial services provider and brokerage API company that delivers an innovative set of fully hosted APIs and modules leveraged by a growing list of providers seeking to create innovative trading and investing experiences.
If you’re interested in trying out Tradier, use this link to take advantage of the active promo.
- API-first company
- Reliable API with both application and business users
- Includes options trading
- Miscellaneous Fees
- No Cash Management Account
Alpaca comes in at #3 due to the lack of options, but I consider both to be the top API-first brokerages.
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 brokerage
- Designed for algorithmic traders with minimal costs.
- Low Fees
- Not a full-service broker
- Some users have complained about API reliability
If you’re not using an online platform or you’re backtesting locally, you’ll need data — and lots of it. Below are the best data providers that I’ve used. And while not listed below, many of the brokerages are starting to provide this service relatively cheaply.
Also, if you’re looking for free data, you can check out:
I’ve used Polygon for years due to its reliability. Today, it takes the #1 spot as they’re now offering two years of free data at minute granularity across equities, forex, and crypto.
Polygon’s mission is to help developers build the future of FinTech by democratizing access to the world’s financial data. They offer equity data for 20+ years and extensive forex and crypto data. The data is accurate, the APIs are reliable, and I don’t have anything negative about them except that getting all of the histories can be a pain. Still, I’ve created a tutorial on doing just that in the additional information below.
- Equity, forex, and Crypto market data.
- Now offers free two years of data at minute granularity.
- Extremely reliable APIs.
- Getting all of the historical data requires work.
- Subscription pricing is more expensive than alternatives.
Intrinio, while excellent, moved down one spot this year due to an increase in pricing and no availability of free data.
Intrinio’s mission is to make financial data affordable and accessible. The Intrinio API serves real-time and historical stock price quotes, company financials, and more with 200+ financial data feeds across the investment spectrum.
- Exceptionally well designed and easy-to-use API.
- A diverse set of financial data feeds.
- Bulk CSV download and API access require different purchases.
- Pricing has increased.
Quandl, now Nasdaq Data Link, is still my top pick for fundamental equity data due to the Sharadar database.
Nasdaq Data Link is a premier source for financial, economic, and [alternative datasets/alternative-data), 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.
4. Norgate Data
Norgate Data comes in at #4 on the best data providers. They’re a rock-solid company if you’re looking for reliable EOD data.
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. They’ve also recently added Canadian stock data, too. 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). The extent of historical data provided for Stock Market subscriptions depends on the subscription level.
- Great value for EOD pricing data.
- Survivorship bias-free data.
- Pricing data is limited to EOD.
The Python ecosystem is filled with fantastic algorithmic trading tools. No specific order on these since you can use them all. I’ve demonstrated how to use most of these in various places on the site.
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 designed explicitly for manipulating numerical tables and time series data.
Interested? You can check out my Pandas tutorials below:
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 transforms, 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 various databases.
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, which works great with the Zipline open source backtesting library.
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.
Tensorflow is a free and open-source software library for dataflow and differentiable programming across various 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. Going 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 computer vision and natural language processing applications. Facebook’s artificial intelligence research group primarily develops it. It is free and open-source software released under the Modified BSD license.
The QuantLib project aims to provide 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 required 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 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, ADVI for fast approximate inference — including minibatch-ADVI for scaling to large datasets — or Gaussian processes to build Bayesian nonparametric models.