Portfolio
Research
Independent, reproducible empirical research in quantitative finance — research questions tested with walk-forward validation and fold-clustered statistical inference.
Does ADF Filtering Improve Pairs-Trading Performance Out of Sample? Latest
Independent Research · 2026
PythonStatisticsHypothesis TestingTime SeriesPairs TradingJupyter
Research question
Pairs traders often keep only the pairs whose formation-window spread rejects a unit root in an Augmented Dickey–Fuller (ADF) test. Do those pairs actually go on to outperform, in the next out-of-sample trading window, the pairs that failed the test — once both groups are traded with the same rule, costs, and capital?
Design
92 economically related ETF pairs · 34 walk-forward folds · 2008–2026 · 252-day formation window · 126-day out-of-sample trading window. Formation-window estimates (hedge ratio, spread mean/std, ADF p-value) are frozen before each trading window; a pair is eligible if its p-value is below 5%. Every pair is then traded with the same z-score rule and realistic transaction costs.
Main finding
No statistically detectable out-of-sample benefit from the ADF filter in this experiment: pairs that pass the formation-window stationarity test do not outperform pairs that fail it in the following trading window.
Inference & robustness
- Primary inference via fold-clustered Fama–MacBeth test across the 34 folds
- Cross-checked with a Newey–West test and a fold-block bootstrap — both agree closely with the primary result
- Two-way clustered regression on all 3,128 pair-fold observations (clustered by fold and by pair)
- Seven additional robustness checks: formation-window length, transaction costs, reversed pair orientation, hedge-ratio sign, and an Engle–Granger alternative filter — every interval still contains zero
Per-fold differences
Built on top of QuantLab's data pipeline, walk-forward windows, cost model, and fold-clustered inference. Code, data cache, results, and the executed notebook are all in the repository.