← Project overviewWork in progress
Market Time Lapse
S&P 500
FIXED MARKET-CAP SCALE
—

Market history

Loading snapshots…
CoverageChecking data…Source details

Ranges show the first and last available observations. Coverage varies by name and snapshot; values are never substituted for missing data.

Other companies

Data & methodology

Separate European markets

DAX (40), CAC 40 (40) and FTSE 100 (100) are separate datasets with their own company rosters, totals, sector filters, history comparisons and peak-size calibration. They are never combined. Membership lists were retrieved October 29, 2026 from DAX, CAC 40 and FTSE 100. Index-provider September 2026 review announcements were cross-checked. Current membership is used throughout the history; this is not a reconstruction of past index membership. Companies shared by indices, such as Airbus, appear independently in each market.

Monthly market caps and forward P/E come from the same public Stock Analysis fundamental-chart series as recent US data, restricted to its free five-year window. Completed company monthly snapshots end in October 2026; September and October were refreshed November 2, 2026; first observations and gaps vary by company. Market cap uses the last available trading observation within three calendar days of month-end. Forward P/E must have exactly the same observation date. Qiagen, Stellantis, Coca-Cola Europacific Partners and Endeavour Mining use a verified alternate listing of the same issuer where the local listing supplies no cap history: QGEN (NYSE), STLA (NYSE), CCEP (Nasdaq) and TSX-EDV respectively. Their source listing is disclosed in details; no companies from another index are added. Month-end source dates and trading-session close times can differ by listing. Annual observations, current values and interpolation never fill missing monthly data. Monthly revenue and net income are unavailable. Company names and sectors are source-provided navigation labels, normalized to the app’s sector groups. Valuations and corporate histories are exploratory; historical forecast vintages are unverified.

DAX and CAC caps are displayed in EUR; FTSE caps in GBP, with pence share-price quotes kept separate from cap units. Provider cap-series currency metadata determines source units, which can differ from listing or financial-statement currency. Where conversion is needed, ECB daily euro reference rates are matched to the exact cap date. Conversion = source cap × target-per-EUR / source-per-EUR. Lion Finance’s GEL source caps additionally use the National Bank of Georgia official EUR/GEL rate valid on that exact date, combined with the same-day ECB EUR/GBP rate. No prior-day FX or price-times-current-shares proxy is used. Missing FX means no converted cap. Tile areas represent full company capitalization, not the indices’ free-float weights; changes in cap include currency effects for converted observations.

Inflation adjustment uses German or French all-items Eurostat HICP (ECOICOP 2, 2025=100) for DAX or CAC respectively, and ONS UK CPI D7BT for FTSE. Values are expressed in September 2026 euros or pounds using exact observation-month indices. This measures purchasing power in the index’s home country, not the multinational companies’ revenue mix. P/E is unchanged. Market and month selections never silently change to find data. EU datasets support monthly mode; an annual-to-monthly switch is disclosed and uses January of the same year.

Exports include market, currency, original source cap/currency, FX rate/date, and normalized nominal cap. CSV imports currently require USD, and explicitly reject non-USD exports rather than relabeling euro or pound amounts.

Japan · Nikkei 225

The Japan view contains all 225 companies on the official Nikkei constituent list as of November 2, 2026, including the October 2026 review additions. Company caps and forward P/E come from public Stock Analysis Tokyo-listing daily series, restricted to the free five-year window. Saved completed months cover November 2021–October 2026, with later starts and gaps where a company has no history. Only actual final observations within three calendar days of month-end are retained; P/E must match the cap date. Missing data remains missing.

Standalone caps are in JPY and represent full company capitalization. This is not the official Nikkei index level or its price weights. Current membership and provider sector/industry classifications apply to every past month. Japanese national all-items CPI, not seasonally adjusted, comes from the Statistics Bureau / e-Stat 2025-base linked monthly series. Adjusted yen use September 2026 purchasing power. The saved national CPI ends in September 2026; October 2026 and other missing CPI receive no fallback. Comparison mode converts yen to USD first, then uses the common US CPI basis for all five baskets. Original local caps, exact FX dates and sources remain in exports.

Countries side by side

