How to read this — what every cell is, and how it's measured
Definitions are generated live from the engine spec (window.A2_SIGNAL_SPEC), so they always match the actual math. Switch the Transform or move Significance (σ) and this updates.
z-score over time — all assets, one scale
Row-click a matrix asset → its line flashes 5×. Click a line → that ONE asset is identified (its own dateline tooltip); click empty chart space → dismiss; shift-click = all-series dateline.
Stretch tape — every asset vs its OWN history (percentile)
Cell = where that bar's reading sits inside the row's own trailing history. Click a cell → synced dateline everywhere (and it becomes the sort column); click a row label → hide/show that row; drag to pan; wheel = zoom (shared with the chart above).
red = top of own history · blue = bottom of own historyscale percentile of own history (756-bar window · 252-obs floor)r / hatch ramping — warming up
Conviction map — price Δ (x) vs volume Δ (y), bubble = |transform|
Every bubble is one asset over the chart's focused horizon. Right = price up, left = down; high = volume expanding, low = drying up; big bubble = extreme transform reading. Click a bubble to identify that asset everywhere; the legend chips above select who's plotted.
Cross-timeframe matrix — the same transform on every horizon
Cell number = the raw transform value over that column's lookback; heat colour = that value normalized across assets in the column (blue ↑ / red ↓); a ring + corner tick = significant (crosses your σ threshold). Hover any column header or cell for its exact lookback in candles; full definitions are in the "How to read this" card above. Click a header to sort by that horizon; click a row to flash its line. DATA_GAP / daily-only cells are excluded from sorts. The trend column is the sort horizon's recent path (last 50 bars, ONE shared scale for every row); the RSI div column is the latest computed price↔RSI divergence (the only event label kept — it can't be eyeballed off the line); hover any cell for a micro heat-strip of that cell's own recent history on the same ramp.
positive (↑)negative (↓)DATA_GAP resolution unavailablen/a daily-only (FRED has no intraday)ramp INSUFFICIENT_HISTORYbear / bull / hidden-bear / hidden-bull RSI divergence (computed) · ·Nb = confirmed N bars ago
Multi-scale divergence — RSI price↔momentum across 1h · 4h · 1d
A divergence is when price and its momentum (RSI) disagree — price grinds to a new
high while momentum quietly rolls over (a top warning), or a new low while momentum turns up (a bottom
warning). It is a computed read you cannot see by eyeballing the line, so it is the one class of
marker we label (R-UI-23). Each instrument gets 9 cells = 3 timeframes (1h / 4h / 1d) × 3 swing
lookbacks (short 5 / normal 13 / wide 34). Cell color = type (bear ▼,
bull ▲, hidden-bear ▿,
hidden-bull ▵); size = strength; it fades as it ages; blank = none.
The Confluence column nets bull vs bear across all 9 — a divergence confirmed across many scales is
far higher-conviction than one lone cell. Pick a view mode for a different lens (each is explained
on-screen). Click any row to load it in the price+RSI chart, which draws the exact swing pair the read is
computed from, always vs the pinned SPX / NAS100 baseline.
loading…
loading divergence grid…
apps2/signalThe matrix triangulates every asset across the full timeframe ladder, always vs the pinned SPX + NAS100 baselines.
Definitions never driftEvery transform's exact formula, lookback, units and adjustable-vs-fixed knobs are defined live in the "How to read this" card up top (generated from the engine spec, so it never drifts).
Hover for plain languageHover any control, column header or cell for a plain-language explanation.
3 fetches, 9 columns3 cached fetches power the 9 columns: 5m/60d (30m·1h·4h) · 1h/2y (1d·1w) · 1d/5y (1m·1q·1y·5y); switching transform or σ is zero-fetch.
Data sources../decoup/data.php (Databento GLBX + Yahoo + FRED + Alpaca SIP).