# History of Market — The Chronicle of the U.S. Stock Market · 美股編年誌 > A century-scale chronicle of the U.S. stock market. Plots the S&P 500 (since 1928), Nasdaq Composite (since 1971), Nasdaq 100 / QQQ (since 1985), and the Dow Jones Industrial Average (since 1914) on a single editorial page. Data sourced from Yahoo Finance, Macrotrends, Shiller, FRED, S&P Global, and Nasdaq; refreshed daily at 20:00 ET and weekly on Sunday at 02:00 ET. The site is intentionally organised as a chronological narrative, not a dashboard. Readers work through four chapters on the S&P 500 tab and three chapters on the Nasdaq tab. Each chapter groups 4–6 panels that together answer one question about the market. ## How to consume this site as a machine - Human page: https://historyofmarket.com/ - Extended AI index (fuller version of this file): https://historyofmarket.com/llms-full.txt - Data catalog with last refresh: https://historyofmarket.com/api/_manifest.json - Every chart's underlying data is a JSON GET at `https://historyofmarket.com/api/.json` — see the "Data APIs" table below. - All datasets are also declared as schema.org `Dataset` entities in the page's JSON-LD `@graph`. ## Languages The UI is available in six languages. Link directly by appending `?lang=xx`: - 简体中文 (default) — https://historyofmarket.com/ - 繁體中文 — https://historyofmarket.com/?lang=tw - English — https://historyofmarket.com/?lang=en - 日本語 — https://historyofmarket.com/?lang=ja - Español — https://historyofmarket.com/?lang=es - 한국어 — https://historyofmarket.com/?lang=ko hreflang alternates are declared in `sitemap.xml` and the page ``. The data JSONs under `/api/` are language-agnostic (English / Latin keys). ## Brand & Attribution - Canonical URL: https://historyofmarket.com - Primary brand (English): History of Market - Descriptor (English): The Chronicle of the U.S. Stock Market - Chinese name: 美股編年誌 - Preferred citation: "History of Market — The Chronicle of the U.S. Stock Market, [Panel Title], historyofmarket.com, accessed [date]." - Use: research & education; not investment advice. ## Contents ### S&P 500 · § I The Shape of a Century · 世纪尺度的回报形状 - [Annual returns 1928 → today](https://historyofmarket.com/#panel-annual) — 73 positive years, 26 negative years. - [Annual return distribution](https://historyofmarket.com/#panel-annual-dist) — Arithmetic mean 11.8%; only 7 years landed within ±2% of the mean. - [Buy-year/sell-year annualized return matrix](https://historyofmarket.com/#panel-annualized-matrix) — hold-period analysis of every entry/exit combination. - [Five-year rolling annualized return](https://historyofmarket.com/#panel-rolling) — fewer than 10% of rolling 5-year windows are negative since 1928. - [Log year-over-year (bull/bear boundary)](https://historyofmarket.com/#panel-sp500-logyoy) — 14 zero-line crossings since 1928. ### S&P 500 · § II The Rhythm of Crisis · 危机的节奏 - [Historical drawdowns](https://historyofmarket.com/#panel-drawdown) — every major decline since 1929 with category, cause, and recovery days. - [Intrayear drawdown vs year-end return](https://historyofmarket.com/#panel-intrayear-dd) — average intrayear -14%, year-end still positive on average. - [Realized volatility (20d / 60d)](https://historyofmarket.com/#panel-volatility) — long-term median ~15%. - [VIX vs S&P 500](https://historyofmarket.com/#panel-vix) — implied volatility above 30 typically marks crisis pricing. - [Monthly return heatmap with win probabilities](https://historyofmarket.com/#panel-monthly) — November and April friendliest, September hardest. ### S&P 500 · § III Anchors of Valuation · 估值的锚点 - [Shiller CAPE](https://historyofmarket.com/#panel-pe) — 10-year inflation-adjusted PE. Historical mean ~17×. - [AIAE — Aggregate Investor Allocation to Equities](https://historyofmarket.com/#panel-aiae) — equity / (equity + bonds + cash). Stronger 10-year return predictor than CAPE. - [S&P 500 EPS (TTM)](https://historyofmarket.com/#panel-eps) — 1871→present GAAP TTM earnings. - [S&P 500 Return on Equity](https://historyofmarket.com/#panel-roe) — steady around 15% for two decades. - [Total return decomposition: price + dividend + buyback](https://historyofmarket.com/#panel-return-details) — buybacks now exceed dividends. ### S&P 500 · § IV Anatomy of the Index · 内部的骨骼 - [Magnificent 7 equal-weight index](https://historyofmarket.com/#panel-m7) — AAPL, MSFT, NVDA, GOOGL, AMZN, META, TSLA, base 2022-01-03 = 100. - [GICS sector weights](https://historyofmarket.com/#panel-sectors) — technology dominant. - [500 constituents scatter: market cap × 1-year return × index weight](https://historyofmarket.com/#panel-scatter) - [Constituent change log](https://historyofmarket.com/#panel-changes) — recent additions and removals. - [S&P 500 methodology](https://historyofmarket.com/#panel-rules) — eligibility (market cap ≥ $22.7B effective 2025-07-01, FALR ≥ 0.75, four-quarter positive GAAP earnings), weighting, governance. ### Nasdaq · § I The Long Lens of Nasdaq · 纳斯达克的长镜头 - [Nasdaq Composite — 100 at inception on Feb 5, 1971, now above 16,000](https://historyofmarket.com/#panel-nasdaq-composite) - [Nasdaq log year-over-year](https://historyofmarket.com/#panel-nasdaq-logyoy) - [QQQ annual returns since 1999](https://historyofmarket.com/#panel-nasdaq100-annual) — ~15% average; -42% in 2008. - [Nasdaq 100 annual return distribution](https://historyofmarket.com/#panel-ndx-annual-dist) - [Nasdaq 100 annualized matrix](https://historyofmarket.com/#panel-ndx-matrix) - [Nasdaq 100 five-year rolling annualized return](https://historyofmarket.com/#panel-ndx-rolling) ### Nasdaq · § II Crisis Cadence in Tech · 科技股的危机节奏 - [Nasdaq 100 historical drawdowns (59 events)](https://historyofmarket.com/#panel-ndx-drawdown) — 2000-2002 cumulative -83%. - [Nasdaq 100 intrayear drawdown vs year-end return](https://historyofmarket.com/#panel-ndx-intrayear-dd) - [Nasdaq 100 realized volatility](https://historyofmarket.com/#panel-ndx-volatility) — median ~22%, systematically above S&P 500. - [VXN — CBOE Nasdaq-100 Volatility Index (2001+)](https://historyofmarket.com/#panel-ndx-vxn) - [Nasdaq 100 monthly return heatmap](https://historyofmarket.com/#panel-ndx-monthly) ### Nasdaq · § III Structure and Return · 结构与收益 - [QQQ total return decomposition](https://historyofmarket.com/#panel-ndx-return-details) - [Nasdaq 100 constituents & weight distribution](https://historyofmarket.com/#panel-nasdaq100-companies) - [Nasdaq 100 top-25 holdings & cumulative weight](https://historyofmarket.com/#panel-nasdaq100-weights) — top 7 names ≈ 50% of index. - [Nasdaq 100 constituent 1-year return rankings](https://historyofmarket.com/#panel-nasdaq100-member-returns) - [Nasdaq 100 constituent YTD return rankings](https://historyofmarket.com/#panel-nasdaq100-ytd) ## Data APIs Every panel's underlying data is a cold static JSON served from Cloudflare's edge. Schemas match the chart semantics; most price series are `{updated, series: [{date, close, volume?}, ...]}`, most annual series are `{updated, years: [{year, ret, ...}]}`. The manifest endpoint enumerates everything. | Endpoint | What's in it | | --- | --- | | [/api/_manifest.json](https://historyofmarket.com/api/_manifest.json) | Catalog + `generated_at` timestamp | | [/api/sp500/century.json](https://historyofmarket.com/api/sp500/century.json) | S&P 500 daily closes 1928→ (+ CAGR, start/latest) | | [/api/sp500/price.json](https://historyofmarket.com/api/sp500/price.json) | S&P 500 daily price with volume | | [/api/sp500/annual-returns.json](https://historyofmarket.com/api/sp500/annual-returns.json) | Annual price returns 1928→ | | [/api/sp500/annual-tr.json](https://historyofmarket.com/api/sp500/annual-tr.json) | Annual total returns (price + dividends) | | [/api/sp500/monthly.json](https://historyofmarket.com/api/sp500/monthly.json) | Monthly heatmap probabilities | | [/api/sp500/drawdowns.json](https://historyofmarket.com/api/sp500/drawdowns.json) | Drawdown register 1929→ | | [/api/sp500/intrayear-dd.json](https://historyofmarket.com/api/sp500/intrayear-dd.json) | Annual max drawdown vs year-end return | | [/api/sp500/volatility.json](https://historyofmarket.com/api/sp500/volatility.json) | 20/60-day realized volatility | | [/api/sp500/vix.json](https://historyofmarket.com/api/sp500/vix.json) | CBOE VIX daily close 1990→ | | [/api/sp500/pe.json](https://historyofmarket.com/api/sp500/pe.json) | Shiller CAPE 1871→ | | [/api/sp500/eps.json](https://historyofmarket.com/api/sp500/eps.json) | S&P 500 TTM EPS 1871→ | | [/api/sp500/roe.json](https://historyofmarket.com/api/sp500/roe.json) | S&P 500 return on equity | | [/api/sp500/return-details.json](https://historyofmarket.com/api/sp500/return-details.json) | Price / dividend / buyback contribution | | [/api/sp500/sectors.json](https://historyofmarket.com/api/sp500/sectors.json) | GICS sector weights | | [/api/sp500/constituents.json](https://historyofmarket.com/api/sp500/constituents.json) | Current 500 members with ticker / weight / sector / 1y return | | [/api/sp500/changes.json](https://historyofmarket.com/api/sp500/changes.json) | Additions / removals log | | [/api/sp500/rules.json](https://historyofmarket.com/api/sp500/rules.json) | S&P 500 methodology sections | | [/api/aiae.json](https://historyofmarket.com/api/aiae.json) | Aggregate Investor Allocation to Equities | | [/api/nasdaq/composite.json](https://historyofmarket.com/api/nasdaq/composite.json) | Nasdaq Composite daily close 1971→ | | [/api/nasdaq/100.json](https://historyofmarket.com/api/nasdaq/100.json) | Nasdaq 100 derived panels bundle | | [/api/ndx/daily.json](https://historyofmarket.com/api/ndx/daily.json) | NDX daily 1985→ | | [/api/ndx/price.json](https://historyofmarket.com/api/ndx/price.json) | NDX price with volume | | [/api/ndx/annual-returns.json](https://historyofmarket.com/api/ndx/annual-returns.json) | NDX annual returns | | [/api/ndx/annual-tr.json](https://historyofmarket.com/api/ndx/annual-tr.json) | NDX annual total returns | | [/api/ndx/drawdowns.json](https://historyofmarket.com/api/ndx/drawdowns.json) | NDX drawdown register | | [/api/ndx/intrayear-dd.json](https://historyofmarket.com/api/ndx/intrayear-dd.json) | NDX intrayear DD vs TR | | [/api/ndx/volatility.json](https://historyofmarket.com/api/ndx/volatility.json) | NDX 20/60-day realized vol | | [/api/ndx/monthly.json](https://historyofmarket.com/api/ndx/monthly.json) | NDX monthly heatmap | | [/api/ndx/rolling5y.json](https://historyofmarket.com/api/ndx/rolling5y.json) | NDX 5-year rolling annualized return | | [/api/ndx/vxn.json](https://historyofmarket.com/api/ndx/vxn.json) | CBOE VXN daily close 2001→ | | [/api/qqq/return-details.json](https://historyofmarket.com/api/qqq/return-details.json) | QQQ price / dividend / buyback | | [/api/dow/century.json](https://historyofmarket.com/api/dow/century.json) | Dow Jones Industrial Average 1914→ | | [/api/m7/index.json](https://historyofmarket.com/api/m7/index.json) | Magnificent 7 equal-weighted composite | | [/api/recessions.json](https://historyofmarket.com/api/recessions.json) | NBER business-cycle peaks / troughs | ### Request conventions - CORS: wide open (`Access-Control-Allow-Origin: *`); fetch from anywhere. - Caching: 5-min `max-age` on Cloudflare's edge, `stale-while-revalidate: 3600`. ETag-aware `If-None-Match` revalidation supported — clients that keep a local cache save bandwidth. - Freshness: daily datasets are refreshed every trading day around 03:00 UTC; weekly (valuations / constituents / methodology) every Sunday around 08:00 UTC. The `_manifest.json` `generated_at` field is the authoritative wall clock. - Licence: research and educational use. Cite the panel title + URL. Do not re-host as a commercial data feed. ## Data sources - Price series: Yahoo Finance via yfinance (^GSPC, ^NDX, ^IXIC, ^DJI, ^VIX, ^VXN) - Constituents: S&P Dow Jones Indices methodology documents - Shiller CAPE & long-run earnings: Robert Shiller (Yale) online dataset - AIAE: FRB Flow of Funds (Z.1 release, L.213/L.212/L.210) - Recessions: NBER / FRED - QQQ return decomposition: Yahoo Finance prices + top-25 constituent buyback data All data updates automatically: daily at 20:00 ET (price/VIX/volatility/Magnificent 7), weekly Sundays at 02:00 ET (century/PE/EPS/ROE/sectors/constituents). ## Sister publications Three companion titles from the same editorial house: - [Dollar Liquidity](https://dollarliquidity.com) — macro liquidity terminal (12 daily indicators + DLI composite score). - [GREP Market Temperature](https://market.grep24.com) — daily market-sentiment temperature gauge. - [MarketGrep](https://app.marketgrep.com) — pre-/post-market sentiment briefings for iPhone and iPad. ## Citation example > "The S&P 500 has recorded 73 positive and 26 negative annual returns since 1928, with an arithmetic mean of 11.8% (History of Market, 'Annual return distribution', https://historyofmarket.com/#panel-annual-dist, accessed 2026-04-19)."