{"slug":"market-recap-2026-07-30","qid":"baseline_breadth","label":"Liquid-tape breadth: July 30 close vs July 29 close, $1M-traded filter","post_title":"Market Recap: July 30, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-07-30#q-baseline_breadth","columns":["advancers","decliners","unchanged","liquid_tickers","dropped_by_liquidity_filter","advancer_pct"],"rows":[{"advancers":3782,"decliners":2122,"unchanged":56,"liquid_tickers":5960,"dropped_by_liquidity_filter":5492,"advancer_pct":63.5}],"shape":"scalar","sql":"SELECT\n    countIf(c30 > c29 AND liquid) AS advancers,\n    countIf(c30 < c29 AND liquid) AS decliners,\n    countIf(c30 = c29 AND liquid) AS unchanged,\n    countIf(liquid) AS liquid_tickers,\n    countIf(NOT liquid) AS dropped_by_liquidity_filter,\n    round(100.0 * countIf(c30 > c29 AND liquid) / countIf(liquid), 1) AS advancer_pct\nFROM (\n    SELECT ticker, c29, c30, dv30 >= 1000000 AS liquid\n    FROM (\n        SELECT ticker,\n               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,\n               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,\n               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv30\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'\n        GROUP BY ticker\n        HAVING c29 > 0 AND c30 > 0\n    )\n)","computed_at":"2026-08-01T23:58:32.759681+00:00","elapsed":0.712970564}