awesome-systematic-trading
A curated list of awesome libraries, packages, strategies, books, blogs, tutorials for systematic trading.
https://github.com/paperswithbacktest/awesome-systematic-trading
Last synced: 11 days ago
JSON representation
Analytics
Indicators
- go-tart - 06` | A Go implementation of the [ta-lib]((https://github.com/mrjbq7/ta-lib) with streaming update support | | |
- pandas-ta - ta) | |
- finta - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- ta-rust - 07` | Technical analysis library for Rust language | | |
- ta-lib - lib) | |
- kand - ta/kand) | |
- wickra - first technical-analysis library with a Rust core and native Python/Node/WASM bindings plus a C ABI (C, C++, C#/.NET, Go, Java, R); 514 O(1)-per-tick indicators across 24 families, bit-exact batch and streaming | | |
Metrics computation
- quantstats - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- ffn - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
Optimization
- PyPortfolioOpt - Litterman, Hierarchical Risk Parity | | |
- Riskfolio-Lib - Lib) | |
- Deepdow - 01` | 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 - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- empyrial - based open-source quantitative investment library dedicated to financial institutions and retail investors, officially released in March 2021 | | |
- skfolio - learn. It provides a unified interface and sklearn compatible tools to build, tune and cross-validate portfolio models. | | |
- cvxportfolio - testing from the Stanford convex optimization group, implementing the multi-period framework of Boyd et al. | | |
Pricing
- tf-quant-finance - performance TensorFlow library for quantitative finance from Google | | |
- FinancePy - management of Financial Derivatives, including fixed-income, equity, FX and credit derivatives | | |
- PyQL - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
Risk
- pyfolio - 12` | Portfolio and risk analytics in Python | | |
Backtesting and Live Trading
Cryptocurrencies
- Freqtrade - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Jesse - ai/jesse) | |
- OctoBot - Software/OctoBot) | |
- openlimits - 07` | A Rust high performance cryptocurrency trading API with support for multiple exchanges and language wrappers. | | |
- bTrader - milan/btrader) | |
- crypto-crawler-rs - 03` | Crawl orderbook and trade messages from crypto exchanges | | |
- Hummingbot - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- cryptotrader-core - 06` | Simple to use Crypto Exchange REST API client in rust. | | |
- Kelp - source trading bot for the Stellar DEX and 100+ centralized exchanges | | |
- basana - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
General - Event Driven Frameworks
- vnpy - 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 - 02` | Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting. | | |
- backtrader - 08` | Event driven Python Backtesting library for trading strategies | | |
- QuantConnect - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Rqalpha - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- finmarketpy - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- backtesting.py - friendly, intuitive, interactive, intelligent and, hopefully, future-proof. | | |
- zvt - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- WonderTrader - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- nautilus_trader - performance algorithmic trading platform and event-driven backtester | | |
- PandoraTrader - frequency quantitative trading platform based on c++ development, supporting multiple trading APIs and cross-platform | | |
- HFTBacktest - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- aat - 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 - 09` | This project is mainly for newbies into algo trading who are interested in learning to code their own trading algo using python interpreter. | | |
- lumibot - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- quanttrader - 06` | Backtest and live trading in Python. Event based. Similar to backtesting.py. | | |
- gobacktest - driven backtesting framework | | |
- FlashFunk - with-rust](https://img.shields.io/badge/Made%20with-Rust-1f425f.svg) |
- QUANTAXIS - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- PyBroker - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Hikyuu - with-c++](https://img.shields.io/badge/Made%20with-c++-1f425f.svg) |
- barter-rs - rs/barter-rs) | |
- Investing Algorithm Framework - kitties/investing-algorithm-framework) | |
- qf-lib - lib) | |
- trade-frame - frame) | |
- QuantFabric - with-c++](https://img.shields.io/badge/Made%20with-c++-1f425f.svg) |
- PineForge - provided OHLCV data. | | |
General - Vector Based Frameworks
- vectorbt - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- bt - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- QTradeX - deluxe/QTradeX-Algo-Trading-SDK) | |
- ml-quant-trading - factor trading with 213 factors, bias correction, portfolio optimization, vectorized backtesting, and public validation reports | | |
Beginner
Cryptocurrencies
- How to Day Trade for a Living: A Beginner’s Guide to Trading Tools and Tactics, Money Management, Discipline and Trading Psychology - Andrew Aziz
- Introduction To Algo Trading: How Retail Traders Can Successfully Compete With Professional Traders - Kevin J Davey
- The Little Book of Common Sense Investing: The Only Way to Guarantee Your Fair Share of Stock Market Returns - John C. Bogle
- A Beginner’s Guide to the Stock Market: Everything You Need to Start Making Money Today - Matthew R. Kratter
- Day Trading QuickStart Guide: The Simplified Beginner’s Guide to Winning Trade Plans, Conquering the Markets, and Becoming a Successful Day Trader - Troy Noonan
- Algorithmic Trading and DMA: An introduction to direct access trading strategies - Barry Johnson
- Investing QuickStart Guide: The Simplified Beginner’s Guide to Successfully Navigating the Stock Market, Growing Your Wealth & Creating a Secure Financial Future - Ted D. Snow
Biography
Cryptocurrencies
Bonds
Cryptocurrencies
- Statistical and Economic Benefits of Whitening Residuals in Bond Yields
- Dynamic Risk-Aware Yield Search: A Useful Tool for Fixed Income Investors
- Out-performing corporate bonds indices with factor investing
- Priced risk in corporate bonds
- Sitting Bucks: Stale Pricing in Fixed Income Funds
- Frontier and Emerging Government Bond Markets
- Regime-based portfolio optimisation: A Hidden Markov Model approach for fixed income portfolios
- Price Effects of Sovereign Debt Auctions in the Euro-zone: The Role of the Crisis
- Are Bond Returns Predictable with Real-Time Macro Data?
- Trading the Term Premium
- Banks’ exposure to interest rate risk, their earnings from term transformation, and the dynamics of the term structure
- Predictable End-of-Month Treasury Returns
Broker APIs
Risk
- ccxt - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Ib_insync - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Coinnect - 11` | Coinnect is a Rust library aiming to provide a complete access to main crypto currencies exchanges via REST API. | | |
- PENDAX - 05` | Javascript SDK for Trading, Data, and Websockets for FTX, FTXUS, OKX, Bybit, & More. | | |
- pmxt - dev/pmxt) | |
Coding
Cryptocurrencies
- Python for Finance: Mastering Data-Driven Finance - Yves Hilpisch
- Python for Algorithmic Trading: From Idea to Cloud Deployment - Yves Hilpisch
- Learn Algorithmic Trading: Build and deploy algorithmic trading systems and strategies using Python and advanced data analysis - Sebastien Donadio
- Algorithmic Trading with Python: Quantitative Methods and Strategy Development - Chris Conlan
- Trading Evolved: Anyone can Build Killer Trading Strategies in Python - Andreas F. Clenow
Commodities
Cryptocurrencies
Crypto
Cryptocurrencies
- Bitcoin Billionaires: A True Story of Genius, Betrayal, and Redemption - Ben Mezrich
- The Bitcoin Standard: The Decentralized Alternative to Central Banking - Saifedean Ammous
- Why Buy Bitcoin: Investing Today in the Money of Tomorrow - Andy Edstrom
- Mastering Bitcoin: Programming the Open Blockchain - Andreas M. Antonopoulos
Cryptocurrencies
Cryptocurrencies
- How to Design a Simple Multi-Timeframe Trend Strategy on Bitcoin
- ‘Know When to Hodl ‘Em, Know When to Fodl ‘Em’: An Investigation of Factor Based Investing in the Cryptocurrency Space
- Seasonality, Trend-following, and Mean reversion in Bitcoin
- Do Risk Preferences Drive Momentum in Cryptocurrencies?
- The Blockchain Risk Parity Line: Moving From The Efficient Frontier To The Final Frontier Of Investments
- Price Overreactions in the Cryptocurrency Market
- Proof-of-What? Detecting original consensus algorithms in cryptocurrencies with a four-factor model
- Cryptocurrency as money: A trading strategy solution
Currencies
Cryptocurrencies
Databases
Cryptocurrencies
- Marketstore - with-go](https://img.shields.io/badge/Made%20with-Go-1f425f.svg) |
- Tectonicdb - 01` | Tectonicdb is a fast, highly compressed standalone database and streaming protocol for order book ticks. | | |
- ArcticDB (Man Group) - group/ArcticDB) | |
- DuckDB - process analytical SQL database that queries Parquet and Arrow files directly, a common backend for research datasets | | |
- PyStore - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
Data Science
Cryptocurrencies
- TensorFlow - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Pytorch - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Keras - team/keras) | |
- Scikit-learn - learn/scikit-learn) | |
- Pandas - dev/pandas) | |
- Numpy - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Scipy - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- PyMC - devs/pymc) | |
- Cvxpy - embedded modeling language for convex optimization problems. | | |
- JAX - ml/jax) | |
Data Sources
Cryptocurrencies
- Cryptofeed - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Gekko-Datasets - 05` | Gekko trading bot dataset dumps. Download and use history files in SQLite format. | | |
- CryptoInscriber - 03` | A live crypto currency historical trade data blotter. Download live historical trade data from any crypto exchange. | | |
- Crypto Lake - lake/lake-api) | |
General
- TuShare - 03` | TuShare is a utility for crawling historical data of China stocks | | |
- yfinance - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- AkShare - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- pandas-datareader - datareader) | |
- Quandl - python) | |
- findatapy - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Investpy - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Wallstreet - 07` | Wallstreet: Real time Stock and Option tools | | |
- OpenBB Terminal - finance/OpenBBTerminal) | |
- Fundamental Analysis Data - fledged Fundamental Analysis package capable of collecting 20 years of Company Profiles, Financial Statements, Ratios and Stock Data of 20.000+ companies. | | |
- Fincept Terminal - Corporation/FinceptTerminal) | |
- FinanceDatabase - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- FinanceToolkit - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- edgartools - K events | | |
- pwb-toolbox - MD macro series, and 5.7 billion rows of 1-minute US equity bars. Cards and schemas are open to read, downloads are gated. | | |
Derivatives
Cryptocurrencies
- Media Tone Goes Viral: Global Evidence from the Currency Market
- Robust Portfolio Optimization with Value-At-Risk Adjusted Sharpe Ratios
- When Factor Timing Makes Sense
- Rational Decision-Making Under Uncertainty: Observed Betting Patterns on a Biased Coin
- Can Financial Innovation Succeed by Catering to Behavioral Preferences? Evidence from a Callable Options Market
- A Theory of Model Sophistication and Operational Risk
- Tail-Risk Protection Trading Strategies
- Is Media Tone just a Tone? Time-Series and Cross-Sectional Evidence from the Currency Market
- The Temporal Pattern of Trading Rule Returns and Central Bank Intervention: Intervention Does Not Generate Technical Trading Rule Profits
- Arbitrage in the Foreign Exchange Market: Turning on the Microscope
Equities
Cryptocurrencies
- A Study Of Differences In Returns Between Large And Small Companies In Europe
- The Investment CAPM
- Important Characteristics, Weaknesses and Errors in German Equity Data from Thomson
- The Role of Beta and Size in the Cross-Section of European Stock Returns
- Systematic Abnormal Return Variation and Global Market Inefficiencies
- Value and Size Effect: Now You See It, Now You Don’t
- Properties of the Most Diversified Portfolio
- Understanding Momentum and Reversal?
- Fact, Fiction, and the Size Effect
- The cross-section of returns in frontier equity markets: Integrated or segmented pricing?
- Analytical Solution for Kelly’s Criterion for Multiple Outcomes
- End-To-End Large Portfolio Optimization For Variance Minimization With Neural Networks Through Covariance Cleaning
General
Cryptocurrencies
- Building Winning Algorithmic Trading Systems: A Trader’s Journey From Data Mining to Monte Carlo Simulation to Live Trading (Wiley Trading) - Kevin J Davey
- 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 Intelligent Investor: The Definitive Book on Value Investing - Benjamin Graham, Jason Zweig
- Trading and Exchanges: Market Microstructure for Practitioners - Larry Harris
- The New Trading for a Living: Psychology, Discipline, Trading Tools and Systems, Risk Control, Trade Management (Wiley Trading) - Alexander Elder
- Professional Automated Trading: Theory and Practice - Eugene A. Durenard
- How I Invest My Money: Finance experts reveal how they save, spend, and invest - Joshua Brown, Brian Portnoy
- Trading Systems 2nd edition: A new approach to system development and portfolio optimisation - Emilio Tomasini, Urban Jaekle
- 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
- Systematic Trading: A unique new method for designing trading and investing systems - Robert Carver
- 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
- 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
- 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
- Quantitative Momentum: A Practitioner’s Guide to Building a Momentum-Based Stock Selection System (Wiley Finance) - Wesley R. Gray, Jack R. Vogel
- Quantitative Equity Portfolio Management: An Active Approach to Portfolio Construction and Management (McGraw-Hill Library of Investment and Finance) - Ludwig B Chincarini, Daehwan Kim
- Algorithmic Trading: Winning Strategies and Their Rationale - Ernest P. Chan
- Machine Trading: Deploying Computer Algorithms to Conquer the Markets - Ernest P. Chan
- Active Portfolio Management: A Quantitative Approach for Producing Superior Returns and Controlling Risk - Richard Grinold, Ronald Kahn
Graph Computation
Cryptocurrencies
- Ray - project/ray) | |
- Dask - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- Incremental (JaneStreet) - adjusting computations. Incremental can be useful in a number of applications | | |
- Man MDF - 12` | Data-flow programming toolkit for Python | | |
- GraphKit - 03` | A lightweight Python module for creating and running ordered graphs of computations. | | |
- Tributary - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |
- csp (Point72) - with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg) |