Tutorials, guides and lessons on quantitative finance and systematic trading topics

QSTrader v0.3.0 Released

Momentum Top N with Docker, Jupyter and QSTrader

Creating a Backtesting environment with Docker, Jupyter Notebook and QSTrader.

QSTrader v0.2.6 Released

Brownian Motion Simulation with Python

Calculating Realised Volatility with Polygon Forex data

Creating a Returns Series with Polygon's Forex Data

Candlestick Subplots with Plotly and the AlphaVantage API

QSTrader Fee Model Class Hierarchy

QSTrader Asset Class Hierarchy

Building a Raspberry Pi Cluster for QSTrader Using SLURM - Part 5

Building a Raspberry Pi Cluster for QSTrader Using SLURM - Part 4

Geometric Brownian Motion Simulation with Python

Building a Raspberry Pi Cluster for QSTrader using SLURM - Part 3

Evaluating Data Coverage with Tiingo

Building a Raspberry Pi Cluster for QSTrader using SLURM - Part 2

An Introduction to Stooq Pricing Data

Creating an Algorithmic Trading Prototyping Environment with Jupyter Notebooks and Plotly

Installing an Algorithmic Trading Research Environment with Python on Linux

Installing an Algorithmic Trading Research Environment with Python on Mac

Installing an Algorithmic Trading Research Environment with Python on Windows

Understanding Equities Data

Building a Raspberry Pi Cluster for QSTrader using SLURM - Part 1

Simple versus Advanced Systematic Trading Strategies - Which is Better?

QuantStart News - August 2020

QSTrader: Documentation Released

Sigma Algebras and Probability Spaces

Training the Perceptron with Scikit-Learn and TensorFlow

QuantStart News - July 2020

Connecting to the Interactive Brokers Native Python API

Introduction to Artificial Neural Networks and the Perceptron

Installing TensorFlow 2.2 on Ubuntu 18.04 with an Nvidia GPU

QuantStart News - June 2020

QSTrader: v0.1.1 Released

Periodically Rebalanced Static Allocation 'Buy and Hold' Strategies in QSTrader

QSTrader: v0.1.0 Released

QuantStart Content Survey 2020

Matrix Inversion - Linear Algebra for Deep Learning (Part 3)

How to Learn Advanced Mathematics Without Heading to University - Part 4

Generating Synthetic Histories for Backtesting Tactical Asset Allocation Strategies

The 60/40 Benchmark Portfolio

Systematic Tactical Asset Allocation: An Introduction

Hiring a Software Developer to Code Up a Trading Strategy

Engineering To Quant Finance - How To Make The Transition

Installing TensorFlow on Ubuntu 16.04 with an Nvidia GPU

QSTrader: November 2017 Update

QSTrader: A Major Update On Our Progress

Capital Raising for Early Stage Quant Fund Managers - Part I

High Frequency Trading III: Optimal Execution

High Frequency Trading II: Limit Order Book

Best Operating System For Quant Trading?

High Frequency Trading I: Introduction to Market Microstructure

What Alternative Career Paths Exist For Quants?

Derivatives Pricing III: Models driven by Lévy processes

Derivatives Pricing II: Volatility Is Rough

Backtesting Systematic Trading Strategies in Python: Considerations and Open Source Frameworks

Derivatives Pricing I: Pricing under the Black-Scholes model

Should You Buy or Rent a GPU-Based Deep Learning Machine for Quant Trading Research?

Matrix Algebra - Linear Algebra for Deep Learning (Part 2)

Rough Path Theory and Signatures Applied To Quantitative Finance - Part 4

Scalars, Vectors, Matrices and Tensors - Linear Algebra for Deep Learning (Part 1)

Rough Path Theory and Signatures Applied To Quantitative Finance - Part 3

What are the Different Types of Quant Funds?

Rough Path Theory and Signatures Applied To Quantitative Finance - Part 2

Setting up an Algorithmic Trading Business

Rough Path Theory and Signatures Applied To Quantitative Finance - Part 1

