Awesome Systematic Trading
希望阅读中文版?点我
We are collecting a list of resources papers, softwares, books, articles for finding, developing, and running systematic trading (quantitative trading) strategies.
What will you find here?
📈 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
How can I help?
You can help by submitting an issue with suggestions and by sharing on Twitter:
Libraries and packages
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 |
|
|
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 |
|
|
Cryptocurrencies
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
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 |
|
|
Analytics
Indicators
Libraries of indicators to predict future price movements.
Repository |
Description |
Stars |
Made with |
ta-lib |
Perform technical analysis of financial market data |
|
|
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 |
|
|
Metrics computation
Librairies of financial metrics.
Repository |
Description |
Stars |
Made with |
quantstats |
Portfolio analytics for quants, written in Python |
|
|
ffn |
A financial function library for Python |
|
|
Optimization
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 |
|
|
Pricing
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 |
|
|
Risk
Repository |
Description |
Stars |
Made with |
pyfolio |
Portfolio and risk analytics in Python |
|
|
Broker APIs
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. |
|
|
Data Sources
General
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 |
|
|
Cryptocurrencies
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. |
|
|
Data Science
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. |
|
|
Databases
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 |
|
|
Graph Computation
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 |
|
|
Machine Learning
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 |
|
|
TimeSeries Analysis
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. |
|
|
Visualization
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. |
|
|
Strategies
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 |
Bonds, equities
Bonds, equities, REITs
Title |
Sharpe Ratio |
Volatility |
Rebalancing |
Implementation |
Source |
Value and Momentum Factors across Asset Classes |
0.155 |
9.8% |
Monthly |
QuantConnect |
Paper |
Commodities
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 |
Cryptos
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 |
Currencies
Equities
Books
A comprehensive list of 55 books for quantitative traders.
Beginner
Biography
Coding
Crypto
General
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 |
|
|
High Frequency Trading
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 |
|
|
Machine Learning
Videos
Blogs
Courses