This explicit dataset compares separate current S&P 500, DAX, CAC 40, FTSE 100 and Nikkei 225 baskets. These baskets differ in size and coverage and do not represent complete country equity markets. Shared issuers remain in each index separately; no unique combined market total is claimed.

All five country areas share one USD cap-to-area scale. Euro, pound and yen index caps are converted with ECB reference rates for the exact cap date (with exact-date Federal Reserve H.10 JPY/USD on March 29, 2024, when ECB is closed): cap in USD = local cap × USD per EUR / local currency per EUR. Missing FX means missing USD cap; another date is never substituted. Source currency, local index cap, source FX and USD conversion details are retained in CSV exports. P/E is unchanged. For inflation-adjusted comparisons, every USD cap uses the same US CPI series, rather than mixing local HICP/CPI purchasing-power bases. Missing CPI remains unavailable.

Fixed scale keeps country centers and one cap-to-area conversion across all saved dates; dashed outlines show each basket’s maximum observed total. Relative scale refits all five together at each month, preserving their actual relative size. Individual country panels never fill themselves independently. Treemap tiles are sized within each country footprint; Country circles splits each basket into company slices, with firms below 0.2% of each basket grouped into a neutral Other slice. Country headings open the individual index view. Company positions remain stable within the chosen layout as values change. Use full screen or horizontal scrolling on narrow displays. Current membership and incomplete historical coverage limit comparisons.

US-listed large caps

The separate US-listed large caps view contains 1,000 eligible issuers screened using the company directory and ranked by dated October 2026 company market caps from Stock Analysis’s US-listed stock roster, retrieved November 2, 2026. It includes foreign companies with US listings and ADRs. ETFs, shell companies, preferred-only securities, notes and when-issued securities are excluded. The leading 1,150 directory symbols are screened, then ranked using dated month-end cap observations rather than the directory’s current-cap field; the screen extends below the selected cutoff. This corrects directory outliers such as Telesat without inventing a cap. SEC CIK identity consolidates multiple listings of one issuer; full company cap is counted once, without summing share-class caps. Current S&P 500 classifications are retained for overlapping issuers; other companies use the provider’s sector and industry labels, normalized into the same broad sectors.

This is the current top 1,000 applied to all historical dates, not a reconstruction of the historical top 1,000. Added companies use the provider’s public free five-year daily series: completed monthly caps from November 2021 through October 2026, or later for new listings. The last month-end cap observation must be within three calendar days of month-end; forward P/E must have the exact same source date. US-listing caps are in USD. Some daily-series metadata incorrectly repeats the issuer’s financial-reporting currency; those series are accepted as USD only after matching exact dated observations to the provider’s public USD market-cap page. Raw metadata, the validation source and the confirmed cap currency are retained in the archive and exports. Already-dollar caps are not converted again. No private valuations or pre-IPO values are inserted. Known IPO dates are shown explicitly; lack of an IPO date is not treated as proof of a past listing. Older coverage reuses available FinHacker histories for overlapping current S&P 500 members, so it is especially incomplete. Coverage changes also affect absolute chart area.

This saved dataset does not update live. Roster refreshes admit eligible new listings without waiting for index membership. The refresh script preserves previously collected company observations and stores dated membership snapshots, including companies no longer in the active top 1,000. Anthropic and OpenAI are not assigned public caps before public trading begins. Missing or nonpositive P/E remains unavailable and appears gray. All index views remain independent.

Company universe

The US company universe is the complete current S&P 500 roster, verified against Wikipedia’s constituent list and Stock Analysis on October 29, 2026. All 503 constituent symbols are represented by 500 company tiles. GOOG/GOOGL, FOX/FOXA, and NWS/NWSA share one issuer tile so company market capitalization is counted once. Search accepts every share-class ticker.

Monthly company snapshots

Monthly company coverage starts in January 1984, with the first observation varying by company. Before October 2021, FinHacker’s public company tables supply rounded monthly market caps, with actual source dates. Only completed month-end rows are used. Identity is checked against share-class tickers; overlapping recent caps are compared with Stock Analysis and series with median disagreement above 10% are excluded. Recent observations always take precedence. This check does not prove a consistent treatment of every corporate action. The historical-cap source supplies no P/E data. Current survivors and current sector assignments are used throughout; this is not a historical S&P 500 reconstruction. Coverage is incomplete, especially before IPOs and corporate reorganizations. No company is removed from the current roster for missing history.