What are the Career Paths in Systematic Trading?

What is Deep Learning?

QuantStart Upcoming Content Survey 2017

Market Regime Detection using Hidden Markov Models in QSTrader

Annualised Rolling Sharpe Ratio in QSTrader

Advanced Algorithmic Trading - Final Release

Sentiment Analysis Trading Strategy via Sentdex Data in QSTrader

Aluminum Smelting Cointegration Strategy in QSTrader

Advanced Algorithmic Trading and QSTrader - Fifth Update

K-Means Clustering of Daily OHLC Bar Data

Bootstrap Aggregation, Random Forests and Boosted Trees

Black Friday Weekend - 40% Discount On All Ebooks!

QuantStart Singapore November 2016 Trip Report

QuantStart Gets a Makeover

Advanced Algorithmic Trading and QSTrader - Fourth Update

Strategic and Equal Weighted ETF Portfolios in QSTrader

Monthly Rebalancing of ETFs with Fixed Initial Weights in QSTrader

QuantStart New York City October 2016 Trip Report

QuantStart Events in October and November 2016

Hidden Markov Models for Regime Detection using R

Kalman Filter-Based Pairs Trading Strategy In QSTrader

Quant Finance Career Skills - What Are Employers Looking For?

Hidden Markov Models - An Introduction

How to Learn Advanced Mathematics Without Heading to University - Part 3

Dynamic Hedge Ratio Between ETF Pairs Using the Kalman Filter

Beginner's Guide to Decision Trees for Supervised Machine Learning

Should You Build Your Own Backtester?

Maximum Likelihood Estimation for Linear Regression

Mailbag: How Do You Move From Quant Developer To Quant Trader?

Beginner's Guide to Unsupervised Learning

Mailbag: Can You Get A Job In HFT Without A Degree?

Advanced Algorithmic Trading and QSTrader - Second Update

Johansen Test for Cointegrating Time Series Analysis in R

Cointegrated Augmented Dickey Fuller Test for Pairs Trading Evaluation in R

Cointegrated Time Series Analysis for Mean Reversion Trading with R

Deep Learning with Theano - Part 1: Logistic Regression

How to Learn Advanced Mathematics Without Heading to University - Part 2

Advanced Algorithmic Trading and QSTrader Updates

QuantStart April 2016 News

Bayesian Linear Regression Models with PyMC3

Markov Chain Monte Carlo for Bayesian Inference - The Metropolis Algorithm

How to Learn Advanced Mathematics Without Heading to University - Part 1

Careers in Quantitative Finance

Advanced Trading Infrastructure - Portfolio Handler Class

Advanced Trading Infrastructure - Portfolio Class

Advanced Trading Infrastructure - Position Class

QuantStart: 2015 In Review

State Space Models and the Kalman Filter

Announcing the QuantStart Advanced Trading Infrastructure Article Series

How to Write a Great Quant Blog

Announcement: Speaking at QuantCon in April 2016

ARIMA+GARCH Trading Strategy on the S&P500 Stock Market Index Using R

Generalised Autoregressive Conditional Heteroskedasticity GARCH(p, q) Models for Time Series Analysis

Autoregressive Integrated Moving Average ARIMA(p, d, q) Models for Time Series Analysis

Autoregressive Moving Average ARMA(p, q) Models for Time Series Analysis - Part 3

Autoregressive Moving Average ARMA(p, q) Models for Time Series Analysis - Part 2

Autoregressive Moving Average ARMA(p, q) Models for Time Series Analysis - Part 1

White Noise and Random Walks in Time Series Analysis

Serial Correlation in Time Series Analysis

Forex Trading Diary #7 - New Backtest Interface

Beginner's Guide to Time Series Analysis

Successful Algorithmic Trading Updated for Python 2.7.x and Python 3.4.x

Forex Trading Diary #6 - Multi-Day Trading and Plotting Results

Bayesian Inference of a Binomial Proportion - The Analytical Approach

The Top 5 UK Universities For Becoming A Quant

