Awesome Systematic Trading
希望阅读中文版?点我
We are collecting a list of resources papers, softwares, books, articles for finding, developing, and running systematic trading (quantitative trading) strategies.
📈 Interested in trading strategies implemented in Python?
Visit our comprehensive collection at paperswithbacktest.com for exclusive content!
Click here to see the full table of content
You can help by submitting an issue with suggestions and by sharing on Twitter:
List of 97 libraries and packages implementing trading bots, backtesters, indicators, pricers, etc. Each library is categorized by its programming language and ordered by descending populatrity (number of stars).
Backtesting and Live Trading
General - Event Driven Frameworks
Repository
Description
Stars
Made with
vnpy
Python-based open source quantitative trading system development framework, officially released in January 2015, has grown step by step into a full-featured quantitative trading platform
zipline
Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting.
backtrader
Event driven Python Backtesting library for trading strategies
QUANTAXIS
QUANTAXIS 支持任务调度 分布式部署的 股票/期货/期权/港股/虚拟货币 数据/回测/模拟/交易/可视化/多账户 纯本地量化解决方案
QuantConnect
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
Rqalpha
A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities
finmarketpy
Python library for backtesting trading strategies & analyzing financial markets (formerly pythalesians)
backtesting.py
Backtesting.py is a Python framework for inferring viability of trading strategies on historical (past) data. Improved upon the vision of Backtrader, and by all means surpassingly comparable to other accessible alternatives, Backtesting.py is lightweight, fast, user-friendly, intuitive, interactive, intelligent and, hopefully, future-proof.
zvt
Modular quant framework
WonderTrader
WonderTrader——量化研发交易一站式框架
nautilus_trader
A high-performance algorithmic trading platform and event-driven backtester
PandoraTrader
High-frequency quantitative trading platform based on c++ development, supporting multiple trading APIs and cross-platform
HFTBacktest
Highly precise backtest on HFT data in Python+Numba
aat
An asynchronous, event-driven framework for writing algorithmic trading strategies in python with optional acceleration in C++. It is designed to be modular and extensible, with support for a wide variety of instruments and strategies, live trading across (and between) multiple exchanges.
sdoosa-algo-trade-python
This project is mainly for newbies into algo trading who are interested in learning to code their own trading algo using python interpreter.
lumibot
A very simple yet useful backtesting and sample based live trading framework (a bit slow to run...)
quanttrader
Backtest and live trading in Python. Event based. Similar to backtesting.py.
gobacktest
A Go implementation of event-driven backtesting framework
FlashFunk
High Performance Runtime in Rust
General - Vector Based Frameworks
Repository
Description
Stars
Made with
vectorbt
vectorbt takes a novel approach to backtesting: it operates entirely on pandas and NumPy objects, and is accelerated by Numba to analyze any data at speed and scale. This allows for testing of many thousands of strategies in seconds.
pysystemtrade
Systematic Trading in python from book Systematic Trading by Rob Carver
bt
Flexible backtesting for Python based on Algo and Strategy Tree
Repository
Description
Stars
Made with
Freqtrade
Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram. It contains backtesting, plotting and money management tools as well as strategy optimization by machine learning.
Jesse
Jesse is an advanced crypto trading framework which aims to simplify researching and defining trading strategies.
OctoBot
Cryptocurrency trading bot for TA, arbitrage and social trading with an advanced web interface
Kelp
Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges
openlimits
A Rust high performance cryptocurrency trading API with support for multiple exchanges and language wrappers.
bTrader
Triangle arbitrage trading bot for Binance
crypto-crawler-rs
Crawl orderbook and trade messages from crypto exchanges
Hummingbot
A client for crypto market making
cryptotrader-core
Simple to use Crypto Exchange REST API client in rust.
Trading bots and alpha models. Some of them are old and not maintained.
Repository
Description
Stars
Made with
Blackbird
Blackbird Bitcoin Arbitrage: a long/short market-neutral strategy
bitcoin-arbitrage
Bitcoin arbitrage - opportunity detector
ThetaGang
ThetaGang is an IBKR bot for collecting money
czsc
缠中说禅技术分析工具;缠论;股票;期货;Quant;量化交易
R2 Bitcoin Arbitrager
R2 Bitcoin Arbitrager is an automatic arbitrage trading system powered by Node.js + TypeScript
analyzingalpha
Implementation of simple strategies
PyTrendFollow
PyTrendFollow - systematic futures trading using trend following
Libraries of indicators to predict future price movements.
Repository
Description
Stars
Made with
ta-lib
Perform technical analysis of financial market data
go-tart
A Go implementation of the [ta-lib]((https://github.com/mrjbq7/ta-lib ) with streaming update support
pandas-ta
Pandas Technical Analysis (Pandas TA) is an easy to use library that leverages the Pandas package with more than 130 Indicators and Utility functions and more than 60 TA Lib Candlestick Patterns
finta
Common financial technical indicators implemented in Pandas
ta-rust
Technical analysis library for Rust language
Librairies of financial metrics.
Repository
Description
Stars
Made with
quantstats
Portfolio analytics for quants, written in Python
ffn
A financial function library for Python
Repository
Description
Stars
Made with
PyPortfolioOpt
Financial portfolio optimizations in python, including classical efficient frontier, Black-Litterman, Hierarchical Risk Parity
Riskfolio-Lib
Portfolio Optimization and Quantitative Strategic Asset Allocation in Python
empyrial
Empyrial is a Python-based open-source quantitative investment library dedicated to financial institutions and retail investors, officially released in March 2021
Deepdow
Python package connecting portfolio optimization and deep learning. Its goal is to facilitate research of networks that perform weight allocation in one forward pass.
spectre
Portfolio Optimization and Quantitative Strategic Asset Allocation in Python
Repository
Description
Stars
Made with
tf-quant-finance
High-performance TensorFlow library for quantitative finance from Google
FinancePy
A Python Finance Library that focuses on the pricing and risk-management of Financial Derivatives, including fixed-income, equity, FX and credit derivatives
PyQL
Python wrapper of the famous pricing library QuantLib
Repository
Description
Stars
Made with
pyfolio
Portfolio and risk analytics in Python
Repository
Description
Stars
Made with
ccxt
A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Ib_insync
Python sync/async framework for Interactive Brokers.
Coinnect
Coinnect is a Rust library aiming to provide a complete access to main crypto currencies exchanges via REST API.
PENDAX
Javascript SDK for Trading, Data, and Websockets for FTX, FTXUS, OKX, Bybit, & More.
Repository
Description
Stars
Made with
OpenBB Terminal
Investment Research for Everyone, Anywhere.
TuShare
TuShare is a utility for crawling historical data of China stocks
yfinance
yfinance offers a threaded and Pythonic way to download market data from Yahoo!Ⓡ finance.
AkShare
AKShare is an elegant and simple financial data interface library for Python, built for human beings!
pandas-datareader
Up to date remote data access for pandas, works for multiple versions of pandas.
Quandl
Get millions of financial and economic dataset from hundreds of publishers via a single free API.
findatapy
findatapy creates an easy to use Python API to download market data from many sources including Quandl, Bloomberg, Yahoo, Google etc. using a unified high level interface.
Investpy
Financial Data Extraction from Investing.com with Python
Fundamental Analysis Data
Fully-fledged Fundamental Analysis package capable of collecting 20 years of Company Profiles, Financial Statements, Ratios and Stock Data of 20.000+ companies.
Wallstreet
Wallstreet: Real time Stock and Option tools
Repository
Description
Stars
Made with
Cryptofeed
Cryptocurrency Exchange Websocket Data Feed Handler with Asyncio
Gekko-Datasets
Gekko trading bot dataset dumps. Download and use history files in SQLite format.
CryptoInscriber
A live crypto currency historical trade data blotter. Download live historical trade data from any crypto exchange.
Crypto Lake
High frequency order book & trade data for crypto
Repository
Description
Stars
Made with
TensorFlow
Fundamental algorithms for scientific computing in Python
Pytorch
Tensors and Dynamic neural networks in Python with strong GPU acceleration
Keras
The most user friendly Deep Learning for humans in Python
Scikit-learn
Machine learning in Python
Pandas
Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
Numpy
The fundamental package for scientific computing with Python
Scipy
Fundamental algorithms for scientific computing in Python
PyMC
Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Aesara
Cvxpy
A Python-embedded modeling language for convex optimization problems.
Repository
Description
Stars
Made with
Marketstore
DataFrame Server for Financial Timeseries Data
Tectonicdb
Tectonicdb is a fast, highly compressed standalone database and streaming protocol for order book ticks.
ArcticDB (Man Group)
High performance datastore for time series and tick data
Repository
Description
Stars
Made with
Ray
An open source framework that provides a simple, universal API for building distributed applications.
Dask
Parallel computing with task scheduling in Python with a Pandas like API
Incremental (JaneStreet)
Incremental is a library that gives you a way of building complex computations that can update efficiently in response to their inputs changing, inspired by the work of Umut Acar et. al. on self-adjusting computations. Incremental can be useful in a number of applications
Man MDF
Data-flow programming toolkit for Python
GraphKit
A lightweight Python module for creating and running ordered graphs of computations.
Tributary
Streaming reactive and dataflow graphs in Python
Repository
Description
Stars
Made with
QLib (Microsoft)
Qlib is an AI-oriented quantitative investment platform, which aims to realize the potential, empower the research, and create the value of AI technologies in quantitative investment. With Qlib, you can easily try your ideas to create better Quant investment strategies. An increasing number of SOTA Quant research works/papers are released in Qlib.
FinRL
FinRL is the first open-source framework to demonstrate the great potential of applying deep reinforcement learning in quantitative finance.
MlFinLab (Hudson & Thames)
MlFinLab helps portfolio managers and traders who want to leverage the power of machine learning by providing reproducible, interpretable, and easy to use tools.
TradingGym
Trading and Backtesting environment for training reinforcement learning agent or simple rule base algo.
Stock Trading Bot using Deep Q-Learning
Stock Trading Bot using Deep Q-Learning
Repository
Description
Stars
Made with
Facebook Prophet
Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.
statsmodels
Python module that allows users to explore data, estimate statistical models, and perform statistical tests.
tsfresh
Automatic extraction of relevant features from time series.
pmdarima
A statistical library designed to fill the void in Python's time series analysis capabilities, including the equivalent of R's auto.arima function.
Repository
Description
Stars
Made with
D-Tale (Man Group)
D-Tale is the combination of a Flask back-end and a React front-end to bring you an easy way to view & analyze Pandas data structures.
mplfinance
Financial Markets Data Visualization using Matplotlib
btplotting
btplotting provides plotting for backtests, optimization results and live data from backtrader.
List of 696 academic papers describing original systematic trading strategies. Each strategy is categorized by its asset class and ordered by descending Sharpe ratio.
👉 Strategies are now hosted here .
Previous list of strategies:
Bonds, commodities, currencies, equities
Title
Sharpe Ratio
Volatility
Rebalancing
Implementation
Source
Time Series Momentum Effect
0.576
20.5%
Monthly
QuantConnect
Paper
Short Term Reversal with Futures
-0.05
12.3%
Weekly
QuantConnect
Paper
Bonds, commodities, equities, REITs
Title
Sharpe Ratio
Volatility
Rebalancing
Implementation
Source
Asset Class Trend-Following
0.502
10.4%
Monthly
QuantConnect
Paper
Momentum Asset Allocation Strategy
0.321
11%
Monthly
QuantConnect
Paper
Title
Sharpe Ratio
Volatility
Rebalancing
Implementation
Source
Value and Momentum Factors across Asset Classes
0.155
9.8%
Monthly
QuantConnect
Paper
Title
Sharpe Ratio
Volatility
Rebalancing
Implementation
Source
Skewness Effect in Commodities
0.482
17.7%
Monthly
QuantConnect
Paper
Return Asymmetry Effect in Commodity Futures
0.239
13.4%
Monthly
QuantConnect
Paper
Momentum Effect in Commodities
0.14
20.3%
Monthly
QuantConnect
Paper
Term Structure Effect in Commodities
0.128
23.1%
Monthly
QuantConnect
Paper
Trading WTI/BRENT Spread
-0.199
11.6%
Daily
QuantConnect
Paper
Title
Sharpe Ratio
Volatility
Rebalancing
Implementation
Source
Overnight Seasonality in Bitcoin
0.892
20.8%
Intraday
QuantConnect
Paper
Rebalancing Premium in Cryptocurrencies
0.698
27.5%
Daily
QuantConnect
Paper
A comprehensive list of 55 books for quantitative traders.
Title
Reviews
Rating
The Intelligent Investor: The Definitive Book on Value Investing - Benjamin Graham, Jason Zweig
How I Invest My Money: Finance experts reveal how they save, spend, and invest - Joshua Brown, Brian Portnoy
Naked Forex: High-Probability Techniques for Trading Without Indicators - Alex Nekritin
The Four Pillars of Investing: Lessons for Building a Winning Portfolio - William J. Bernstein
Option Volatility and Pricing: Advanced Trading Strategies and Techniques, 2nd Edition - Sheldon Natenberg
The Art and Science of Technical Analysis: Market Structure, Price Action, and Trading Strategies - Adam Grimes
The New Trading for a Living: Psychology, Discipline, Trading Tools and Systems, Risk Control, Trade Management (Wiley Trading) - Alexander Elder
Building Winning Algorithmic Trading Systems: A Trader’s Journey From Data Mining to Monte Carlo Simulation to Live Trading (Wiley Trading) - Kevin J Davey
Systematic Trading: A unique new method for designing trading and investing systems - Robert Carver
Quantitative Momentum: A Practitioner’s Guide to Building a Momentum-Based Stock Selection System (Wiley Finance) - Wesley R. Gray, Jack R. Vogel
Algorithmic Trading: Winning Strategies and Their Rationale - Ernest P. Chan
Leveraged Trading: A professional approach to trading FX, stocks on margin, CFDs, spread bets and futures for all traders - Robert Carver
Trading Systems: A New Approach to System Development and Portfolio Optimisation - Emilio Tomasini, Urban Jaekle
Trading and Exchanges: Market Microstructure for Practitioners - Larry Harris
Trading Systems 2nd edition: A new approach to system development and portfolio optimisation - Emilio Tomasini, Urban Jaekle
Machine Trading: Deploying Computer Algorithms to Conquer the Markets - Ernest P. Chan
Quantitative Equity Portfolio Management: An Active Approach to Portfolio Construction and Management (McGraw-Hill Library of Investment and Finance) - Ludwig B Chincarini, Daehwan Kim
Active Portfolio Management: A Quantitative Approach for Producing Superior Returns and Controlling Risk - Richard Grinold, Ronald Kahn
Quantitative Technical Analysis: An integrated approach to trading system development and trading management - Dr Howard B Bandy
Advances in Active Portfolio Management: New Developments in Quantitative Investing - Richard Grinold, Ronald Kahn
Professional Automated Trading: Theory and Practice - Eugene A. Durenard
Algorithmic Trading and Quantitative Strategies (Chapman and Hall/CRC Financial Mathematics Series) - Raja Velu, Maxence Hardy, Daniel Nehren
Quantitative Trading: Algorithms, Analytics, Data, Models, Optimization - Xin Guo, Tze Leung Lai, Howard Shek, Samuel Po-Shing Wong
Title
Reviews
Rating
Inside the Black Box: A Simple Guide to Quantitative and High Frequency Trading - Rishi K. Narang
Algorithmic and High-Frequency Trading (Mathematics, Finance and Risk) - Álvaro Cartea, Sebastian Jaimungal, José Penalva
The Problem of HFT – Collected Writings on High Frequency Trading & Stock Market Structure Reform - Haim Bodek
An Introduction to High-Frequency Finance - Ramazan Gençay, Michel Dacorogna, Ulrich A. Muller, Olivier Pictet, Richard Olsen
Market Microstructure in Practice - Charles-Albert Lehalle, Sophie Laruelle
The Financial Mathematics of Market Liquidity - Olivier Gueant
High-Frequency Trading - Maureen O’Hara, David Easley, Marcos M López de Prado