> ## Documentation Index
> Fetch the complete documentation index at: https://auramarkets.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Thematic heatmap

> A finviz-style treemap of the market — by theme (AI, Space Tech, Quantum…) or by classic S&P 500 sectors.

At the bottom of the [Equities](https://auramarkets.io/indices) page sits a full-market treemap. One glance answers *where* the market is moving — not just how much.

It has two personalities, switched with the **Thematic / Sectors** toggle:

<CardGroup cols={2}>
  <Card title="Thematic" icon="layer-group">
    **40 themes, \~270 sub-themes, \~940 stocks.** Artificial Intelligence › Compute, Space Tech › Launch, Quantum Computing › Hardware… a curated thematic taxonomy, not GICS. Each tile is a *sub-theme*, aggregating its member stocks.
  </Card>

  <Card title="Sectors" icon="table-cells-large">
    **The classic S\&P 500 map.** One tile per stock, grouped by sector — NVDA, AAPL, JPM sized by market cap. Hover any tile for the company name, industry, and market cap.
  </Card>
</CardGroup>

## Reading the tiles

* **Size = market cap.** In the Sectors view that's simply the stock's cap. In the Thematic view, a stock's cap is *split across every sub-theme it belongs to* — so a mega cap that's tagged in 30 themes (looking at you, Microsoft) doesn't dominate all 30 tiles, and pure-play tiles keep their visual weight.
* **Color = return** over the selected timeframe. Green up, red down, deeper = bigger move. The color scale widens with the timeframe (±3% saturates a 1D view; a 1Y view needs ±30%), so the map stays readable at any horizon.
* **Hover a tile** — thematic tiles show their top constituents with each stock's return; sector tiles show the company, its industry, and market cap.

## Equal vs Cap

In the Thematic view, a second toggle controls how each tile's return is computed:

| Mode                | What it shows                           | When to use it                                             |
| ------------------- | --------------------------------------- | ---------------------------------------------------------- |
| **Equal** (default) | Simple average of every member's return | *Breadth* — is the whole theme moving, or just its giants? |
| **Cap**             | Market-cap-weighted return              | *Dollars* — what the theme did in index-weight terms       |

The two can disagree sharply: on a day small-cap semis get hit hard while NVDA shrugs, AI › Compute might read **−5%** equal-weighted but **−2%** cap-weighted. That gap is information.

## % vs Z vs MA

A third toggle switches what the color *means*:

| Mode            | What it shows                                                                                                                              |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **%** (default) | Raw return. "Where are the big moves?"                                                                                                     |
| **Z**           | The move divided by that tile's *own* historical volatility, in σ. "Where is something **unusual** happening?"                             |
| **MA**          | **Breadth**: the % of the tile's constituents trading above a moving average. "Which themes have internal support — and which are hollow?" |

Raw % has a built-in bias: high-beta themes (Crypto, Uranium, Space) are always vivid and low-vol themes (Utilities, Staples) are always gray — a −2% day in Utilities is a genuine event, but in % mode you'll never see it light up. Z mode fixes exactly that: every tile is measured against its own normal. Tiles read like **+2.1σ**, and the color scale is a fixed ±3σ at every timeframe (z is self-normalizing, so no rescaling needed). Hover any tile to see both readings.

Z works in both views (per-theme sigmas in Thematic, per-stock in Sectors) and every timeframe except YTD and Custom, which have no fixed horizon to measure "normal" against.

### MA breadth

Picking **MA** reveals a window picker — **20D / 50D / 200D** — and recolors every tile by the share of its constituents above that moving average. The scale pivots at 50%: deep red at 0%, neutral at 50%, deep green at 100%. Tiles read like **82%** instead of a return.

The killer read: a theme that's **green on return but red on breadth** — one mega cap dragging the cap-weighted return up while most constituents sit below their 50DMA. Invisible in % mode, obvious here. It's the same "hollow leadership" lens the Market Pulse applies to RSP/SPY, per theme.

Details worth knowing:

* **Every tile's tooltip carries the breadth line in all modes** — `above MA: ›20D 88% · ›50D 94% · ›200D 75%` — so you rarely need to flip the toggle to check.
* In the **Sectors** view a tile is a single stock, so it goes binary: full green above the MA, full red below — the classic above/below map.
* In the [constituents panel](#down-to-single-names), each stock row gets a **▲50 / ▼50** marker (tracking your selected window), so you see exactly *which* names are holding a theme up.
* Timeframe and Equal/Cap dim in MA mode — breadth is a fixed daily metric, refreshed each session. Names younger than a window (a recent IPO with no 200 sessions) simply drop out of that MA's denominator.

## Bars view

The **▦ / ☰ / ✛** toggle picks the chart mode. **☰** swaps the treemap for a **ranked horizontal bar chart** — one bar per theme (or per sector in the Sectors view), sorted by the active metric. Everything above still applies: Equal/Cap, %/Z, and every timeframe re-rank the bars exactly as they recolor the tiles. Treemap answers *where's the weight*; bars answer *who's first*.

Two things the bars can do that tiles can't:

* **Click a bar to drill down.** A theme opens its sub-themes as their own ranked bars (in Sectors view, a sector opens its ranked stocks). A breadcrumb — or `Esc` — pops you back up. Click a *sub-theme* bar and you keep going — its [constituents panel](#down-to-single-names) opens below the chart.
* **Hover a bar** to see its internal **min→max sub-theme range** drawn as a whisker. A small **◆** diamond marks themes whose internal spread sits in the top quartile — a flat-looking average hiding a rotation, with sub-themes moving in opposite directions. The diamond is your cue to hover or drill.

## Rotation view

The third mode (**✛**) replaces tiles and bars with an **RRG-style quadrant scatter**: every theme (or sector) plotted by its relative strength and momentum **vs SPY**, landing in one of four quadrants:

|                   | Momentum up                            | Momentum down                             |
| ----------------- | -------------------------------------- | ----------------------------------------- |
| **Strong vs SPY** | **Leading** — winning and accelerating | **Weakening** — still ahead, losing steam |
| **Weak vs SPY**   | **Improving** — behind, but turning up | **Lagging** — losing and decelerating     |

The classic rotation clock runs Leading → Weakening → Lagging → Improving → Leading. Catching a theme as it crosses from Improving into Leading is the whole point of the view.

* **Dots are sized by market cap**, each dragging an **8-week fading trail** — the trail's shape tells you whether the move is a steady drift or a whipsaw.
* **Right-side legend**, grouped by quadrant, with **two-way hover**: hover a legend row to light up its dot, hover a dot to light up its row.
* **Click a dot to drill down** — a theme opens its sub-themes on the same quadrant grid (a sector opens its stocks). Breadcrumb or `Esc` to pop back up. From there, clicking a sub-theme dot (or its legend row) opens the [constituents panel](#down-to-single-names).
* **Equal/Cap applies** (it changes how each theme's relative strength is computed). **%/Z and the timeframes don't** — RRG math runs on its own fixed lookback windows, so those controls dim in this mode.

<Note>
  The quadrant *crossings* from this view — newly leading, turning up, rolling over — feed the **Rotation watch** card on [Today](/getting-started/today).
</Note>

## Down to single names

Every sub-theme is clickable — from a **treemap tile**, a **drilled bar**, or a **drilled rotation dot** (or its legend row). Clicking one opens a **constituents panel** right below the chart: one row per member stock, with a centered return bar over the active timeframe, the exact %, and — where your research corpus knows the name — two badges:

* **🎯 n** — tracked [calls](/research/calls) on the stock. Hover for the top ones: direction · writer · date.
* **📄 n** — research pieces covering it, across Substack, X, and YouTube.

A **Return / Research** toggle re-sorts the rows: Return ranks by performance, Research ranks by corpus activity — "which names in this sub-theme are writers actually talking about?" Names with *no* badges are signal too: nobody's covering them yet.

**Click any row** and the full [stock pop-out](/indices/stock-chart) opens — price chart with the call markers drawn right on it, studies, the company panel, and Ask Aura. That's the whole path in three clicks: theme → sub-theme → the single name and what your writers said about it.

In the **Sectors** view a leaf already *is* a stock, so clicking it skips the panel and opens the pop-out directly.

<Note>
  The panel follows the timeframe pills, closes with **✕**, `Esc`, or the breadcrumb, and works in the embedded map and fullscreen alike.
</Note>

<Note>
  Your view, weighting, %/Z, timeframe, and chart-mode choices all persist — the map reopens exactly how you left it.
</Note>

## Controls

* **Timeframes** — 1D, 1W, 1M, 3M, 6M, YTD, 1Y, plus **Custom**: pick any past date and the whole map recolors to the **return since that date** (measured from the last trading session on or before it). Anchor it to an event — "what's actually outperformed since CPI day" — instead of approximating with the nearest preset. The color scale auto-widens with the horizon length, and the drill-down panel re-ranks by the same window.
* **Expand ⤢** — takes the map full-screen right on the page (controls included). Close with the **✕** button or `Esc`.
* **Snapshot 📷** — exports the current chart in any of the three modes: **Download PNG** or **Copy image** straight to the clipboard. Snapshots get a branded header (view, mode, weighting, metric, timeframe) and an auramarkets.io watermark with the timestamp, so they're paste-ready for a chat or a post.

## Freshness

Tile colors refresh on a \~15-minute cycle during the session. The theme and sector memberships themselves are refreshed daily.