From October 2021 through October 2026, monthly mode uses the last trading observation of each completed calendar month. Market cap and forward P/E come from Stock Analysis’s public daily fundamental chart series, restricted to the last five years covered by its free chart tier. Both values must have the same source date; missing ratios remain blank. No annual values are carried forward and no monthly values are interpolated. The incomplete November 2026 month is excluded. September and October 2026 were refreshed November 2, 2026 from dated daily series; prior months retain their saved source observations. The provider may revise historical data and market-cap feeds; the refreshed observations record the returned feed metadata. See the refresh coverage report for exact availability and source checks. The coverage panel reports actual availability for every selected month. Revenue and net income remain annual. The Industry P/E archive remains annual.

Long-run industry market caps

The Fama/French Data Library’s 49 Industry Portfolios provide monthly firm counts and average firm size from July 1926 through September 2026. Approximate industry capitalization is computed as firm count multiplied by mean firm size in USD millions. The published mean is rounded to two decimal places. Missing and zero-firm observations are omitted. The source’s month labels are retained; the exact capitalization valuation day is not separately specified. This is nominal USD and has no P/E series.

This is a separate historical NYSE, AMEX and NASDAQ research universe, with firms reassigned annually using SIC codes. It is not today’s S&P 500 carried backward, and it is not directly comparable with totals in the company view. The source’s industry definitions are retained; broader sector labels are app-defined. No present-day company names are inferred from industry totals.

Annual company snapshots

Public annual tables from Stock Analysis, retrieved October 29, 2026. This covers the S&P 500, not Finviz’s broader universe of all US-listed stocks. Missing history and ratios remain visible in the coverage panel; no constituent is removed from the roster. Historical forward P/E is reported by the provider; the forecast vintage has not been verified. Treat these as exploratory historical ratios, not a point-in-time backtest.

Historical company snapshots are grouped by fiscal-year label. The separate Latest frame contains source-reported current ratios retrieved on October 29, 2026, with the source date shown for each company. Latest P/E gaps are supplemented from the provider’s public statistics pages. Latest values never fill older missing years. Fiscal-year-end dates differ across companies, so a frame is not a synchronized trading-day snapshot. The exact source date is shown when you select a company. The current membership roster is used in every historical frame. It does not reconstruct which companies belonged to the index at that past date; this introduces survivorship bias.

Monthly S&P 500 industry aggregates

The S&P 500 industries view groups the same saved monthly company observations into 126 current GICS sub-industries. Caps are summed for each observed month; no missing company value is filled and no annual observation is carried forward. It therefore follows the company source coverage: market caps from January 1984 (partial early coverage), and forward P/E from October 2021 through October 2026. Current index membership and classifications are used throughout, so this does not reconstruct historical industry membership.

Forward P/E is calculated over companies with both a positive cap and a positive reported forward ratio: sum(covered company caps) / sum(company cap / company forward P/E). This is a cap-weighted harmonic mean, not a simple average. See the price-ratio aggregation methodology for the general principle. Companies with missing or nonpositive ratios are excluded from both numerator and denominator; no missing earnings are estimated. The count of covered companies and their share of observed cap are shown in industry details, tooltips, coverage tables and exports. Ratios may represent only part of an industry; changing coverage and unverified forecast vintage limit comparisons. Market-cap area includes all observed caps, even when P/E is missing. Select Explore underlying companies to inspect the component company map.

This monthly S&P subset is a different universe from the broader annual NYU archive and the historical Fama/French portfolios. They remain separate dataset choices. Selecting the monthly industry view explicitly changes frequency to monthly while retaining the year and display choices, with a visible notice. Inflation adjustment uses the aggregate observation month, with the labelled September CPI substitute for October 2025 US observations; other missing CPI stays unavailable. Monthly revenue and net-income data are not supplied.

Annual NYU industry archive

Aswath Damodaran, NYU Stern: January 2020–2025 US industry archives. Market caps are approximately the previous December’s year-end; valuations are the January update. Forward P/E is the source’s simple average across firms with meaningful forward earnings, not market-cap weighted. Industry constituents can change.

