SPY (SPDR S&P 500 ETF TRUST) historical data
ETFListed
| Symbol | SPY |
|---|---|
| Name | SPDR S&P 500 ETF TRUST |
| History | 1993-01-29 to 2026-10-09 (about 33 years) |
| Bar sizes | Daily |
| Adjustments | Split-adjusted as traded |
| Survivorship | Included in the survivorship-free universe |
| Free tier | Last 12 months of daily bars |
Price history at a glance
SPY last closed at $778.57 on 2026-10-09, +16.0% over the past year and +77.8% over five years. Its deepest fall from a prior high in this history was -56.5%, reached on 2009-03-09.
| Last close | $778.57 (2026-10-09) |
|---|---|
| 1-year change | +16.0% |
| 5-year change | +77.8% |
| Annualized since 1993-01-29 | +8.9% |
| 52-week range | $631.97 – $779.09 |
| Deepest drawdown | -56.5% (2009-03-09) |
| Avg. daily dollar volume (3 months) | $33.1bn |
| Daily bars in history | 8,482 |
Split- and dividend-adjusted closes. Computed by FinzData from its own daily bars.
Institutional ownership (13F, 2026Q2)
| Managers holding | 4,641 |
|---|---|
| Shares held | 604,777,875 ($449.4bn reported value) |
| Quarter flows | 254 new, 1,806 added, 1,920 trimmed, 197 exited; +35,725,073 shares vs the prior quarter |
From SEC Form 13F filings. Every holder, line by line, and the full history since 2013: yf.Client().holders("SPY") on the look-back bundles. Top holders of SPY · All 13F managers
Get it in Python
import finzdata as yf
df = yf.Ticker("SPY").history(start="1993-01-29", interval="1d")
df.tail()