Full replication of Fama & French (1992) Tables 1–3 — the landmark cross-sectional asset pricing study — using 1.04 million CRSP-Compustat stock-month observations from 1962–2025.
This project tests whether size (market cap) and book-to-market (B/M) ratios explain the cross-sectional variation in stock returns, as documented by Fama & French. The analysis replicates their sorting methodology and extends it to modern data.
| Dataset | Coverage | Size |
|---|---|---|
CRSP_monthly_1962_1989.csv |
1962–1989 | 78.6 MB |
CRSP_monthly_1990_2025.csv |
1990–2025 | 283.2 MB |
crsp_comp_ff1992.csv |
Merged CRSP-Compustat | 635.4 MB |
compustat_60_25.csv |
Compustat financials | 38.9 MB |
Total: 1.04M+ stock-month observations
- Merge CRSP daily returns with Compustat annual book equity (6-month lag to avoid look-ahead bias)
- Compute size (ME = price × shares) and B/M = book equity / market equity
- Sort into 25 size × B/M portfolios (5×5) using NYSE-only breakpoints
- Compute value-weighted returns for each portfolio monthly
- Estimate FF3 factor model loadings via OLS
- Monthly cross-sectional regression of returns on lagged size, B/M, and beta
- Fama-MacBeth standard errors for inference
- Replicate Tables 1, 2, and 3 from FF (1992)
| Table | Finding | Match to FF (1992) |
|---|---|---|
| Table 1 | Small stocks earn higher returns than large stocks | ✅ Within tolerance |
| Table 2 | High B/M stocks outperform low B/M stocks | ✅ Value premium confirmed |
| Table 3 | Beta alone cannot explain cross-section | ✅ Beta flat after controlling for size |
Heatmap visualization of 25 portfolio average returns confirms the size and value effects — returns increase monotonically from large-growth to small-value portfolios.
FF1992_heatmaps.png # 5×5 size/B-M portfolio return heatmap
Table1_FF1992_1962_1989.png # Replicated Table 1
ff3_comparison.png # FF3 factor comparison vs. published series
my_ff3_factors.csv # Constructed FF3 monthly factors
my_ff3_factors_complete.csv # Final cleaned FF3 output
six_portfolio_returns.csv # 6 size-BM portfolio returns
Python pandas numpy statsmodels matplotlib Google Colab WRDS/CRSP Compustat
Virginia Commonwealth University · MS Business (Financial Analytics) · FIRE 691 Reference: Fama & French (1992), Journal of Finance