v1.0 · Tier 2Live Out-of-sample factor-weight evaluation.
Validates that factor weights generalize beyond the training window. Splits historical bars into a sequence of rolling (in-sample → out-of-sample) windows. Fits weights on the IS, evaluates on the OOS. The OOS performance — not the IS fit — is what gets reported. No look-ahead by construction.
{
windows: [
{ isStart: '2024-01-01', isEnd: '2024-04-01', oosStart: '2024-04-01', oosEnd: '2024-05-01',
isSharpe: 1.8, oosSharpe: 1.2, isHitRate: 0.62, oosHitRate: 0.55 },
…
],
aggregate: {
avgOosSharpe: 1.1,
oosToIsRatio: 0.66, // closer to 1.0 = better generalization
overfittingFlag: 'moderate' // ratio < 0.5 → 'severe'
}
}
Anchored walk-forward (the IS window grows; OOS slides). Weight-fit via OLS on z-scored factors against forward returns; OOS evaluated by computing predicted return rank, top-decile minus bottom-decile (long-short proxy), and reporting Sharpe + hit rate.
engine/walkforward.js
Reviewed: 2026-04-27 · Next: 2026-07-27 · Per Bible §15.61