Home / Markets / E-mini S&P 500

E-mini S&P 500, by the numbers

Daily performance of ES futures, measured against 38 years of its own history. CAGR, correlation to peer markets, drawdown, each number paired with the distribution it lives inside.

Trailing 12-mo CAGR  ·  +8.3%31th percentile · LOW-MID

Market: ES  ·  CME E-mini S&P 500 futures
Updated: 2026-10-29 21:35 ET
Data span: 1988-12-01 to 2026-10-29 (9,554 days)

At a glance

Four headline numbers that frame today. Everything below is these numbers in richer context.

Trailing 12-mo CAGR
+8.3%
31th percentile of last 10 years  ·  LOW-MID

Current drawdown
-1.7%
77 days since last all-time high (2026-08-13)

60-day corr vs NQ
0.89
45th percentile of history

Pain Index (1-yr)
2.47%
14th percentile of last 20 years

How to use this page

Three questions sit under every chart on this page: Is today’s number unusual by this market’s own standard? Is it unusual relative to its peers? And when has it looked like this before, what came next?

Each chart answers one of those questions on one of three metric families: compounded return (CAGR), correlation to peer markets, and drawdown from peak. The at-a-glance strip above gives you the four scalar readings. The charts below show each reading inside the distribution that gives it meaning.

What the alerts (coming) will fire on

Every chart below carries an alert condition, the specific crossing or band change that fires a notification when the live pipeline turns on. Today those read as design metadata. Once wired, you’ll receive one when a reading crosses into a new regime, a correlation leaves its historical band, or a drawdown breaches a percentile line.

CAGR : compounded return

How much ES has grown per year, over different lookbacks. Each chart below sits one scalar inside its own historical distribution.

Flagship chart
C9

CAGR Shape Classifier

What historically came next when the multi-horizon CAGR shape matched today’s

Classifies the 1-yr CAGR (short-end) and 10-yr CAGR (long-end) each into HOT / MID / COLD based on each horizon’s own quintile bands. The pair produces one of five named shapes: ALL HOT (extended uptrend), ALL COLD (grinding bear), ROTATING HOT (pullback within an uptrend, short cold, long hot), ROTATING COLD (early recovery, short hot, long cold), or MIXED. The table shows, for every shape, the forward 12-month ES return distribution across every day in history that matched it. Today’s shape is highlighted. This is a complement to C8 (which does the same analog analysis on a single horizon’s decile); C9 asks the question across two horizons at once.

Today

Today’s shape = MIXED (1-yr MID, 10-yr HOT). N=2,361 historical instances. Forward-12-mo averaged +4.8% (base rate +7.2%); 73% positive (base rate 76%); worst case -46.4%, best case +77.6%.

Alert when

Fire on shape transition. The informative transitions are ALL HOT → MIXED (late-cycle rollover), ROTATING COLD → ALL HOT (recovery matures), and MIXED → ALL COLD (regime break).

C1

CAGR Percentile Ribbon

Today’s trailing 12-mo CAGR vs. its own 10-year distribution

The ribbon spans every trailing-12-mo CAGR reading over the last 10 years. The black diamond is today. Dotted lines mark 5th / 25th / 50th / 75th / 95th percentiles. Reader learns at a glance whether today’s return is unusual by the market’s own standard.

Today

ES trailing 12-mo CAGR = 8.3%, 31th percentile (LOW-MID)

Alert when

Fire when today’s reading crosses into top-decile (>90th) or bottom-decile (<10th).

C2

CAGR Horizon Grid

Trailing 1 / 3 / 5 / 10 / 20-yr CAGR, each pinned against its own historical range

Each row is a different lookback window. The faint gray bar is the full historical range; the mid-blue band is the 5th–95th percentile; the dark-blue block is the IQR (25th–75th); the white tick is the median. The diamond is today’s reading, color-coded by which quintile band it falls in. Reader sees, in one row, the value, the distribution, and the position; and across rows, whether short-horizon return is consistent with long-horizon return.

Today

1-yr: +8.3% (MID) · 3-yr: +18.0% (HIGH) · 5-yr: +7.8% (MID) · 10-yr: +12.1% (HIGH) · 20-yr: +8.7% (HIGH)

Alert when

Fire when 1-yr CAGR flips sign vs. 10-yr CAGR. Currently ALIGNED.

C4

CAGR Regime Timeline

20 years of rolling 12-mo CAGR, dot-colored by quintile band

