Aggregate market timing with a handful of linear predictors has a mixed track record. Kelly, Malamud, and Zhou show that complex models — with more parameters than observations — can extract stronger out-of-sample timing signals from standard macro-financial inputs. This list links to the published paper, working paper, and the benchmark data they build on.

Complexity in market return prediction

Artificial Intelligence Asset Pricing Models

Embeds a large-scale transformer in the stochastic discount factor with cross-asset attention. Extends the Kelly line from aggregate timing to conditional cross-sectional pricing on 132 stock-level characteristics. Revised June 2026.

NBER

Benchmark predictors and data

Kelly et al. use the standard Goyal-Welch predictor set. Reproduce their baseline before extending to alt data or higher-frequency features.

Goyal-Welch Predictor Data

Monthly macro-financial variables used in the aggregate return prediction literature. The standard input panel for timing model benchmarks.

Data

Empirical Asset Pricing via Machine Learning

Complementary large-scale ML work on cross-sectional returns. Pairs with the aggregate-timing focus above when building a full ML research stack.

PDF

Visual pattern recognition

Complex models need not rely on tabular macro inputs alone. Jiang, Kelly, and Xiu treat price charts as images and learn return-predictive patterns with convolutional networks.

(Re-)Imag(in)ing Price Trends

Panel CNN on stock-level price and volume charts learns trend patterns beyond standard momentum or reversal signals. Out-of-sample decile spreads are strong gross of costs; patterns transfer across horizons and international markets. Open PDF

JF

Implementation notes

  • Complex models need strict out-of-sample protocols — complexity helps only with proper validation
  • Start from the Goyal-Welch panel before adding proprietary features
  • Separate aggregate timing from cross-sectional alpha; they have different capacity profiles
  • Transaction costs and turnover can erase timing gains even when R² improves

For cross-sectional ML validation see our ML signals reading list.