Dispatch
Essays, videos and long-form notes on quantitative finance, mathematics and programming.
- Substack(opens in a new tab)
The maths of market making: value, uncertainty, fills, and inventory
Suppose you know how to quote a two-sided market.
- ArticleBuild a quant project portfolio · Part 2
How to build a quant research project: from a quick win to a role capstone
Turn a small quant tool into a research workflow using existing portfolio, execution and pricing projects, with benchmarks, decision records and failure checks.
- ArticleBuild a quant project portfolio · Part 3
How to present a quant project in an interview: evidence, results and limitations
Present a quant project with a clear question, benchmark, checked calculation, failed assumption and defensible conclusion, using existing project examples.
- ArticleThe maths behind quant finance · Part 1
Martingales explained: fair games, conditional expectation and finance
Understand martingales through fair games, information and conditional expectation, with a counterexample, worked pricing connections and Python checks.
- ArticleThe maths behind quant finance · Part 2
Brownian motion explained: properties, simulation and quadratic variation
Build Brownian motion from Gaussian increments, understand square-root time scaling and quadratic variation, and simulate paths with reproducible Python.
- ArticleThe maths behind quant finance · Part 3
Itô’s lemma explained: intuition, derivation and worked examples
Derive the Itô correction from quadratic variation and apply Itô’s lemma to Brownian squares, log stock prices and exponential martingales.
- ArticleThe maths behind quant finance · Part 4
Geometric Brownian motion: solution, moments and Python simulation
Solve geometric Brownian motion, compare its mean and median, distinguish pricing from forecasting, and simulate exact grid transitions in Python.
- ArticleThe maths behind quant finance · Part 5
Risk-neutral pricing explained: a two-state replication example
Calculate a call price by replication and risk-neutral expectation in the same two-state model, then connect the result to martingales and Black–Scholes.
- ArticleThe maths behind quant finance · Part 6
Monte Carlo simulation in finance: a beginner’s guide with Python
Estimate a nonlinear financial expectation in Python, report Monte Carlo error bars, and separate sampling error from model and input uncertainty.
- ArticleQuant interview practice · Part 4
Statistics interview questions for quant researchers: five worked investigations
Practise quant statistics questions on confidence intervals, paired tests, multiple testing, dependence and leakage, with worked calculations and checks.
- ArticleQuant interview practice · Part 5
Market-making interview questions: prices, information, inventory and execution
Work through market-making interview questions on quotes, adverse selection, inventory and order-book costs, with full solutions and numerical diagrams.
- ArticleQuant interview practice · Part 6
Python interview questions for quants: data, simulation and numerical checks
Solve five Python quant interview problems on returns, release-time joins, rolling means, simulation and portfolio risk, with runnable checked solutions.
- ArticleQuant interview practice · Part 7
How to prepare for a quant interview: a role-specific study plan
Build a role-specific quant interview preparation plan with diagnostics, an eight-week study template, mock sessions and targeted concept repair.
- ArticleStart learning quant · Part 1
Quant finance for beginners: where to start and what to learn
Learn what quantitative finance involves, which foundations to study, and how to begin with a checked calculation and your first small project.
- ArticleStart learning quant · Part 3
Quant researcher vs quant trader vs quant developer: how the roles differ
Compare quant researcher, trader and developer responsibilities, skills and projects, plus pricing, portfolio and risk specialisms.
- ArticleStart learning quant · Part 5
What maths do you need for quant finance? A guide by task and role
Map probability, statistics, calculus, linear algebra and numerical methods to quant work, with portfolio-risk examples and a mathematics dependency map.
- ArticleStart learning quant · Part 6
Python for quant finance: what to learn first, with a runnable example
Learn Python for quant finance through functions, NumPy, dated tables, simulation and testing, with a seeded Monte Carlo example and uncertainty checks.
- ArticleStart learning quant · Part 7
Can you become a quant without a finance degree? Routes, requirements and gaps
Explore routes into quant without a finance degree, with dated employer examples, transferable skills, study gaps and evidence from checked projects.
- ArticleVolatility forecasting and risk · Part 1
Volatility forecasting: what are you actually predicting?
Volatility forecasting explained: return definitions, information dates, annualisation and the differences between historical, realised and implied measures.
- ArticleVolatility forecasting and risk · Part 2
Realised volatility: a flat close can hide a busy day
Measure realised variance from intraday returns, understand overnight coverage and see why market microstructure noise can defeat naive high-frequency sampling.
- ArticleVolatility forecasting and risk · Part 3
EWMA volatility forecasting: how quickly should yesterday change your risk estimate?
Calculate an EWMA variance forecast, interpret its decay and weight half-life, and avoid initialisation and forecast-alignment leakage.
- ArticleVolatility forecasting and risk · Part 4
GARCH volatility forecasting: persistence, mean reversion and a forecast you can audit
GARCH explained through a numerical forecast: positivity, persistence, long-run variance, multi-day aggregation, estimation and unit checks.
- ArticleVolatility forecasting and risk · Part 5
Asymmetric volatility and heavy tails: two different ways a risk model can miss the loss
Distinguish asymmetric GJR variance updates from heavy-tailed innovations, with worked shocks and variance-standardised Student-t examples.
- ArticleVolatility forecasting and risk · Part 6
How to evaluate volatility forecasts: QLIKE, noisy targets and an untouched final sample
Evaluate volatility forecasts using variance MSE and QLIKE-related scores, noisy proxies and a separate final sample with reproducible results.
- ArticleVolatility forecasting and risk · Part 7
Value at Risk and Expected Shortfall: a threshold is not a maximum loss
Value at Risk and Expected Shortfall explained with Gaussian and discrete examples, tail-mass conventions and an honest exception-count analysis.
- ArticleVolatility forecasting and risk · Part 8
Portfolio volatility: the correlation assumption can change the risk budget
Calculate portfolio volatility and Euler risk contributions, stress correlation assumptions and inspect the leverage implications of volatility targeting.
- ArticleVolatility forecasting and risk · Part 9
Stress testing: what if the volatility model is the wrong description of tomorrow?
Build a coherent stress report that separates mark losses, liquidation costs, collateral requirements, nonlinear revaluation and model sensitivity.
- ArticleVolatility forecasting and risk · Part 10
A volatility forecasting project in Python: four models, one clock and an honest risk report
Run an offline Python volatility project comparing rolling, EWMA and GARCH forecasts, with chronological validation, tail thresholds and leakage checks.
- ArticleMachine learning for financial time series · Part 1
Machine learning for financial time series: build features without data leakage
Financial feature engineering with point-in-time timestamps, pre-open execution, rolling windows and train-only preprocessing. Includes causal checks and a reproducible Python experiment.
- ArticleMachine learning for financial time series · Part 2
Time-series cross-validation for trading models: walk-forward splits, purging and baselines
Time-series cross-validation for trading models: expanding windows, label availability, purging, fold-local preprocessing, baselines and a separate final sample.
- ArticleMachine learning for financial time series · Part 3
Does machine learning beat a simple trading strategy? Compare forecasts, positions and costs
Does machine learning improve a trading decision? Compare ridge, a shallow tree, zero and mean forecasts with explicit positions, turnover costs and a designed regime change.
- ArticleMachine learning for financial time series · Part 4
Financial time-series machine learning in Python: a reproducible experiment that fails out of sample
Run a reproducible financial time-series ML project in Python: point-in-time features, chronological validation, baseline comparisons, leakage controls and an honest final failure.
- ArticleStart learning quant · Part 2
How to become a quant: a self-study roadmap by role
Follow a quant self-study roadmap through maths, Python and finance, then choose research, trading, pricing, risk or development with project checkpoints.
- ArticleStart learning quant · Part 4
What do quants do all day? Five workflows behind the job titles
Explore illustrative quant research, trading, development, pricing and validation workflows, with practical outputs and linked learning paths.
- ArticleStart learning quant in 2027 · Part 3
How quant firms trade differently—and what that means for your 2027 roadmap
Compare market making, systematic investing and multi-strategy firms, then connect each business focus to the skills and projects worth studying.
- ArticleQuant interview practice · Part 1
Quant interview questions and answers: worked examples by topic
Work through quant interview examples in probability, expectation, statistics, markets and coding, with solutions, mistakes and focused practice links.
- ArticleBuild a quant project portfolio · Part 1
Quant finance projects for beginners: nine builds and what to learn first
Choose a first quant finance project from nine existing builds, with prerequisite programmes, meaningful checks and links to applied research capstones.
- ArticleMaths / Finance / Programming for quants · Part 1
Linear algebra for quants: turn positions into exposures
Linear algebra for quants: portfolio weights, returns, factor exposures and covariance, with worked examples that keep labels and units explicit.
- ArticleMaths / Finance / Programming for quants · Part 2
Calculus for quants: a sensitivity needs a variable and a scale
Calculus for quants through a discounted cash flow: derivatives, units, local sensitivity and the limits of first- and second-order approximations.
- ArticleMaths / Finance / Programming for quants · Part 3
Finance for quants: follow the cash before fitting the model
Finance foundations for quants: cash-flow timing, compounding, discounting and a worked bond valuation before fitting a model.
- ArticleMaths / Finance / Programming for quants · Part 4
Finance for quants: exposure, leverage and the contract you actually trade
Distinguish holdings, notional, equity and leverage; connect contract payoffs to the cash and financing behind reported returns.
- ArticleMaths / Finance / Programming for quants · Part 5
Programming for quants: a timestamp is part of the data
Build causal quant data pipelines: asset labels, information availability, as-of joins, revisions and small deterministic checks.
- ArticleMaths / Finance / Programming for quants · Part 6
Programming for quants: make the result reproducible and the mistake detectable
Make quant calculations reproducible with explicit inputs, numerical checks, random seeds, simulation uncertainty and recorded code versions.
- ArticleBacktesting and strategy evaluation · Part 1
How to backtest a trading strategy in Python: start with the cash
A cash-and-shares backtest with explicit timing, affordable positions and an offline Python lab.
- ArticleBacktesting and strategy evaluation · Part 2
Look-ahead bias in backtesting: five ways a strategy can use the future
Five ways future information enters a backtest, with a deliberately invalid oracle and a causal-signal check.
- ArticleBacktesting and strategy evaluation · Part 3
Trading costs and slippage: when a profitable backtest stops working
One-way costs, turnover and execution assumptions, measured in a reproducible cash ledger.
- ArticleBacktesting and strategy evaluation · Part 4
Walk-forward validation in Python: test the rule that chooses the strategy
A chronological parameter-selection experiment with non-overlapping evaluation blocks and a separate frozen final run.
- ArticleBacktesting and strategy evaluation · Part 5
Sharpe ratio, drawdown and turnover: how to evaluate a trading strategy
Interpret return, Sharpe, Sortino, drawdown, turnover and exposure with explicit conventions and sample boundaries.
- ArticlePortfolio construction and optimisation · Part 1
Portfolio construction: define the portfolio before choosing an optimiser
Define a portfolio mandate, budget, risk measure and feasible set before choosing weights or an optimisation method.
- ArticlePortfolio construction and optimisation · Part 2
Portfolio optimisation: the weights can amplify estimation error
See how small return-estimation changes move optimal weights, and compare covariance shrinkage and constraints in a worked two-asset example.
- ArticlePortfolio construction and optimisation · Part 3
Portfolio rebalancing in Python: test the weights you could have chosen
A reproducible portfolio rebalancing experiment in Python, with past-only estimation, a cash ledger, trading costs and an equal-weight baseline.
- ArticleQuant interview practice · Part 2
Conditional probability interview questions: observation, Bayes and dependence
Solve conditional probability interview questions using dice, observation rules, Bayes, base rates and hidden bags, with full solutions and follow-ups.
- ArticleQuant interview practice · Part 3
Expected value interview questions: indicators, waiting times and stopping
Solve expected value interview questions with indicators and recurrences, including random matches, HH vs HT waiting times and a bounded stopping rule.
- ArticleOptions pricing · Part 1
What does an option price actually mean?
Option pricing explained with replication, martingales and risk-neutral valuation: a worked example, no-arbitrage bounds, dividends and put-call parity.
- ArticleOptions pricing · Part 2
Binomial option pricing: build the hedge, then work backwards
Binomial option pricing with the Cox-Ross-Rubinstein tree: replication, risk-neutral probabilities, martingales, American exercise and convergence checks.
- ArticleOptions pricing · Part 3
Black–Scholes: why the expected stock return leaves the price
Derive Black-Scholes with Ito's lemma and delta hedging. Understand geometric Brownian motion, risk-neutral martingales, option Greeks and implied volatility.
- ArticleOptions pricing · Part 4
One pricing structure, several markets: the Black–Scholes family
Compare Black-Scholes with dividends, Garman-Kohlhagen FX pricing, Black 76 futures options and Bachelier normal pricing, with worked input checks.
- ArticleOptions pricing · Part 6
Beyond Black–Scholes: what changes when volatility becomes a state?
Beyond Black-Scholes: compare Dupire local volatility, the Heston stochastic-volatility model and Merton jump-diffusion, with equations and calibration limits.
- ArticleOptions pricing · Part 7
Fourier option pricing: compute the price from a characteristic function
Fourier option pricing explained: risk-neutral characteristic functions, Carr-Madan damping, FFT errors, and connections to Heston and Merton jump-diffusion.
- ArticleOptions pricing · Part 8
One option, five pricing methods: a reproducible Python lab
Compare Black-Scholes, binomial trees, Monte Carlo and Fourier option pricing in a reproducible Python lab, with benchmarks, error bars and validation checks.
- ArticleOptions pricing · Part 5
Monte Carlo option pricing with Python: error bars and variance reduction
Price a European call using risk-neutral GBM, check an analytic benchmark, and compare plain, antithetic and control-variate Monte Carlo fairly.
- Substack(opens in a new tab)
Linear algebra for Quants - Part 2
Three more ways quants use linear algebra
- ArticleMarket making · Part 1
What is market making? A quoting game in five stages
Learn how market makers set bid and ask prices, manage inventory and lose to informed traders, through a five-stage quoting game with a six-sided die.
- ArticleMarket making · Part 2
The maths of market making: value, information, inventory, and fills
The maths behind market making: conditional value, adverse selection, volatility on the right clock, fill probabilities and inventory-adjusted quotes.
- ArticleMarket making · Part 3
Market making with Python and public data: quotes, inventory, and what happens after a trade
Measure spreads, markouts and inventory risk with Python and public Nasdaq order-book data, then test a quote rule that responds to inventory.
- ArticleStatistical arbitrage · Part 1
What is statistical arbitrage? A pairs trade in six stages
What statistical arbitrage is and how a pairs trade works: the spread, hedge ratio, market neutrality, costs and regime change, in six worked stages.
- ArticleStatistical arbitrage · Part 2
The maths of statistical arbitrage: from a fitted spread to a trade
Cointegration vs correlation, Engle-Granger residual tests, z-scores, AR(1) half-life and hedge weights: the statistics behind a pairs trade.
- ArticleStatistical arbitrage · Part 3
From spread to backtest: a statistical-arbitrage Python project
Build a reproducible pairs-trading backtest in Python: formation and holdout windows, signal timing, position accounting, costs and a public IBM/SPY check.
- Substack(opens in a new tab)
Linear algebra for Quants - Part 1
Why quants need linear algebra
- Substack(opens in a new tab)
How to learn quant for free - Part 1: The Foundation
Curating free resources to learn quant on the internet.