The dotted lines mark the 20th / 40th / 60th / 80th percentiles of all readings in the window, the band boundaries. Each day of CAGR history is dot-colored by which band it falls in. Streaks of one color = sustained regime; alternating colors = chop. The eye can read regime history without squinting at the number itself.

Today

Current band: LOW-MID · in-band for 1 days

Alert when

Fire on band change, reader is told what band was just entered + how long the previous one lasted.

C5

Current vs Forward CAGR

Every day in history as a dot, X=trailing CAGR, Y=what came next

The scatter is the empirical joint distribution of trailing-12-mo CAGR (what the market has done) vs. forward-12-mo CAGR (what it then did next). Today’s trailing CAGR is drawn as a vertical line. The dots along that line are the historical forwards from similar starting conditions. If the dots cluster below zero, this starting condition historically led to negative forward years.

Today

Today: trailing 12-mo = 8.3%. Historical bucket (±5%): N=2819, 79% positive, avg forward = 7.1%

Alert when

Fire when today’s bucket hit-rate drops below 40% (historical conditions skew negative forward).

C7

CAGR Streak Counter

How long the market has been running above (or below) its 10-year median return

A one-sentence rhythm metric. If a market has been outperforming its own long-run median CAGR for 400+ days, that’s rare and worth stating in plain English. The sparkline is the trailing-12 CAGR vs. its 10-yr median; the color flips when the streak flips.

Today

ES trailing 12-mo CAGR has been BELOW the 10-yr median for 15 calendar days. Longest prior below streak = 832 days.

Alert when

Fire on streak break (above→below or below→above) AND at milestones (90/180/365 days).

C8

Forward-return Odds Table

What has historically happened in the 12 months after readings like today’s

The whole history is bucketed into 10 equal-population deciles of trailing-12-mo CAGR. For each decile, we compute the forward-12-mo distribution. Today’s decile is highlighted. This is the empirical answer to the question ‘if conditions have been like this before, what came next?’

Today

Today’s decile = D5. When trailing CAGR has been in this range before (N=905), forward 12-mo averaged 5.4% with 74% positive (worst -46.4%, best 44.4%).

Alert when

Fire when today’s decile changes OR when the current decile’s hit-rate shifts materially vs. baseline.

Correlation : how ES moves with other markets

Rolling correlations against peer futures. When the band breaks, the relationship is changing.

Flagship chart
K1

Correlation Heartbeat

ES vs NQ, rolling 60-day correlation inside its own historical band

The shaded band is the 25th–75th percentile of all historical 60-day correlations between ES and NQ. The line is today’s correlation. When the line sits inside the band the pair is ‘behaving normally’; outside the band it’s unusually tight or loose.

Today

ES–NQ 60d corr = 0.89 · 45th percentile · band = [0.86, 0.94] · inside band

Alert when

Fire when correlation leaves the 25th–75th band (either direction).

K2

Correlation Mosaic

ES vs each peer, 60-day correlation over time (weekly snapshot)

One row per peer; color is the rolling 60-day correlation each week. Hot blue = tightly positive. Hot red = tightly negative. Pale = decoupled. Horizontal bands of changing color reveal regime shifts without reading the number.

Today

Today, most-positive peer: NQ: 0.89 · most-negative peer: VX: -0.56

Alert when

Fire when any cell flips bucket (e.g., crosses 0 or +0.5).

K3

Peer Rank Mover

Which peer is ES most correlated with today vs. one year ago

Peers ranked by their rolling-60-day correlation to ES. Left column = ranking a year ago; right column = today’s ranking. Lines connect each peer across time. Steep lines reveal which peers ES’s relationship with has rotated most.

Today

Today’s rank-1 partner: NQ (0.89). One year ago: NQ (0.95). Rank-1 partner unchanged.

Alert when

Fire when rank-1 partner changes.

K4

Correlation Horizon Decay

ES vs NQ at 20 / 60 / 120 / 252 day windows

Four horizons plotted together. When the short-horizon (20d) line drifts away from the long-horizon (252d) line, the pair is in the middle of a regime change, the recent relationship is diverging from the long-run baseline.

Today

Today, 20d: 0.94 · 60d: 0.89 · 120d: 0.91 · 252d: 0.92 · gap (20d minus 252d): +0.01

Alert when

Fire when the 20d/252d gap exceeds 2 standard deviations of its own history.

K8

Correlation Regime Markers

ES vs TY, crossings of +0.5, 0, −0.5 over the last 20 years

