Fair Value: Statistical Mean Reversion in FX


Abstract


The Fair Value (FV) system is a mean reversion strategy that trades deviations of FX spot rates from their fundamental fair value. Fair value is estimated through rolling ordinary least squares regression against a dynamically discovered set of correlated instruments. When a currency pair's return diverges significantly from what its drivers predict, the model enters a position expecting reversion to equilibrium. The system operates on hourly data across 16 currency pairs with automatic driver selection, margin-based position sizing, and regime-conditional entry gating.


Thesis


Currency pairs do not move in isolation. Each pair's returns are partially explained by the movements of other currencies, commodities, and indices. When a pair's observed return diverges materially from the return implied by its correlated drivers, one of two things is happening: either the pair has moved too far too fast and will revert, or the drivers have moved and the pair will catch up. In both cases, the residual --- the unexplained portion of the return --- tends to mean-revert.


The model captures this by computing a fair value predicted return from a rolling OLS regression, measuring the standardised deviation (z-score) of the actual return from that prediction, and entering positions when the z-score exceeds a threshold.


Signal Generation


Driver Discovery


For each target currency pair, the system identifies its top correlated instruments from a universe of 23 available candidates: 16 FX pairs plus macro drivers including equity indices (SPX, NQ), dollar index (DX), metals (GC, HG), energy (CL), and volatility (VIX). Driver selection uses a stability-weighted correlation approach:



Driver discovery is performed on a rolling basis every 500 bars using only data available up to that point. This eliminates look-ahead bias entirely.


Fair Value Estimation


Once drivers are identified, a rolling OLS regression over 500 bars estimates the target's expected return at each bar. The regression predicts what the target's return should be given the observed driver returns. The residual (actual minus predicted) represents the unexplained deviation --- the mispricing the system trades.


Z-Score and Entry


The residual is standardised using a 100-bar rolling mean and standard deviation to produce a z-score:



Volatility Filter


A residual volatility filter screens out low-volatility environments where the z-score threshold may trigger on noise rather than genuine mispricing. The filter compares recent residual volatility to its 500-bar median and requires the ratio to exceed 0.85 before allowing entries.


Exit Logic


The system employs multiple exit mechanisms to capture profit efficiently while controlling downside:



The combination creates a disciplined framework: take profit quickly when the thesis works, cut losses when it does not.


Position Management


Sizing


Position sizes are determined by margin-based allocation. Total capital of $250,000 is divided equally across a maximum of six concurrent positions. Each slot's margin allocation is converted to notional size using the pair's IB margin requirement. This ensures consistent risk per position regardless of which pair is traded.


Margin rates range from 2% for major pairs (EURUSD, USDCAD) to 5% for emerging market pairs (USDMXN, USDZAR, USDPLN), producing notional sizes that scale inversely with pair risk.


Portfolio Constraints


The system enforces a hard cap of six concurrent positions. Only one position per target pair is allowed at any time. When the portfolio is full, new signals queue until a slot opens. Portfolio margin utilisation never exceeds 80% of equity.


Pair Universe


The system trades 16 currency pairs across three categories:



Scandinavian currencies (USDSEK, USDNOK) and JPY pairs (EURJPY, USDJPY) consistently produce the strongest edge. The cross rates provide portfolio diversification through their synthetic construction.


Regime Integration


The system integrates with a centralised regime classification engine that classifies each pair's volatility environment hourly into four levels: QUIET, NORMAL, ELEVATED, and STRESS. Each level carries a direction component (falling, flat, rising) indicating the trajectory of volatility.


Regime context influences entry decisions through validated gates: certain pair-regime-direction combinations are blocked or size-reduced based on Monte Carlo validation of historical performance in that slice. This prevents the system from trading in environments where the mean reversion thesis has historically been unreliable.


Validation


The system has been validated through full-sample backtesting with realistic constraints, independent P&L recomputation, position constraint auditing, temporal stability analysis (year-by-year consistency), and concentration analysis ensuring returns are broadly distributed rather than driven by outliers.


Relationship to Other Systems


The Fair Value system is fundamentally distinct from the Elasticity-Reversal system, which trades a completely different signal (beta-adjusted residual flow rather than OLS residuals) on a different timeframe (1-minute versus hourly). The near-zero daily return correlation between the two confirms this independence, making them highly complementary in a portfolio context.


EricL Analytics — April 2026