Forex Trading Diary #5 - Trading Multiple Currency Pairs

Forex Trading Diary #4 - Adding a Backtesting Capability

Matrix-Matrix Multiplication on the GPU with Nvidia CUDA

Best Undergraduate Degree Course For Becoming A Quant?

Using Cross-Validation to Optimise a Machine Learning Method - The Regression Setting

Forex Trading Diary #3 - Open Sourcing the Forex Trading System

The Bias-Variance Tradeoff in Statistical Machine Learning - The Regression Setting

Forex Trading Diary #2 - Adding a Portfolio to the OANDA Automated Trading System

Forex Trading Diary #1 - Automated Forex Trading with the OANDA API

Supervised Learning for Document Classification with Scikit-Learn

QuantStart: 2014 in Review

Monte Carlo Simulations In CUDA - Barrier Option Pricing

Bayesian Statistics: A Beginner's Guide

dev_array: A Useful Array Class for CUDA

Installing Nvidia CUDA on Ubuntu 14.04 for Linux GPU Computing

Event-Driven Backtesting with Python - Part VIII

Support Vector Machines: A Guide for Beginners

Vector Addition "Hello World!" Example with CUDA on Mac OSX

Installing Nvidia CUDA on Mac OSX for GPU-Based Parallel Computing

Easy Multi-Platform Installation of a Scientific Python Stack Using Anaconda

Basics of Statistical Mean Reversion Testing - Part II

Value at Risk (VaR) for Algorithmic Trading Risk Management - Part I

A Day in the Life of a Quantitative Developer

How To Get A Quant Job Once You Have A PhD

Top 5 Essential Books for Python Machine Learning

Money Management via the Kelly Criterion

Quick-Start Python Quantitative Research Environment on Ubuntu 14.04

Parallelising Python with Threading and Multiprocessing

Event-Driven Backtesting with Python - Part VII

Beginner's Guide to Statistical Machine Learning - Part I

Event-Driven Backtesting with Python - Part VI

Event-Driven Backtesting with Python - Part V

Event-Driven Backtesting with Python - Part IV

My Talk At The London Financial Python User Group

Event-Driven Backtesting with Python - Part III

Downloading Historical Intraday US Equities From DTN IQFeed with Python

Event-Driven Backtesting with Python - Part II

Event-Driven Backtesting with Python - Part I

Choosing a Platform for Backtesting and Automated Execution

Backtesting An Intraday Mean Reversion Pairs Strategy Between SPY And IWM

Using Python, IBPy and the Interactive Brokers API to Automate Trades

Continuous Futures Contracts for Backtesting Purposes

Backtesting a Forecasting Strategy for the S&P500 in Python with pandas

Backtesting a Moving Average Crossover in Python with pandas

Research Backtesting Environments in Python with pandas

Forecasting Financial Time Series - Part I

Self-Study Plan for Becoming a Quantitative Trader - Part II

Downloading Historical Futures Data From Quandl

My Interview Over At OneStepRemoved.com

Why a Masters in Finance Won't Make You a Quant Trader

Self-Study Plan for Becoming a Quantitative Trader - Part I

How to Get a Job at a High Frequency Trading Firm

Basics of Statistical Mean Reversion Testing

Installing a Desktop Algorithmic Trading Research Environment using Ubuntu Linux and Python

Calculating the Greeks with Finite Difference and Monte Carlo Methods in C++

Jump-Diffusion Models for European Options Pricing in C++

Getting a Job in a Top Tier Quant Hedge Fund

Heston Stochastic Volatility Model with Euler Discretisation in C++

Free Quantitative Finance Resources

Implied Volatility in C++ using Template Functions and Newton-Raphson

Eigen Library for Matrix Algebra in C++

What's New in the C++11 Standard Template Library?

Best Programming Language for Algorithmic Trading Systems?

C++ Standard Template Library Part III - Algorithms

Top 10 Essential Resources for Learning Financial Econometrics

Interactive Brokers Demo Account Signup Tutorial