Absolute and relative market size

Absolute mode calibrates the whole map’s footprint to the largest observed total market cap across all snapshots in the selected dataset and frequency. Both dimensions scale by the square root of the current-to-peak ratio, so half the total cap occupies half the map area. The dashed outline marks the peak reference. Sector and industry filters keep that same full-dataset reference. Search only highlights names. Relative mode fills the available space at every date. The Dollars control selects nominal USD or inflation-adjusted market caps. The absolute peak is recomputed in the selected dollar basis. Missing source observations contribute no area, so coverage gaps can also make older maps smaller. The company dataset uses current S&P 500 members throughout, not the index’s historical membership. Tile gutters and group labels are visual spacing.

Latest-month availability

September 2026 is available in the saved company markets and long-run industry archive. October company data uses dated month-end market caps and forward P/E where supplied; no September market values are carried into October. The Fama/French archive currently ends in September 2026. October 2026 CPI is not yet published in the saved US, German, French, UK or Japanese national index series as of November 2, 2026. October nominal caps and valuation ratios remain available. Inflation adjustment stays selected when requested, with a visible CPI-unavailable notice and an explicit button to view nominal values. No September CPI proxy is used for October 2026. The US October CPI release is scheduled for November 10, 2026.

Inflation adjustment

The Dollars option converts market caps into September 2026 dollars using BLS CPI-U via FRED (CPIAUCNS): all items, U.S. city average, not seasonally adjusted. Adjusted cap = nominal cap × CPI in September 2026 / CPI for the cap observation’s month. The saved reference index is 336.940. Company annual observations use their exact cap-date month; annual industry snapshots use their approximate prior December cap date. Research portfolios use the source month label. CPI measures consumer purchasing power, not stock-market prices or investment returns.

Source CPI coverage is January 1913–September 2026. October 2025 is absent in the official US source because of the 2025 government shutdown. For this one missing month, the app uses September 2025 CPI for inflation adjustment and shows a warning beside the timeline and in Coverage. The actual October market caps and P/E values remain October observations; September market data is not substituted. All other missing CPI, including observations later than September 2026, remains unavailable. The app does not extrapolate CPI or substitute nominal caps. Inflation adjustment stays selected; the source coverage and missing adjusted coverage are shown separately. Before the CPI series begins, adjusted cap is unavailable; use Nominal to view the original cap.

The selected basis applies to map areas, fixed-dollar peak calibration, totals, tile values, tooltips, the roster, market-cap history and growth comparisons. P/E ratios, revenues and earnings are unchanged. In monthly relative mode, all names have the same inflation multiplier, so their relative weights remain the same. Switching dollar basis retains the treemap hierarchy and stock adjacency. This is a present-day purchasing-power comparison, not a point-in-time information set.

Exports retain original nominal USD in marketCap and add displayMarketCap, dollarBasis, dollarBaseMonth, cpiMonth, cpiObservationMonth and cpiProxy. October 2025 US adjustments export cpiMonth=2025-09, cpiObservationMonth=2025-10 and cpiProxy=true; other observations use their exact CPI month. CSV import reads the original marketCap column, preventing double adjustment. Your dollar-basis preference is saved in this browser.

Sector circles

The Layout selector switches between the treemap and separate sector circles. Each circle’s filled area represents the sector’s observed market cap, and company slice areas represent company caps, using the selected valuation colors. Sector names and totals are shown above the circles. Company slices keep ticker order. Slices individually below 2% of their sector are combined into a patterned Other slice, placed last. Its area retains their full cap, with a neutral fill and no combined valuation assigned. Click Other for its dated member list, individual caps and forward P/E; select a member to open its details. Search also highlights Other when one of its members matches. Data coverage and exports retain the original entities. Industry-only datasets instead divide each sector circle into its known source industries; no company breakdown is invented. Missing caps contribute no area.

