marketcorollary

How the numbers are made

Methodology

Everything here is reproducible. Data is fetched from public sources, validated against published anchors, and every figure regenerates from a single command.

Data sources

  • Factor returns — Ken French Data Library, fetched live (5-factor set incl. RMW & CMA, momentum, 12 industry and 25 size-sorted portfolios). Coverage 1949-01 to 2026-05. An offline bundle is the automatic fallback if the host is unreachable.
  • Daily prices — historical S&P 500 and Dow archives spliced with live Yahoo Finance data, giving a continuous series 1927-12-30 to 2026-07-29.
  • Valuation — Shiller monthly S&P 500 and CAPE (PE10).

Statistics

Factors are scored with one-sample t-tests on monthly returns, annualized return and volatility, Sharpe ratios, maximum drawdown, and pre/post-publication splits. A t-stat above about 3 is treated as the bar for significance (Harvey, Liu & Zhu, 2016). Out-of-sample columns re-score each factor on data after 2017-03 — the point where the original frozen dataset ended.

Folklore indicators use event-vs-control mean returns with Welch t-tests, a 2,000-draw circular-shift permutation test that preserves event clustering, and Benjamini–Hochberg false-discovery correction across the whole battery. A deliberate placebo (Ramadan, which should have no US effect) is included to confirm the pipeline does not manufacture significance.

Validation & anchors

Computed premia are checked against published values before use, and an autonomous agent pipeline re-derives four anchor premia on every refresh; if upstream data is silently restated, the pipeline blocks rather than adapting.

Caveats that matter

Academic long/short factors are not investable products: no shorting costs, no borrow constraints, frictionless monthly rebalancing. Cost-drag assumptions (0% / 1% / 3.5% per year by turnover) are estimates and the most contestable numbers here. Daily results use price returns, not total returns. This is research documentation, not investment advice.