Learning resources#
Here is a collection of learning resources for quantitative finance, algorithmic trading, decentralised finance, Python, Jupyter Notebook and AI.
Books and courses on algorithmic trading#
Machine Learning for Algorithmic Trading#
A book by Stefan Jansen alongside the ZipLine reloaded and community forum.
Python For Finance: Algorithmic Trading#
This Python for Finance tutorial introduces you to algorithmic trading, and much more.
Master AI-Driven Algorithmic Trading#
This is an intense online training program about Python techniques for algorithmic trading. By signing up to this program you get access to 150+ hours of live/recorded instruction, 1,200+ pages PDF as well as 5,000+ lines of Python code and 60+ Jupyter Notebooks (read the 16 week study plan). Master AI-Driven Algorithmic Trading, get started today.
Python for Data Analysis#
Get the definitive handbook for manipulating, processing, cleaning, and crunching datasets in Python. Updated for Python 3.9 and pandas 1.2, the third edition of this hands-on guide is packed with practical case studies that show you how to solve a broad set of data analysis problems effectively. You’ll learn the latest versions of pandas, NumPy, and Jupyter in the process.
Written by Wes McKinney, the creator of the Python pandas project, this book is a practical, modern introduction to data science tools in Python. It’s ideal for analysts new to Python and for Python programmers new to data science and scientific computing. Data files and related material are available on GitHub.
Tutorials on algorithmic trading and quantitative finance#
Financial Models and Numerical Methods#
A collection of Jupyter notebooks based on different topics in the area of quantitative finance.
Gallery of Jupyter Books#
Multiple data research and quantative finance books for Python and Jupyter
Teddy Koker’s blog#
Articles on trading, gambling and machine learning. Read blog.
Backtesting option strategy with Backtrader#
An example tutorial. Read post.
ML Algotrading Wiki#
A wiki website with research and various news sources. MLTraders’ Algotrading and Machine Learning work for everybody..
Pair Trading: A market-neutral trading strategy with integrated Machine Learning#
The primary goal in an investment endeavor is the implementation of strategies that minimize the risk while also maximizing the financial gain or return from the said investment. While there have been many popular strategies and techniques developed over the years that point towards the same goal, the ‘Pairs-Trading’ strategy is one that has been used to great extent in modern hedge-funds, for its simplicity and inherent market-neutral qualities.
ML for Trading#
This book aims to show how ML can add value to algorithmic trading strategies in a practical yet comprehensive way. It covers a broad range of ML techniques from linear regression to deep reinforcement learning and demonstrates how to build, backtest, and evaluate a trading strategy driven by model predictions.
Didact AI#
The anatomy of an ML-powered stock picking engine.
Papers#
An Investor’s Guide to Crypto#
We provide practical insights for investors seeking exposure to the growing cryptocurrency space. Today, crypto is much more than just bitcoin, which historically dominated the space but accounted for just a 21% share of total crypto trading volume in 2021. We discuss a wide variety of tokens, highlighting both their functionality and their investment properties. We critically compare popular valuation methods. We contrast buy-and-hold investing with more active styles. We only deem return data from 2017 representative, but the use of intraday data boosts statistical power. Underlying crypto performance has been notoriously volatile, but volatility-targeting methods are effective at controlling risk, and trend-following strategies have performed well. Crypto assets display a low correlation with traditional risky assets in normal times, but the correlation also rises in the left tail of these risky assets. Finally, we detail important custody and regulatory considerations for institutional investors.
Low-volatility strategies for highly liquid cryptocurrencies#
Managing extreme price fluctuations in cryptocurrency markets are of central importance for investors in this market segment. Using a sample of highly liquid cryptocurrencies from January 2017 to June 2021, this paper proposes a dynamic investment strategy that selects cryptocurrencies based on their historical volatility and is complemented by a simple stop-loss rule. Our results reveal that investing in highly concentrated low volatility cryptocurrency portfolios with six to twelve months volatility look-back and holding period generate statistically significant excess returns. By including a simple stop-loss rule, the downside risk of cryptocurrency portfolios is reduced markedly, and the Sharpe ratios are improved significantly.
How to avoid overfitting trading strategies#
Running a lossy trading strategy would be a very costly mistake, so we spend a lot of effort on assessing the expected performance of our strategies. This task gets harder when we have limited data for this evaluation or when we experiment with the strategy for a longer time and risk manually overfitting the strategy on the same out-of-sample data.
Jupyter Notebook learning material#
Jupyter Notebook basics#
A tutorial by Dataquest.
Pandas Illustrated: The Definitive Visual Guide to Pandas#
Visual guide to Pandas functions.
Vectorised backtesting with Pandas#
A tutorial by Yao Lei Xu.
Algorithmic trading frameworks for Python#
Trading Strategy#
Next generation algorithmic trading protocol for decentralised markets.
Backtrader#
Backtrader is no longer maintained.
Backtrader is one of the oldest and most popular Python based backtesting frameworks. It supports live trading. Direct support for Jupyter notebooks. Read more on BackTrader.
QsTrader#
QsTrader is no longer maintained.
QsTrader is a portfolio optimisation backtesting framework for Python. It originally focused on ETFs and stock. Read more on QsTrader.
Fastquant#
FastQuant is no longer maintained.
A simplified one-liner backtesting solution built on the top of Backtrader. Read more.
Zipline Reloaded#
Continued work of the famous ZipLine library that was created by now defunctional Quantopian. Read more.
AlphaPy#
AlphaPy is a machine learning framework for both speculators and data scientists. It is written in Python mainly with the scikit-learn and pandas libraries, as well as many other helpful packages for feature engineering and visualization. Read more.
bt#
bt is a flexible backtesting framework for Python used to test quantitative trading strategies. The framework allows you to easily create strategies that mix and match different Algos. It aims to foster the creation of easily testable, re-usable and flexible blocks of strategy logic to facilitate the rapid development of complex trading strategies. Read more.
AlphaLens#
Alpha factor library for ZipLine. Read more.
PyFolio#
Performance and risk analysis for portfolios. Read more.
PyAlgoTrade#
Was originally written for Bitstamp. Offers backtesting, paper trading, live trading. Looks abandoned now. Read more.
Communities#
Trading Strategy Discord#
Join Discord server to to discuss about algorithmic trading decentralised markets.
Pyquant News#
Level up with Python for quantitative and data analysis. Join 3,600+ subscribers to the PyQuant Newsletter. Every Saturday morning, you’ll get Python code you can use right now for quantitative & data analysis.
Algotrading on Reddit#
A place for redditors to discuss quantitative trading, statistical methods, econometrics, programming, implementation, automated strategies, and bounce ideas off each other for constructive criticism. Feel free to submit papers/links of things you find interesting.
Awesome Quant Github repository#
A curated list of insanely awesome libraries, packages and resources for Quants (Quantitative Finance).
Machine Learning for Trading#
Managed by Stefan Jansen zalongside the ZipLine reloaded and his book Machine Learning for Algorithmic Trading. View forum.
Jupyter Notebook run-time environments#
Local install
Visual Studio Code
PyCharm
Cloud based
Binder turns a Github repository to executable Jupyter Python notebooks.
Github Codespaces
Jupyter Hub
Charting solutions#
Different candlestick chart libraries for Jupyter. Read post.
More beautiful charts in Jupyter Notebooks. Read more.
Interesting 3d distribution diagrams.