paperswithbacktest/awesome-systematic-tradingPublic

A curated list of awesome libraries, packages, strategies, books, blogs, tutorials for systematic trading.

AI summary: A highly curated list of open-source libraries, strategies, and academic papers for quantitative trading.

Stars
12.9K
+174 today
Forks
1.6K
Watchers
185
Open issues
13
Open PRs
42
Contributors
~6
Commits
129
Branches
2

PythonNo licenseCreated Feb 5, 2022Last push 1y ago+1.2K stars this week+2.5K this month

Star history

since Jan 21, 2024
05K10KJan 2024Nov 2024Sep 2025Aug 2026
12.9K stars as of Aug 7, 2026, tracked back to Jan 21, 2024. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks

Signals and awards

derived from tracked data
  • Widely adopted

    12,897 stars

  • Rising fast

    +1,162 stars this week

  • Repeat trending

    6 trending appearances

What awesome-systematic-trading does

This repository is a comprehensive 'awesome list' dedicated to systematic and quantitative trading. It aggregates the best open-source tools for backtesting, live trading, and market data fetching across multiple asset classes including equities, crypto, and futures. Beyond just software, it catalogs foundational academic papers, essential books, and active blogs in the quant finance space. The repository is meticulously organized to help developers and researchers find reliable, production-ready resources. It acts as a central index for anyone building algorithmic trading systems.

Quantitative researchers, algorithmic traders, and software engineers looking to build systematic trading infrastructure. A background in Python and basic finance concepts is assumed.

  • Extensive Tool Index: Categorizes dozens of Python libraries for backtesting, risk management, and execution.
  • Academic Paper Curation: Links directly to influential research papers on alpha generation and portfolio optimization.
  • Multi-Asset Coverage: Includes resources for traditional equities, futures, and modern cryptocurrency markets.
  • Educational Resource Hub: Lists highly recommended books, tutorials, and blogs for learning quantitative finance.
  • Bilingual Support: Provides the entire curated list in both English and Chinese.
  • Vetted Selection: Only includes high-quality, actively maintained, or historically significant resources.

Where teams use it

Backtesting Engine Selection

Helps a developer compare Zipline, Backtrader, and VectorBT to choose the right framework for their strategy.

Academic Strategy Research

Provides a researcher with a reading list of seminal papers on statistical arbitrage and mean reversion.

Data Source Discovery

Points a new quant to reliable open-source APIs for fetching historical futures and options data.

Skill Development

Guides a software engineer through the best books and tutorials to transition into quantitative finance.

Getting started: Explore the README.md to find relevant libraries.

README

main branch

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:

