Accounting corrections
Capacity now uses raw dollar-volume features separately from standardized predictors. Departing names incur exit turnover, and missing held returns stop the run. A CRSP input route rejects missing-month histories. Historical capacity results need rerunning; a licensed survivorship-complete study remains pending.
Walk-forward protocol
At each formation month, the model trains only on targets already realized by that date. Features are standardized cross-sectionally rather than pooled through time, and a shuffled-target test checks that the pipeline cannot earn a result from leakage.
Result
The baseline earns annualized Sharpe 0.324 gross and 0.246 net of a 10 bp turnover charge, with net t-statistic 0.813. Setting costs to zero only raises the t-statistic to 1.072. Over the same window, the equal-weight universe Sharpe is 1.00.
Multiple testing
Every run appends its configuration and statistics to a committed variants log. The strongest tested specification is the quintile spread at net Sharpe 0.478 and t = 1.579, still far below the pre-stated significance hurdle and readily explained by lower concentration.
Known limitation
The reported universe uses currently traded tickers, so survivorship bias remains and the returns are optimistic. The repository now accepts explicit point-in-time membership intervals and rejects overlaps, but a licensed CRSP/WRDS run with delisting returns has not been performed.
Why it matters for ML
The transferable skill is evaluation discipline: respect time ordering, define thresholds before seeing results, count all attempts, report the negative result, and distinguish statistical evidence from a compelling story.