Methodology

The boring page, kept honest on purpose. Everything funny on this site lives elsewhere; everything below is exactly how the numbers are made.

Universe. The top 600 cryptocurrencies by market capitalization (CoinGecko ranking), excluding stablecoins, dollar-pegged tokens, tokenized treasuries and wrapped assets — a returns heatmap of an asset pegged to $1 carries no information. The universe refreshes daily; coins that drop out keep their history but leave the tables.

Prices.One settled close per coin per UTC day. Primary source is OKX spot (USDT pairs, full listing history); gaps and unlisted coins are filled from CoinGecko (which caps free history at 365 days — coins without an OKX listing therefore show at most one year). CoinGecko midnight snapshots are shifted one day back to align with true UTC-close semantics. For majors, pre-OKX history is backfilled from Yahoo Finance and CoinCodex back to each coin's first exchange price (Bitcoin: July 2010) — a backfill source is accepted only where it agrees with stored data at the splice, so a few coins (e.g. DOGE before 2017) deliberately show less history than exists elsewhere.

Stocks.The S&P 500, Nasdaq-100, FTSE 100 and EURO STOXX 50 tabs cover current index constituents (Wikipedia lists, refreshed daily). Prices are daily closes from Yahoo Finance, adjusted for splits and dividends — so returns are total-return-like. Because every figure is a ratio, the mix of quote currencies (US dollars, pence, euros) across indices is irrelevant. Stock "days" are exchange trading days; the 1d column is the last session.

Returns. Every heatmap cell is a simple price return: the last settled close of the period divided by the last settled close of the prior period, minus one — (Pend / Pprev − 1) × 100. Periods are cut on calendar boundaries (month-, quarter- and week-end, weeks ending Sunday UTC) by taking the last close within each. An asset's first listed period is measured from its very first close, and the current month/quarter runs to the latest close; both are partial and greyed. Seasonality is the mean and median of a calendar month's completed returns, with its win rate (share of positive months); the current month is excluded.

Headline columns.The 24h/7d/30d/1y figures are calendar windows: the latest close versus the most recent close at or before 1, 7, 30 or 365 days earlier (so a stock's 1y column is a true year, using the last session on or before that date, not 365 trading sessions). YTD compares the latest close to the last close before 1 January. A column is blank when history doesn't reach that far back. Best/worst month are over completed months only.

Caveats.Returns are nominal (in each asset's own quote currency), exclude fees and slippage, and past seasonality is not a prediction. Survivorship: the tables show today's constituents — the current top 600 coins, the current index members — so multi-year averages carry survivorship bias by construction.

Data last generated 2026-07-27 04:48 UTC.