0% found this document useful (1 vote)
406 views

The Top 21 Python Trading Tools For 2020 - Analyzing Alpha

This document discusses 21 popular Python tools for algorithmic trading. It groups the tools into categories like trading platforms, data providers, execution broker-dealers, and return analyzers. Under trading platforms, it summarizes Quantopian, Zipline, Backtrader, QuantConnect, and QuantRocket - highlighting their pros, cons, and additional information.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
406 views

The Top 21 Python Trading Tools For 2020 - Analyzing Alpha

This document discusses 21 popular Python tools for algorithmic trading. It groups the tools into categories like trading platforms, data providers, execution broker-dealers, and return analyzers. Under trading platforms, it summarizes Quantopian, Zipline, Backtrader, QuantConnect, and QuantRocket - highlighting their pros, cons, and additional information.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this


Analyzing Alpha HOME ABOUT CONTACT Subscribe

14 JANUARY 2020 / TECHNOLOGY

The Top 21 Python Trading Tools for


2020

Rapid increases in technology availability have put systematic and

https://analyzingalpha.com/python-trading-tools 1/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha algorithmic trading in reach for the retail trader. Below you’ll find a curated
Share this

list of trading platforms, data providers, broker-dealers, return analyzers, and


other useful trading libraries for aspiring Python traders.

1. Trading Platforms

2. Data Providers

3. Execution Broker-Dealers

4. Return Analyzers

5. Popular Libraries

Trading Platforms

https://analyzingalpha.com/python-trading-tools 2/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

Quantopian is a crowd-sourced quantitative investment firm. Quantopian provides a free, online


backtesting engine where participants can be paid for their work through license agreements.
Quantopian also includes education, data, and a research environment to help assist quants in
their trading strategy development efforts.

Quantopian’s Zipline is the local backtesting engine that powers Quantopian. Zipline is a
Pythonic algorithmic trading library. It is an event-driven system for backtesting. Zipline is the
backtesting engine powering Quantopian’s free, community-centered, hosted platform for
building and executing trading strategies.

Pros:

Sophisticated pipeline enabling analysis of large datasets.

https://analyzingalpha.com/python-trading-tools 3/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Return and factor analysis tools are excellent. Share this

Great educational resources and community.

Cons:
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.

Addtional Information
How to Install Zipline on Ubuntu Linux

How to Create an Equities Bundle in Zipline

A Simple Trading Strategy in Zipline and Jupyter

https://analyzingalpha.com/python-trading-tools 4/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

Pros:
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.

Cons:
Can have issues when using enormous datasets.

Good at everything but not great at anything except for its simplicity.

Addtional Information
https://analyzingalpha.com/python-trading-tools 5/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Getting Started with Backtrader and Trading Strategies Share this

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.

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.
https://analyzingalpha.com/python-trading-tools 6/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

Pros:
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.

Cons:
Return analysis could be improved.

Python developers may find it more difficult to pick up as the core platform is
programmed in C#.

Additional Information
QuantConnect Tutorials

Step-by-Step Algorithmic Trading Video Using QuantConnect

https://analyzingalpha.com/python-trading-tools 7/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

Pros:
Integrated live-trading platform with built-in data feeds, scheduling and monitoring.

Supports international markets and intra-day trading.

Cons:
No paper-trading or live trading without paying a subscription fee.

Backtesting research not as flexible as some other options.


https://analyzingalpha.com/python-trading-tools 8/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

Additional Information
How to Install QuantRocket

End-to-End Video of QuantRocket Trading Strategy

Data Providers

https://analyzingalpha.com/python-trading-tools 9/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

Pros:
Extremely well designed and easy to use API.

Diverse set of financial data feeds.

Cons:
Bulk CSV download and API access require different purchases.

Additional Information
How to Import Stock Data Using Intrinio

https://analyzingalpha.com/python-trading-tools 10/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha How to Create an Equities Database in PostgreSQL Share this

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.

https://analyzingalpha.com/python-trading-tools 11/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Pros: Share this


Owned by Nasdaq and has a long history of success.

Has over 400,000 users including top hedge funds, asset managers, and investment
banks.

Cons:
Not as affordable as other options.

Additional Information
Getting Quandl Data Using Python

Official Quandl Python API Client

https://analyzingalpha.com/python-trading-tools 12/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

Pros:
Great value for EOD pricing data.

Survivorship bias-free data.

https://analyzingalpha.com/python-trading-tools 13/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Cons: Share this


Pricing data is limited to EOD and U.S. and Australian markets.

Additional Info:
Norgate Data Overview

Norgate Data Tables

Execution Broker-Dealers

https://analyzingalpha.com/python-trading-tools 14/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Interactive Brokers provides online trading and account solutions for traders, investors and
Share this

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.

Pros:
Stable, publicly-traded broker that’s been in business for over 41 years.

Interactive Brokers now provides a Python API.

Cons:
Retail systematic and algorithmic traders are a small fraction of IBKR’s customer base and
have traditionally been deprioritized.

Additional Information
Interactive Brokers Python API

https://analyzingalpha.com/python-trading-tools 15/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

Pros:
API-first, technology-minded company.

Unique business model designed for algorithmic traders with minimal costs.

Cons:
Not a full-service broker.

https://analyzingalpha.com/python-trading-tools 16/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Additional Information Share this


Is Alpaca Right for Me?

Alpaca Python API

Return Analyzers

https://analyzingalpha.com/python-trading-tools 17/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

https://analyzingalpha.com/python-trading-tools 18/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

Popular Libraries
https://analyzingalpha.com/python-trading-tools 19/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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

https://analyzingalpha.com/python-trading-tools 20/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha variety of databases. Share this

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.

https://analyzingalpha.com/python-trading-tools 21/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

https://analyzingalpha.com/python-trading-tools 22/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

https://analyzingalpha.com/python-trading-tools 23/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Being able to go from idea to result with the least possible delay is key to doing good research.
Share this

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.

https://analyzingalpha.com/python-trading-tools 24/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

https://analyzingalpha.com/python-trading-tools 25/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

TA-Lib is widely used by trading software developers requiring to perform technical analysis of
financial market data.

https://analyzingalpha.com/python-trading-tools 26/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

https://analyzingalpha.com/python-trading-tools 27/32
4/5/2020 The Top 21 Python Trading Tools for 2020 | Analyzing Alpha

Analyzing Alpha Share this

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.

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.

https://analyzingalpha.com/python-trading-tools 28/32

You might also like