Simplify Analytics

Data Explorer

Every registered metric in core.metric_registry. Percentiles, robust z and 1y rank come from core.metric_context() — the same function the MCP server reads, held equal to the worker's Python implementation by test_context_sql.py. Each metric page lists every entity's own context at a chosen date, sortable. Recurrence and cross-sectional rank exist only in the Python version so far, so they are not shown here.

Registered tables

Raw facts, as collected: filter on any column, sort, and chart any numeric column against the table's date. Export is filtered per row on provenance, because core.fred_observations holds series under two different licences.

Registered metrics

MetricEntityUnitPIT classn minExportRead by
cboe_skew
Cboe SKEW index: the implied probability of a large S&P 500 fall, scaled so 100 means a normal distribution. Higher is a fatter priced left tail.
marketindex_pointsRESTATED20restrictedPage 5, beside the VIX curve: the priced tail of the S&P 500
curve_10y_2y
10-year minus 2-year Treasury yield. Negative is an inverted curve.
marketpercentage_pointsIMMUTABLE20allowedPage 10's yield curve; the regime view's rates context
curve_10y_3m
10-year minus 3-month Treasury yield - the inversion measure with the longer record.
marketpercentage_pointsIMMUTABLE20allowedPage 10's yield curve; the regime view's rates context
hy_oas
ICE BofA US High Yield Index option-adjusted spread, the FIRST value FRED published for each date - a later revision is not what was known then.
marketpercentIMMUTABLE20restrictedthe regime view's credit axis and its 'credit-stress' flag
occ_equity_oi
Total equity-option open interest across all OCC clearing members.
marketcontractsIMMUTABLE20restrictedData Explorer market panel; the denominator behind the put/call ratio
occ_equity_put_call
Equity put open interest over equity call open interest. OPEN INTEREST, not volume - it is a position measure, and the far more commonly quoted put/call VOLUME ratio is a different statistic with a different history.
marketratioIMMUTABLE20restrictedData Explorer market panel; positioning context on the Options workbench
regime_code
1 uptrend-calm, 2 uptrend-stressed, 3 downtrend-calm, 4 downtrend-stressed; NULL when trend or volatility is unknown. A CODE, NOT A STATISTIC - never rank it. The thresholds live in app/core/regime.py, and every run rewrites the whole history, so a relabel re-derives it by the next evening.
marketcodeRESTATED20restrictedPage 10 Regime Monitor's label and timeline; the regime-conditioned base rates
regime_flags
Bitmask: 1 narrow (an uptrend carried by three sectors or fewer), 2 credit-stress (HY OAS at its 3y 90th percentile), 4 correlated (sector correlation at its 3y 90th). 0 is none; NULL when the label is unknown. A CODE, NOT A STATISTIC.
marketbitmaskRESTATED20restrictedPage 10 Regime Monitor's flag chips
reserves
Reserve balances with Federal Reserve Banks, first-published vintage. The first leg of the liquidity axis; TGA, RRP and SOFR-EFFR follow when their daily ALFRED pulls are windowed (the full-vintage request is refused).
marketusd_millionsIMMUTABLE20allowedthe regime view's liquidity axis (DESIGN.md:147 'reserves + TGA + RRP')
rrp
Overnight reverse repo take-up at the Fed, BILLIONS (reserves and TGA are millions).
marketusd_billionsIMMUTABLE20allowedthe regime view's liquidity axis - DESIGN.md:147's RRP leg; Page 10's liquidity panel
sector_breadth_200dma
Share of XLE XLF XLI XLK XLP XLU XLV XLY above their 200-session mean, in eighths. NULL unless all eight are known that day.
marketfractionRESTATED20allowedthe regime view's breadth axis and its 'narrow' flag (DESIGN.md:147)
sector_corr_63d
Mean of the 28 pairwise correlations among the eight sector funds' daily returns over the trailing 63 sessions. High means one factor is moving everything - the diversification that fails in a stress.
marketcorrelationRESTATED20allowedthe regime view's correlation axis and its 'correlated' flag
sector_dispersion_21d
Sample stdev across the eight sector funds of their 21-session returns. High means sectors are going different ways, the opposite of correlated.
marketreturn_fractionRESTATED20allowedthe regime view's dispersion axis (DESIGN.md:147)
sofr_effr_spread_bp
Secured over unsecured overnight funding, in basis points. It widens when collateral or reserves get scarce - the funding-stress signature of 2019-09.
marketbasis_pointsIMMUTABLE20allowedthe regime view's liquidity axis - DESIGN.md:147's SOFR-EFFR leg; Page 10
tga
The Treasury General Account at the Fed, weekly. A rising TGA drains reserves.
marketusd_millionsIMMUTABLE20allowedthe regime view's liquidity axis - DESIGN.md:147's TGA leg; Page 10's liquidity panel
vix
Cboe VIX close, the 30-day implied volatility of the S&P 500. Highest close on record 82.69 (2020-03-16); the bound catches a units error, not a crisis.
marketindex_pointsRESTATED20restrictedthe regime view's volatility axis (DESIGN.md:147: 'VIX percentile') and Page 5's VIX term structure
vix_term_ratio
VIX divided by VIX3M. BELOW 1 IS CONTANGO - the normal curve, three-month vol dearer than one-month. ABOVE 1 IS BACKWARDATION, which is what stress looks like. The index-level twin of the per-symbol iv_term_slope_30_90.
marketratioRESTATED20restrictedthe regime view's volatility term-structure sign (DESIGN.md:147) and Page 5's contango/backwardation state for the index itself
vix3m
Cboe 3-month VIX (formerly VXV); from 2009.
marketindex_pointsRESTATED20restrictedPage 5's VIX term structure, the back point; the far leg of vix_term_ratio
vix9d
Cboe 9-day VIX. Moves more than VIX around events; from 2011.
marketindex_pointsRESTATED20restrictedPage 5's VIX term structure, the front point (DESIGN.md:235)
vvix
Cboe VVIX, the implied volatility of VIX options; from 2006.
marketindex_pointsRESTATED20restrictedPage 5, beside the VIX curve: the volatility of VIX itself
call_wall_distance_pct
The strike carrying the most call gamma x OI across expiries, as level minus spot over spot. Level = the session's unadjusted close x (1 + value).
symbolreturn_fractionRESTATED20restrictedDESIGN.md:169's wall strikes; Page 4's gamma-wall markers; L's test of max pain converging only where it meets a wall
close_adj
Split-, factor- and dividend-adjusted close as of the run date. A LEVEL, NOT A STATISTIC: its percentile against its own history only says where the price trend has carried it - ret_1d, px_vs_200dma and drawdown_252d are the ones to rank.
symbolusdRESTATED20allowedData Explorer price panel; the basis of every other price metric
dollar_volume_21d
Mean close x volume over the trailing 21 sessions. A LEVEL, NOT A STATISTIC: price times shares, so its percentile against its own history rises with the price alone - a name that tripled reads 'high liquidity' on unchanged volume. Used across names at one date (tradability), never ranked against its past.
symbolusdRESTATED20allowedData Explorer liquidity column; the tradability score (DESIGN.md §3.2)
drawdown_252d
close / trailing 252-session high - 1. Zero at a new high.
symbolreturn_fractionRESTATED20allowedData Explorer; drawdown context on the Symbol Dossier
gamma_flip_distance_atr
Where net GEX changes sign, as LEVEL MINUS SPOT in 14-session ATRs. NEGATIVE means spot is above the flip, on the side the sign convention calls positive gamma. Found by repricing the book at hypothetical spots (sticky strike, r = 0); NULL when no flip lies within 25% of spot.
symbolatr_multiplesRESTATED20restrictedDESIGN.md:169's gamma flip distance in ATR units
gamma_flip_level
Where net GEX changes sign, in dollars on the session's own share basis. A LEVEL, NOT A STATISTIC: its percentile tracks the price and means nothing - gamma_flip_distance_atr is the one to rank. NULL under the same conditions as the distance.
symbolusdRESTATED20restrictedPage 4 (Options, /options/[ticker]): the gamma-flip marker on the strike axis, read as a level rather than rebuilt from distance x ATR in TS
gamma_flip_state
WHY gamma_flip_level is or is not there. 1: a flip was found within 25% of spot. 0: the repriced book does not cross zero within 25% - a real reading, e.g. CRSR net long everywhere nearby. -1: the model and the vendor's gamma disagree about which side of the flip spot is on, which in practice means spot is near one. NULL: no book. A CODE, NOT A STATISTIC: never rank it or read its percentile.
symbolstate_codeRESTATED20restrictedPage 4's flip marker: tells 'no flip within 25%' (a reading) from 'undetermined' (model and vendor disagree) where the level is NULL
iv_cm_30d
30-day constant-maturity implied volatility. The canonical tenor: long enough to be immune to the 0DTE collapse that made v1's front-month column meaningless, short enough to respond to a catalyst.
symbolannualised_stdevRESTATED20allowedPage 4's Chain & IV Surface, and DESIGN.md:157's rank-versus-percentile badge - the one that needs BOTH statistics over one window
iv_cm_90d
90-day constant-maturity implied volatility.
symbolannualised_stdevRESTATED20allowedthe far leg of DESIGN.md:159's term-structure slope (CM30 - CM90), and its contango/backwardation state
iv_term_regime_days
SIGNED RUN LENGTH: sign is the state, magnitude is how long it has held. +3 means a third consecutive backwardated session; -12 means twelve in contango. One number rather than two because the pair is never read apart - a duration without its state is meaningless, and DESIGN.md:159 asks for 'contango/backwardation state AND consecutive days in it'. A slope of exactly zero counts as contango, the commoner state; it has not occurred in 9,250 symbol-days.
symbolsessionsRESTATED20allowedDESIGN.md:159's "consecutive days in it", and the resolution base rates that ask what followed a backwardation flip
iv_term_slope_30_90
CM30 minus CM90. NEGATIVE IS CONTANGO - the normal upward-sloping curve, where longer-dated vol is dearer. POSITIVE IS BACKWARDATION: the near term is bid above the far, which is what stress looks like. Measured across the Core 40, 40.9% of symbol-days are backwardated, so this is not a rare state and a flag keyed to it alone would fire constantly.
symbolannualised_stdev_diffRESTATED20allowedDESIGN.md:159's term-structure slope, and the contango/backwardation state on Page 5's Vol & Dealer Regime
max_pain_distance_pct
Max pain of the nearest monthly expiry at least 7 days out, as level minus spot over spot. The 7-day floor keeps expiry-week pinning noise off the series and hands each monthly over the Friday before it expires.
symbolreturn_fractionRESTATED20restrictedDESIGN.md:169's max pain; Page 4's max-pain marker; W's grading of max pain as an external signal
max_pain_expiry_dte
Calendar days from the session to the monthly expiry max_pain_distance_pct was computed on: expiry = as_of_date + value. Between 7 (the roll floor) and 120 (the table's DTE limit). A LABEL, NOT A STATISTIC: it saws from ~35 down to 7 and resets every month; never rank it.
symbolcalendar_daysRESTATED20restrictedPage 4's max-pain marker label, so the page reads the expiry instead of re-implementing chain_metrics.monthly_expiry in TS
net_gex
Dealer net gamma exposure, dollars of the underlying traded per 1% move to stay hedged. ASSUMES DEALERS ARE LONG CALLS AND SHORT PUTS - the common convention, and exactly what L exists to test. Positive means hedging damps moves. 0DTE contracts excluded: they are not held past the close.
symbolusd_per_1pct_moveRESTATED20restrictedDESIGN.md:169's net GEX percentile; Page 5's net GEX with history; the predictor in L's test against next-day realized vol
put_wall_distance_pct
The strike carrying the most put gamma x OI across expiries, as level minus spot over spot. Level = the session's unadjusted close x (1 + value).
symbolreturn_fractionRESTATED20restrictedDESIGN.md:169's wall strikes; Page 4's gamma-wall markers; L's test of max pain converging only where it meets a wall
px_vs_200dma
close / 200-session mean - 1. Null until 200 sessions exist.
symbolratio_deviationRESTATED20allowedthe trend axis of the regime view (DESIGN.md:145)
realized_vol_21d
Annualised stdev of the trailing 21 session returns. COMPUTED BACKWARD, unlike UW's /volatility/realized which computes it FORWARD over ~20 sessions and is therefore not knowable on the date it is stamped with (DESIGN.md:139, the highest-priority provenance hazard in the document).
symbolannualised_stdevRESTATED20allowedData Explorer; the volatility axis of the regime view (DESIGN.md:145)
ret_1d
Total return over one session, dividends included.
symbolreturn_fractionRESTATED20allowedData Explorer; realized-vol and drawdown inputs; event-study returns
rr_10d
10-delta risk reversal. Wider than the 25-delta on most days, as the tail of the smile should be.
symbolvol_points_fractionIMMUTABLE20allowedDESIGN.md:159's 10-delta risk reversal - the tail of the smile
rr_25d
25-delta risk reversal: put-wing minus call-wing implied volatility.
symbolvol_points_fractionIMMUTABLE20allowedDESIGN.md:159's 25-delta risk reversal, and Page 4's skew small-multiples
vrp_30d
30-day implied minus the 21-session volatility subsequently realised. Positive means implied overpaid, which it did on 59% of measured rows. DATED BY WHEN IT BECAME KNOWABLE, not by the day it describes: the realised leg closes 28-33 sessions later, and a percentile over rows dated by their window start would read a month into its own future.
symbolannualised_stdev_diffIMMUTABLE20allowedDESIGN.md:159's variance risk premium - the most decision-relevant volatility statistic available - as a percentile of its own history
zero_dte_volume_share
Share of the session's option volume in contracts expiring that session, denominator truncated at 120 DTE. ONLY SPY, QQQ AND IWM, which list a 0DTE expiry every session; NULL for every other name, whose Friday weekly would make it a once-a-week statistic under the same name.
symbolfractionRESTATED20restrictedPage 4's 0DTE share of volume (DATA_SOURCES.md), a header cell for SPY, QQQ and IWM