Purchasing Power Parity and FX Fair Value
Economic framing
Purchasing power parity (PPP) treats the real exchange rate as the object of interest. For domestic price level Pd, foreign Pf, and spot expressed as domestic currency per foreign currency, q = S Pf / Pd. A high q means the foreign currency buys an unusually expensive consumption basket. PPP is a long-horizon valuation anchor, not a short-horizon trading signal.
The key modeling distinction is between a descriptive relationship and an investable return. A signal can be economically coherent, statistically significant, and still fail after its publication lag, financing, roll conventions, spreads, and capacity limits. Define returns in the investor’s base currency and make the signal available only when its inputs could genuinely have been observed.
Signal construction
Construct relative-price indices with matched CPI definitions, seasonal adjustments, and a common base date. Estimate a fair value using log q relative to a rolling median or an error-correction model. Inflation revisions, indirect taxes, and changing consumption weights make the apparent precision of a single fair-value number misleading. Compare CPI PPP with producer-price, unit-labor-cost, and productivity-adjusted measures.
| Component | Robust implementation | Common failure |
|---|---|---|
| Universe | Tradable instruments with history | Survivorship and stale quotes |
| Signal | Lagged, normalized, winsorized | Looking through revisions |
| Sizing | Volatility and liquidity aware | Equal notional concentration |
| Execution | Dated contracts and conservative costs | Mid-price backtest |
import numpy as np
import pandas as pd
def bounded_position(signal: pd.Series, vol: pd.Series, target=.10):
z = signal.clip(-2, 2) / 2
raw = z * target / vol.clip(lower=.03)
return raw.clip(-.20, .20)
The code is deliberately only a position transform. Production research needs a separate data-validation layer, an instrument master, expiry-aware pricing, and a reproducible version of every input.
Portfolio and risk controls
The tradeable question is whether a valuation gap predicts returns within the mandate horizon. Use valuation as a slow signal, combine it with carry and trend, and rebalance infrequently. Decompose returns into convergence, inflation differential, and changes in the fair-value estimate. This distinguishes a successful forecast from a moving benchmark. Forward implementation and the difference between spot and hedged returns follow FX forwards and NDF trading.
| Risk | Diagnostic | Control |
|---|---|---|
| Model risk | Subperiod and parameter dispersion | Ensemble and shrinkage |
| Liquidity | Spread and turnover under stress | Capacity and participation caps |
| Tail loss | Scenario expected shortfall | Gross and factor limits |
| Operational | Missing marks or contract changes | Exceptions and reconciliation |
Research protocol
Use walk-forward evaluation rather than choosing parameters on the full sample. Preserve delisted instruments where relevant, use the actual rebalance calendar, and examine signal decay after a realistic delay. Report gross and net Sharpe, drawdown, expected shortfall, turnover, leverage, and exposures—not only a cumulative chart. A useful falsification test is to perturb lookbacks, rebalance dates, and reasonable cost assumptions; a fragile result should not receive the same capital as an effect that survives those variations.
Separate alpha from risk transformation. Volatility targeting can improve comparability, yet it may mechanically add leverage after quiet periods. Attribution should explain whether returns came from directional beta, carry, convexity, rebalancing, or the intended signal. Governance requires pre-specified limits and an escalation path when data or liquidity assumptions fail.
Key takeaways
- Treat the signal as a conditional forecast, not a permanent economic law.
- Use lagged, executable data and include financing, rolls, and conservative transaction costs.
- Size from risk and liquidity, then control common factors and stressed correlation.
- Favor designs that remain credible after parameter, cost, and regime perturbations.
Measurement details
A practical model records the observation timestamp, the decision timestamp, and the execution timestamp separately. This prevents accidental use of a fixing, macro release, or option quote that was unavailable when the trade would have been placed. Transform raw inputs into robust percentiles or z-scores within a stable universe, and freeze the cross-sectional membership at each rebalance.
| Test | Question answered | Passing evidence |
|---|---|---|
| Availability | Was the input known? | Timestamped source and lag |
| Stability | Is one parameter decisive? | Similar results in a parameter neighborhood |
| Costs | Does the edge survive trading? | Net return at stressed spreads |
| Capacity | Can intended size trade? | Volume and market-impact budget |
Do not infer causality from a favorable in-sample regression. The relationship may proxy for a broad risk premium, and its payoff can vanish when the portfolio is most crowded. Use a holdout period and a paper-trading reconciliation before production capital.
