factor-investing · EM/DM · backtesting
Country Rotation Strategies
Factor-based country equity rotation across EM/DM/World: IC-driven factor selection and statistically validated backtests instead of narrative allocation.
Overview
A factor-based country equity rotation research platform covering 34 developed and emerging markets on daily data (2010–2025). Its defining commitment is evidentiary honesty: every strategy faces pre-registered certification gates, every data transform is leak-tested by automated perturbation checks, every artifact is byte-deterministic, and negative results are reported with the same prominence as positive ones. The two deployed books (EM and DM Cap-Tilt) clear the Monte-Carlo significance bar but not the full certification suite — the binding constraint is statistical power, not overfitting.
What it does
- Rotates 34 DM/EM country equity markets on a 50/50 Momentum + Value composite, built from four leak-free standardized transforms per factor.
- Freezes the factor set from a 23-source, adversarially-verified literature review before any backtest runs; selection is screened via per-period IC t-stats and Benjamini–Hochberg FDR, not IC averages alone.
- Builds portfolios with a Cap-Tilt construction — starts from cap weights and spends a 30% active-share budget on top-5/bottom-5 tilts — avoiding the structural anti-cap bet of a naive equal-weight top-N.
- Validates every book against a pre-registered gate suite: Monte-Carlo selection nulls, walk-forward efficiency, parameter-sweep stability, Lo/PSR/DSR Sharpe tests, and bootstrap IR confidence intervals.
- Enforces no-look-ahead data handling with an automated perturbation harness; only ratios, yields, spreads and deltas enter the factor catalog, never raw levels.
- Models per-country transaction costs and fee layers (TCA) — both deployed books show positive gross alpha that fee layers erase, exposing the sub-30bps wrapper a live mandate would need.
- Ships a one-command quarterly production pipeline (recert → production → dashboards) with byte-deterministic outputs and 233 automated tests.
Stack
Python 3.10+ · pytest · GitHub Actions CI.
Status
Open source (MIT). Both deployed books (EM, DM Cap-Tilt) clear Monte-Carlo significance but are power-limited — paper-trade pending a longer sample, not yet meeting the full certification bar. Proprietary vendor data (Inputs/) is gitignored; the 233 tests run on synthetic fixtures with byte-deterministic outputs.