A denser deterministic packing uses the available plot space while keeping circles separated. Fixed cap scale reserves stable sector centers using each sector’s largest observed total cap across this dataset’s history, in the selected value basis. The circles themselves grow and shrink with the actual dated totals, using one cap-to-area conversion across sectors and dates. Filters retain the full-dataset geometry; empty space can reflect smaller caps, missing data, or packing gaps. Relative size repacks the current sector circles to fit, so positions can move. Both layouts preserve the selected dataset, date, metric, palette, and inflation basis. Hover or select a slice for its details; sector headings open their filters.

Color palettes

The Palette control switches between Atlas’s muted colors and a Finviz-style vivid green–charcoal–red ramp. The same palette applies to valuation colors in the map and legend. The Sector option uses stable categorical colors and labels tiles with market cap; it is available only when you explicitly choose it. A missing P/E does not change the selected map or history-chart measure; unavailable values remain gray or blank with coverage notices. This changes colors only: valuation thresholds, observations, scale, and stock positions stay the same. Lower valuation levels run green to red; market-cap growth reverses the ramp so higher growth is green. Missing ratios stay gray. Your palette choice is saved in this browser.

Tile labels

In Display settings, Tile labels offers Tickers, Short names, Company names, and Company names · small tiles. Short names uses familiar labels such as SpaceX, Palantir, AMD, Meta and TSMC, with legal suffixes removed for other companies. These aliases work in both map layouts and in search. Full source names remain in details, hover text, the company roster and exports. The short-name option uses the same 11-pixel font floor as standard company names. Standard company names keep an 11-pixel minimum font and omit labels in small boxes. The optional small-tiles mode wraps up to four lines and shrinks dynamically from 26 to 3 pixels to fit each tile’s on-screen area. Both modes omit common legal suffixes. Names take priority over the secondary numeric value in small tiles. Long words can split across lines at the smallest size; names that still do not fit are shortened with an ellipsis. Only tiles too small to hold even this text omit a label. Hover or select any tile for its full company name. Industry datasets always use industry names. The choice is saved in this browser and does not change tile areas, positions, or data.

Reading the map

Playback advances one monthly snapshot every 0.2 seconds (5 snapshots per second), with 200 ms linear map transitions and a continuously moving timeline marker. The marker’s position is animated between real monthly observations; the data values remain the dated source snapshots. Pausing settles on a dated snapshot. Manual date changes use a 450 ms transition. Pause, manual date changes, opening dialogs, and leaving the tab stop playback. Stock and group adjacency is preserved across dates; tiles resize within a stable layout. Sector and industry headings use fixed-size type and consistent abbreviations chosen from the most recent 60 snapshots. Older headings are clipped within their own header space when that area is too small, preventing overlap while retaining stable text. Heading space is fixed; labels do not change text or toggle at monthly size thresholds. Groups without room for a consistent label omit that heading. Tile shapes may become narrower as relative sizes change. Layout is recalculated when you change the universe or resize the map. Reduced-motion preferences disable map transitions. Tile area is relative market capitalization within the displayed universe. A tile can gain dollars and shrink in area if other names grow faster. Company sectors and industries follow the constituent list’s GICS grouping. Industry-dataset sector groups are app-defined. Map areas are full company market caps, not float-adjusted official index weights. Missing or nonpositive P/E is gray; values above 60× use the highest color, but tooltips keep the full value.

“P/E vs own past” uses only observations through the selected snapshot. It is the share of earlier valid observations below the current value, with half credit for ties. With fewer than two observations it is unavailable.

Refresh & your own data

This is a saved dataset, not a live feed. You can export the visible rows or import your own company/industry snapshots. Imported data stays in this browser session and is never uploaded. Use a consistent definition of forward P/E and dated forecasts for any rigorous research.

Import dated snapshots

Choose a CSV with one row per name and period. Required headers:

id,name,sector,industry,year,date,marketCap,fpe

Market cap is in US dollars. Leave fpe blank when unavailable. Optional columns: revenue, netIncome, frequency. Set frequency to monthly for dated monthly rows; otherwise annual is assumed. Dates must be YYYY-MM-DD. One observation per id and year (annual) or calendar month (monthly). Imports stay in this session.

Constituents & data coverage

Company views use their own current members across all historical frames. Long-run industries use the historical research universe instead. A missing market cap means the source has no usable observation in that year, so that company has no sized tile. P/E is not supplied for the older additions; Sector color mode keeps these market-cap-only snapshots readable.