Tweet

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 GitHub stars made-with-python
zipline Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting. GitHub stars made-with-python
backtrader Event driven Python Backtesting library for trading strategies GitHub stars made-with-python
QUANTAXIS QUANTAXIS 支持任务调度 分布式部署的 股票/期货/期权/港股/虚拟货币 数据/回测/模拟/交易/可视化/多账户 纯本地量化解决方案 GitHub stars made-with-python
QuantConnect Lean Algorithmic Trading Engine by QuantConnect (Python, C#) GitHub stars made-with-python
Rqalpha A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities GitHub stars made-with-python
finmarketpy Python library for backtesting trading strategies & analyzing financial markets (formerly pythalesians) GitHub stars made-with-python
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. GitHub stars made-with-python
zvt Modular quant framework GitHub stars made-with-python
WonderTrader WonderTrader——量化研发交易一站式框架 GitHub stars made-with-python
nautilus_trader A high-performance algorithmic trading platform and event-driven backtester GitHub stars made-with-python
PandoraTrader High-frequency quantitative trading platform based on c++ development, supporting multiple trading APIs and cross-platform GitHub stars made-with-c++
HFTBacktest Highly precise backtest on HFT data in Python+Numba GitHub stars made-with-python
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. GitHub stars made-with-python
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. GitHub stars made-with-python
lumibot A very simple yet useful backtesting and sample based live trading framework (a bit slow to run...) GitHub stars made-with-python
quanttrader Backtest and live trading in Python. Event based. Similar to backtesting.py. GitHub stars made-with-python
gobacktest A Go implementation of event-driven backtesting framework GitHub stars made-with-go
FlashFunk High Performance Runtime in Rust GitHub stars made-with-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. GitHub stars made-with-python
pysystemtrade Systematic Trading in python from book Systematic Trading by Rob Carver GitHub stars made-with-python
bt Flexible backtesting for Python based on Algo and Strategy Tree GitHub stars made-with-python

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. GitHub stars made-with-python
Jesse Jesse is an advanced crypto trading framework which aims to simplify researching and defining trading strategies. GitHub stars made-with-python
OctoBot Cryptocurrency trading bot for TA, arbitrage and social trading with an advanced web interface GitHub stars made-with-python
Kelp Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges GitHub stars made-with-go
openlimits A Rust high performance cryptocurrency trading API with support for multiple exchanges and language wrappers. GitHub stars made-with-rust
bTrader Triangle arbitrage trading bot for Binance GitHub stars made-with-rust
crypto-crawler-rs Crawl orderbook and trade messages from crypto exchanges GitHub stars made-with-rust
Hummingbot A client for crypto market making GitHub stars made-with-python
cryptotrader-core Simple to use Crypto Exchange REST API client in rust. GitHub stars made-with-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 GitHub stars made-with-c++
bitcoin-arbitrage Bitcoin arbitrage - opportunity detector GitHub stars made-with-python
ThetaGang ThetaGang is an IBKR bot for collecting money GitHub stars made-with-typescript
czsc 缠中说禅技术分析工具;缠论;股票;期货;Quant;量化交易 GitHub stars made-with-python
R2 Bitcoin Arbitrager R2 Bitcoin Arbitrager is an automatic arbitrage trading system powered by Node.js + TypeScript GitHub stars made-with-typescript
analyzingalpha Implementation of simple strategies GitHub stars made-with-python
PyTrendFollow PyTrendFollow - systematic futures trading using trend following GitHub stars made-with-python

Analytics

Indicators

Libraries of indicators to predict future price movements.

Repository Description Stars Made with
ta-lib Perform technical analysis of financial market data GitHub stars made-with-python
go-tart A Go implementation of the [ta-lib]((https://github.com/mrjbq7/ta-lib) with streaming update support GitHub stars made-with-go
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 GitHub stars made-with-python
finta Common financial technical indicators implemented in Pandas GitHub stars made-with-python
ta-rust Technical analysis library for Rust language GitHub stars made-with-rust

Metrics computation

Librairies of financial metrics.

Repository Description Stars Made with
quantstats Portfolio analytics for quants, written in Python GitHub stars made-with-python
ffn A financial function library for Python GitHub stars made-with-python

Optimization

Repository Description Stars Made with
PyPortfolioOpt Financial portfolio optimizations in python, including classical efficient frontier, Black-Litterman, Hierarchical Risk Parity GitHub stars made-with-python
Riskfolio-Lib Portfolio Optimization and Quantitative Strategic Asset Allocation in Python GitHub stars made-with-python
empyrial Empyrial is a Python-based open-source quantitative investment library dedicated to financial institutions and retail investors, officially released in March 2021 GitHub stars made-with-python
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. GitHub stars made-with-python
spectre Portfolio Optimization and Quantitative Strategic Asset Allocation in Python GitHub stars made-with-python

Pricing

Repository Description Stars Made with
tf-quant-finance High-performance TensorFlow library for quantitative finance from Google GitHub stars made-with-python
FinancePy A Python Finance Library that focuses on the pricing and risk-management of Financial Derivatives, including fixed-income, equity, FX and credit derivatives GitHub stars made-with-python
PyQL Python wrapper of the famous pricing library QuantLib GitHub stars made-with-python

Risk

Repository Description Stars Made with
pyfolio Portfolio and risk analytics in Python GitHub stars made-with-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 GitHub stars made-with-python
Ib_insync Python sync/async framework for Interactive Brokers. GitHub stars

Recent activity

commits and pull requests

Code frequency

additions and deletions

Commits per week

last 52 weeks

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 1 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 1 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 1 commitsSun 13:00 — 2 commitsSun 14:00 — 5 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 1 commitsSun 18:00 — 1 commitsSun 19:00 — 2 commitsSun 20:00 — 12 commitsSun 21:00 — 2 commitsSun 22:00 — 2 commitsSun 23:00 — 5 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 0 commitsMon 11:00 — 0 commitsMon 12:00 — 2 commitsMon 13:00 — 1 commitsMon 14:00 — 0 commitsMon 15:00 — 0 commitsMon 16:00 — 1 commitsMon 17:00 — 0 commitsMon 18:00 — 1 commitsMon 19:00 — 0 commitsMon 20:00 — 2 commitsMon 21:00 — 0 commitsMon 22:00 — 2 commitsMon 23:00 — 4 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 3 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 0 commitsTue 11:00 — 0 commitsTue 12:00 — 0 commitsTue 13:00 — 0 commitsTue 14:00 — 0 commitsTue 15:00 — 0 commitsTue 16:00 — 0 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 0 commitsTue 20:00 — 0 commitsTue 21:00 — 2 commitsTue 22:00 — 4 commitsTue 23:00 — 0 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 1 commitsWed 9:00 — 2 commitsWed 10:00 — 3 commitsWed 11:00 — 0 commitsWed 12:00 — 0 commitsWed 13:00 — 0 commitsWed 14:00 — 0 commitsWed 15:00 — 0 commitsWed 16:00 — 0 commitsWed 17:00 — 0 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 0 commitsWed 21:00 — 3 commitsWed 22:00 — 7 commitsWed 23:00 — 0 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 3 commitsThu 5:00 — 0 commitsThu 6:00 — 1 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 1 commitsThu 11:00 — 0 commitsThu 12:00 — 1 commitsThu 13:00 — 0 commitsThu 14:00 — 0 commitsThu 15:00 — 0 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 3 commitsThu 22:00 — 1 commitsThu 23:00 — 1 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 2 commitsFri 13:00 — 6 commitsFri 14:00 — 6 commitsFri 15:00 — 5 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 0 commitsFri 19:00 — 0 commitsFri 20:00 — 0 commitsFri 21:00 — 4 commitsFri 22:00 — 0 commitsFri 23:00 — 3 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 1 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 2 commitsSat 14:00 — 1 commitsSat 15:00 — 0 commitsSat 16:00 — 0 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 1 commitsSat 21:00 — 5 commitsSat 22:00 — 1 commitsSat 23:00 — 2 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Aug 3, 2026daily#2+523
Aug 2, 2026daily#2+523
Aug 1, 2026daily#4+763
Jul 31, 2026daily#3+621
Jul 30, 2026daily#9+945
Jul 29, 2026daily#6+309