The line is rolling 60-day correlation; horizontal dotted lines are regime boundaries. Vertical red lines mark every date the correlation crossed into a new regime. History tells us how long each regime typically lasts.

Today

Current regime: MID (+0.14). In this regime for 91 days (since 2026-07-30).

Alert when

Fire on every regime boundary crossing.

Drawdown : losses from peak

Current drawdown, days underwater, and how today’s loss ranks among all historical drawdowns.

Flagship chart
D2

Drawdown Clock

Days since the last all-time high, the rawest performance stat there is

Rankable scalar across markets. Reads in plain English. When the counter approaches the market’s prior worst-case duration, that’s a meaningful signal.

Today

Days since last all-time high: 77. Prior ATH on 2026-08-13. Longest-ever drawdown lasted 4,862 days (began 2000-03-27).

Alert when

Fire at 90 / 180 / 365 days underwater, AND when counter equals prior worst-case.

D1

Drawdown Depth with Percentile Lines

Underwater curve + reference lines at the median / 75th / 95th worst historical drawdowns

The classic underwater equity curve, enriched with horizontal lines marking the depths of the median / 75th-worst / 95th-worst drawdowns in the market’s own history. The reader learns at a glance ‘today’s drawdown is already deeper than X% of all drawdowns since 1988’.

Today

Current drawdown = -1.7%. 100% of all historical drawdowns were deeper. Historical median DD = -5.3%, 95th worst = -22.1%.

Alert when

Fire when the current drawdown crosses the median / 75th / 95th percentile depth lines.

D3

Rolling Max Drawdown

Worst drawdown over the trailing 1 / 3 / 5 years

Rolling window of the worst drawdown reached. Lets the reader answer ‘is this the worst drawdown in a year? three years? five years?’ without hunting through history. A dip in the 5-year line is a serious event.

Today

1-yr max-DD: -9.6% (75% of history was worse). 3-yr max-DD: -19.3%. 5-yr max-DD: -25.2%.

Alert when

Fire when 1-yr max-DD becomes worst-in-N-years (N=3, 5, 10).

D5

Pain Index

Area-under-the-drawdown curve, trailing 1 year

The Ulcer Index: the root-mean-square drawdown over the trailing year. Unlike max-DD, the Pain Index rewards markets that recover fast and penalizes markets that stay underwater. A single number for ‘how much actual pain the holder has lived through this year’.

Today

Today’s Pain Index = 2.47% · 17th percentile of the last 20 years.

Alert when

Fire when Pain Index enters top-decile (>90th percentile).

D8

Peak Memory

How today’s drawdown ranks among every drawdown in history

Prose summary + a table of the five deepest drawdowns on record. The point is to give the reader a plain-English answer to the question ‘how bad is this historically?’

Today

Current drawdown = -3.4%, started on 2026-08-14, underwater for 76 days. Ranks #57 by depth, #23 by duration out of 362 historical drawdowns.

Alert when

Fire when the current drawdown’s rank-by-depth or rank-by-duration improves to a new worst.

Methodology

Data, return math, window conventions

Data

ES futures continuous back-adjusted series from CME. Daily OHLC and open interest. Span: 1988-12-01 to today, nearly 9,600 trading days.

Return math

The continuous series is back-adjusted additively, so a raw percent change on the adjusted close is incorrect across roll dates. We compute daily returns as the daily close change divided by the unadjusted prior close, which gives the actual percent return traders experienced.

Rolling CAGR

Rolling trailing CAGR at a horizon of N years uses the ratio of today’s cumulative return to the cumulative return N years ago, annualized. The percentile and quintile bands shown on every CAGR chart use each horizon’s own full-history distribution.

Correlation

Pairwise rolling 60-day correlation of daily returns. Peer universe for this page: NQ, GC, CL, DX, TY, VX. Dates where either side has missing data are dropped before correlation is computed.

Drawdown

Underwater curve from the running maximum of the equity curve. Pain Index is the trailing-1-year root-mean-square drawdown (Ulcer Index). Drawdown episodes are enumerated peak → trough → recovery; episodes shallower than 3% are excluded from the percentile reference lines.

Caveats

Quintile thresholds use each metric’s full history. When a chart highlights “today’s shape has historically produced X” that is informational, not out-of-sample. The lookback window of 10 or 20 years is approximate (10 × 252 ≈ 2520 trading days). Base-rate footers under tables give you the comparison needed to judge whether an analog has signal above the base rate.