Home / Ideas / Kalman-Filter Dynamic Hedge-Ratio Pairs

Pairs trading & cointegration (ETFs) · 2026-08-31

Kalman-Filter Dynamic Hedge-Ratio Pairs

trade a state-space spread whose beta re-estimates every day

expected Sharpe 0.4–0.9confidence: mediumfree daily data

A static OLS/cointegration hedge ratio decays as two ETFs drift in factor loadings; a Kalman filter treats the hedge ratio as a hidden state and updates it online, producing a more stationary, tradable spread than rolling regression. This is a materially different signal-construction method from fixed-beta z-score cointegration.

Universe

A small fixed set of economically linked ETF pairs, e.g. GLD/GDX, EWA/EWC, IYR/VNQ, XLE/XOP, IEF/TLT — daily OHLCV only.

How it works

Kalman-filter regression of ETF A on ETF B yields a time-varying beta and measurement residual; enter when the standardized residual exceeds ±1.5 (dollar-neutral long cheap / short rich), exit at ±0.25 or on filter-implied mean-crossing, position sized inversely to residual volatility.

Expected performance

Research-derived Sharpe estimate: 0.4–0.9. GLD/GDX-style convergence largely died post-2018; edge is thinner and pair-dependent).

Backtest this idea with SignalChain

This is a research lead — not a finished backtest. SignalChain takes an idea like this and runs the whole pipeline inside Claude Code: it researches the concept against academic and practitioner sources, sets benchmarks, writes and lints a VectorBT backtest, runs it, and grades the result PASS/FAIL. One command:

/signalchain Kalman-filter time-varying hedge ratio pairs trade on linked ETF pairs, enter on standardized state-space residual beyond 1.5 sigma, dollar-neutral Get SignalChain — $49 →

Research & sources

Not financial advice. This page describes a research idea, not a recommendation. Any performance figures are hypothetical, research-derived estimates and are not indicative of future results. SignalChain is a research and educational tool; you are solely responsible for any decisions you make.