Knowledge Centre
Field notes
A numbered series of technical notes on building and running a systematic investment business, written for people who want to start one. Each note opens with an abstract, what you should know first and its key takeaways, and ends with the primary literature it draws on. The notes describe public ideas and general practice; none of them describes a proprietary strategy.
Published
- 01Market anomaliesWhat they are, why some of them persist, how they have held up, and how not to fool yourself when looking for new ones.A working map of the best-documented return anomalies (momentum, time-series momentum, value, profitability, low volatility, carry, seasonality, post-earnings drift and short-term reversal); the risk-based, behavioural and limits-to-arbitrage explanations for them; the evidence on decay after publication and on replication; and the multiple-testing problem that makes many newly discovered anomalies illusory.
- 02Volatility targetingSizing positions by forecast risk to keep the risk carried roughly constant, and where the rule stops protecting.The rule exposure = target volatility / forecast volatility; the estimators that feed it (rolling windows, EWMA, GARCH, range-based and realised volatility); why it stabilises risk in every asset class but improves Sharpe ratios mainly where expected returns do not rise with volatility, as in equities and credit; its turnover costs; a worked example; results on the US market and the momentum factor from 1927 to 2026; its failure modes; and an interactive laboratory on real and synthetic data with a volatility-matched benchmark.
- 03Indicators, and the 200-day moving averageWhat technical indicators measure, how to test one honestly, and a century of daily data on the most famous of them.Defines the main indicator families (trend, momentum, volatility, mean reversion, breadth) and six checks for testing any of them, then analyses the rule 'hold the US market above its 200-day moving average, otherwise T-bills' on daily data from 1927 to 2026: returns, drawdowns, time invested, switches, whipsaw, results by decade and in the deepest drawdowns, sensitivity to the lookback, to one day of execution delay and to costs, with the code that produced every number.
- 04QuantConnect and LEANAn open-source engine, a hosted platform, and what a practitioner should know before trusting either.What QuantConnect and its open-source LEAN engine are; a verified history (LEAN open-sourced in January 2015, Python support in 2017, the command-line tool in 2021, PEP 8 names in 2024); the architecture that lets one algorithm run in backtest and live; the algorithm framework; a first algorithm and a trend-rule example; the data library's coverage; honest strengths and cautions; and the documentation pages worth bookmarking.
- 05Execution: TWAP, slicing and jitterWhy orders are split over time, how execution is benchmarked, what market impact costs, and why good schedules are deliberately irregular.Implementation shortfall and its parts; arrival, TWAP and VWAP benchmarks and what each rewards; the square-root law of market impact and the Almgren–Chriss trade-off between impact and timing risk; TWAP, VWAP and participation schedules; why schedules are randomised (jitter) against predatory trading and what that costs; an interactive execution simulator; and how to measure execution quality with enough orders to mean something.
A reading order
The numbers are permanent; this is the order that builds most naturally.
- No. 01 Market anomalies — what can be expected from a signal, and how research fools itself
- No. 03 Indicators, and the 200-day moving average — one signal tested end to end, with every pitfall shown
- No. 02 Volatility targeting — sizing positions by risk, the step after the signal
- No. 05 Execution: TWAP, slicing and jitter — what it costs to trade the positions
- No. 04 QuantConnect and LEAN — the engine that runs all of it, backtest and live
Notation used throughout
| rₜ | simple return over period t (daily unless stated) |
| Pₜ | price or total-return index at the close of t |
| wₜ | exposure held over period t, decided at the close of t − 1 |
| σ, σ̂ₜ | annualised volatility; its forecast made with data up to t − 1 |
| SR | Sharpe ratio: mean excess return over its standard deviation, annualised |
| T | length of a sample in years; N the number of trials, slices or observations |
| bp | basis point, 0.01% |
Code in every note is Python with pandas and NumPy; each listing is the function that produced the numbers beside it, run on the public data named in the note.
In preparation
- 06Structuring a fund Coming laterFrom a mandate written as testable targets to a book that can be run, audited and wound down.
- 07Sleeves Coming laterCombining independent strategies into one portfolio, and deciding how much each one gets.
- 08The backtest mill Coming laterRunning research at scale: queues, reproducibility, and counting every trial.
- 09Notifications Coming laterAlerts that deserve to wake you, and the discipline of deleting the ones that do not.
- 10Monitoring a live book Coming laterWhat to watch every day once real money is at stake, and how to know the watching works.
- 11Live versus backtest reconciliation Coming laterExplaining, trade by trade, why live results differ from the simulation, and when the difference matters.