Loading factor premia…
Methodology: Records from the d82 decision ledger are sorted ascending by factor score and partitioned into 5 equal quintiles. The Q5−Q1 mean realized-return spread is the empirical factor premium. Significance requires |t| > 2.0 and n ≥ 30; insignificant entries fall back to the annualized legacy prior scaled to annual / 252 × horizonDays. Factor-attribution.js should call getPremium(premiaTable, currentRegime, factorId, horizonDays, LEGACY_FALLBACK[factorId]) instead of reading the hardcoded FACTOR_RETURNS constant. The premia table is rebuilt nightly by the d82-update cron and written to data/factor-premia-table.json.