Generating Correlated Asset Paths in C++ via Monte Carlo

Implied Volatility in C++ using Template Functions and Interval Bisection

Top 5 Essential Beginner Books for Algorithmic Trading

Sharpe Ratio for Algorithmic Trading Performance Measurement

C++ Standard Template Library Part II - Iterators

Securities Master Database with MySQL and Python

Securities Master Databases for Algorithmic Trading

C++ Explicit Euler Finite Difference Method for Black Scholes

Successful Backtesting of Algorithmic Trading Strategies - Part II

Can Algorithmic Traders Still Succeed at the Retail Level?

Successful Backtesting of Algorithmic Trading Strategies - Part I

How to Identify Algorithmic Trading Strategies

Random Number Generation via Linear Congruential Generators in C++

Function Objects ("Functors") in C++ - Part 1

Statistical Distributions in C++

Floating Strike Lookback Option Pricing with C++ via Analytic Formulae

Beginner's Guide to Quantitative Trading

Risk Neutral Pricing of a Call Option with Binomial Trees with Non-Zero Interest Rates

Self-Study Plan for Becoming a Quantitative Analyst

Asian option pricing with C++ via Monte Carlo Methods

Self-Study Plan for Becoming a Quantitative Developer

Can You Still Become a Quant in Your Thirties?

C++ Standard Template Library Part I - Containers

Matrix Classes in C++ - The Source File

Matrix Classes in C++ - The Header File

Tridiagonal Matrix Algorithm ("Thomas Algorithm") in C++

Double digital option pricing with C++ via Monte Carlo methods

Digital option pricing with C++ via Monte Carlo methods

European vanilla option pricing with C++ via Monte Carlo methods

European vanilla option pricing with C++ and analytic formulae

Jacobi Method in Python and NumPy

QR Decomposition with Python and NumPy

Cholesky Decomposition in Python and NumPy

LU Decomposition in Python and NumPy

STL Containers and Auto_ptrs - Why They Don't Mix

Which Programming Language Should You Learn To Get A Quant Developer Job?

Mathematical Constants in C++

My Experiences as a Quantitative Developer in a Hedge Fund

Passing By Reference To Const in C++

Why Study for a Mathematical Finance PhD?

What Classes Should You Take To Become a Quantitative Analyst?

C++ Virtual Destructors: How to Avoid Memory Leaks

What are the Different Types of Quantitative Analysts?

Quantitative Finance Reading List

Derivative Pricing with a Normal Model via a Multi-Step Binomial Tree

Pricing a Call Option with Multi-Step Binomial Trees

Pricing a Call Option with Two Time-Step Binomial Trees

Multinomial Trees and Incomplete Markets

Replication Pricing of a Call Option with a One-Step Binomial Tree

Risk Neutral Pricing of a Call Option with a Two-State Tree

Hedging the sale of a Call Option with a Two-State Tree

Introduction to Option Pricing with Binomial Trees

Understanding How to Become a Quantitative Analyst

Top 5 Essential Beginner C++ Books for Financial Engineers

Top 5 Finite Difference Methods books for Quant Analysts

5 Top Books for Acing a Quantitative Analyst Interview

5 Important But Not So Common Books A Quant Should Read Before Applying for a Job

European Vanilla Call-Put Option Pricing with Python

Options Pricing in Python

Tridiagonal Matrix Solver via Thomas Algorithm

Crank-Nicholson Implicit Scheme

Solving the Diffusion Equation Explicitly

Derivative Approximation via Finite Difference Methods

Junior Quant Jobs Beginning a career in Financial Engineering after a PhD

Deriving the Black-Scholes Equation

Ito's Lemma

Geometric Brownian Motion

Stochastic Differential Equations

Brownian Motion and the Wiener Process

Quant Reading List Python Programming

Quant Reading List Numerical Methods

Quant Reading List C++ Programming

Quant Reading List Derivative Pricing

The Markov and Martingale Properties

Introduction to Stochastic Calculus