Top 10
Bottom 10
What $1 grew to
Click up to four rows in the table below to compare them with the total market. The scale is logarithmic, so equal steps up mean equal percentage growth.
Every index
Click a column to sort, or a row to chart it.
Do the winners keep winning?
Each index ranked by growth in one period, then again in the next period of the same length.
Hardly. Across 125 indexes, how well something did in one 15-year stretch says almost nothing about the next one. That's why chasing last decade's best sector is risky, and why a broad market index is a hard benchmark to beat.
How it works
- Data: Python downloads monthly, value-weighted returns from the Kenneth R. French Data Library, the standard source for academic research on US stocks, and parses the first table of each file.
- Analysis: pandas computes each index's compound annual growth, annualized volatility, Sharpe ratio against the risk-free rate, worst peak-to-trough drop, and growth of $1, for any window. Indexes missing any month in a window are left out of it.
- Ranking: indexes are sorted by the chosen measure. Ranks from back-to-back windows are compared with a Spearman correlation.
- This page:
python -m indexer exportwrites the results to one JSON file. The page only displays it; all the math is in the tested Python package.
From the command line
$ python -m indexer rank --years 15 --top 3 --group Industry
49 indexes ranked by cagr, 2011-09 to 2026-08
# Index Group CAGR Vol Sharpe Max DD $1 →
1 Electronic Equipment Industry 26.6% 22.1% 1.12 -29.9% 34.38
2 Defense Industry 19.5% 20.2% 0.91 -23.5% 14.51
3 Software Industry 18.0% 18.2% 0.92 -39.3% 12.04
…
47 Apparel Industry 5.4% 22.1% 0.28 -52.6% 2.20
48 Recreation Industry 3.8% 25.2% 0.21 -73.2% 1.75
49 Coal Industry -6.7% 46.0% 0.05 -97.2% 0.35
Did the winners repeat? Comparing 1996-09 to 2011-08 with 2011-09 to 2026-08: rank correlation 0.12, 3 of the earlier top 10 stayed in the top 10.
Options: --years, --by cagr|sharpe|max_drawdown|volatility|growth, --group Industry, --end 2008-12. 15 pytest tests cover parsing, every measure, ranking, and the exported results.