Validation

Factor library validation record, v0.1.

The publication rule, the result of applying it to library v0.1 on data through 2026-09-30, the sample data against the production data, and the cross-validation against public benchmarks. The full record is the PDF below.

Download the validation record (PDF, 12 pp)

Publication rule

In force: v0.1.

A factor is eligible for publication as a return factor only if (i) the Fama-MacBeth t-statistic on its risk premium exceeds 2.0, (ii) its information ratio in the holdout period is positive, and (iii) its decile spread remains positive net of 20 basis points per side of transaction cost. A factor that fails is still computed and reported as a risk descriptor.

Status vocabulary. PASS: meets all criteria of the publication rule in force and is eligible for publication as a return factor; MONITOR: does not meet the rule but shows either a Fama-MacBeth t-statistic above 1.0 or a positive holdout information ratio; computed and reported as a risk descriptor, not presented as a source of return; FAIL: does not meet the rule on any count; computed and reported as a risk descriptor, not presented as a source of return.

Planned for library v0.2. All t-statistics Newey-West adjusted (lag 6); adds (iv) a holdout-period joint Fama-MacBeth t-statistic > 1.0.

Results

1 of 4 families meets the rule.

FamilyFama-MacBeth t-statistic > 2.0Holdout-period information ratio > 0Decile spread > 0 net of 20 bps per sideTurnover / moStatus
Momentum
Total return from month-end t-12 to month-end t-1 (skips the most recent month)
+0.72 · not met+0.78 · met-0.02 · not met55%MONITOR
Low volatility
Negative of annualized standard deviation of daily returns over trailing 252 trading days
-3.20 · not met-1.22 · not met-0.28 · not met17%FAIL
Size (small minus big)
Negative log market capitalization (current shares x month-end price; sample-issue approximation)
+2.75 · met+0.24 · met+0.14 · met11%PASS
Short-horizon reversal
Negative of trailing 21-trading-day total return
-0.12 · not met-0.76 · not met-0.09 · not met172%FAIL

Construction sample 2016–2022, holdout 2023-01-01 onward; 128 monthly cross-sections; 482 stocks. Each criterion cell prints the observed value against the threshold in its column heading. Fama-MacBeth t-statistics are uncorrected for autocorrelation. The “Decile spread > 0 net of 20 bps per side” column is the annualized D10 − D1 return as a decimal fraction (-0.02 = -1.6%) after a linear haircut of 20 basis points per side on measured turnover.

Size caveat. Size is the only family that meets the publication rule in library v0.1. It is also the family whose sample-issue input is not point-in-time — market capitalization is approximated as the current share count multiplied by the adjusted price — so it should be treated as the least reliable of the four until as-reported share counts are licensed.

Library v0.1. The validation record is reissued with each monthly issue and on every library change.

Hypothetical results. Backtested and simulated figures are hypothetical: computed from historical data under stated assumptions, gross of transaction costs unless stated, not the results of actual trading or of any account, and not achievable by any investor. Not prepared for use in the recipient's advertising. Disclosures.

Data

Sample data and production data.

Data note. Source: publicly available daily prices, split- and dividend-adjusted close and volume. The universe is the current S&P 500 constituent list, so companies that left the index over the period are absent and the figures carry survivorship bias. Market capitalization uses one current share count per name, applied to every month-end price, not the count as reported on each date. Figures illustrate the methodology and format.

Data inputSample issuesFrom commercial launch
Coverage universe482 stocks (503 current S&P 500 constituents less 21) + 28 ETFs and volatility indicesScreened U.S. equities plus liquid ETFs, point-in-time
Index membershipCurrent constituentsPoint-in-time membership; delisted and demoted names retained
Share countsCurrent shares outstanding applied to historical pricesAs-reported share counts on each date
FundamentalsNone; the library uses price and volume onlyNone
Corporate actionsSplit and dividend adjustment embedded in the adjusted closeSplits, dividends, mergers, delistings, symbol changes
Macro dataVIX and VIX3M; Treasury, credit and gold ETFs as proxiesRates, term structure, credit spreads, volatility indices
Cross-validation

Against the Kenneth R. French Data Library.

In-house spreadBenchmarkMonthsPeriodCorrelationBeta to benchmarkSign agreement
MomentumFrench UMD1272016-02 to 2026-080.9001.3387%
Size (small minus big)French SMB1272016-02 to 2026-080.5970.8067%
Momentum, sector-neutral variantFrench UMD1272016-02 to 2026-080.835——

The benchmark series are value-weighted 2×3 sorts on the full CRSP universe; the in-house spreads are equal-weighted deciles within the sample universe, so correlation rather than level agreement is the relevant test. The size spread correlates at 0.60 with SMB; the lower figure is expected because SMB spans the full market while the sample universe contains large caps only, so the in-house spread measures size dispersion within the S&P 500 rather than small-versus-large across the market. Sector neutralization removes the component of momentum that is a bet on sector rotation; both variants are carried with their own validation.

Full specification, construction rules, decile results by factor, cost sensitivity and the correlation of monthly spreads are in the validation record (PDF, 12 pp).

Reproducibility

The benchmark comparison uses only public series from the Kenneth R. French Data Library and can be reproduced from them: correlation, beta and sign agreement of the in-house momentum and size spreads against UMD and SMB. The comparison, with the series used, is supplied in reproducible form on request.