{"slug":"market-recap-2026-07-28","qid":"baseline_breadth","label":"Liquid-tape breadth: July 28 close vs July 27 close, $1M-traded filter","post_title":"Market Recap: July 28, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-07-28#q-baseline_breadth","columns":["advancers","decliners","unchanged","liquid_tickers","dropped_by_liquidity_filter","advancer_pct"],"rows":[{"advancers":3519,"decliners":2423,"unchanged":66,"liquid_tickers":6008,"dropped_by_liquidity_filter":5346,"advancer_pct":58.6}],"shape":"scalar","sql":"SELECT\n    countIf(c28 > c27 AND liquid) AS advancers,\n    countIf(c28 < c27 AND liquid) AS decliners,\n    countIf(c28 = c27 AND liquid) AS unchanged,\n    countIf(liquid) AS liquid_tickers,\n    countIf(NOT liquid) AS dropped_by_liquidity_filter,\n    round(100.0 * countIf(c28 > c27 AND liquid) / countIf(liquid), 1) AS advancer_pct\nFROM (\n    SELECT ticker, c27, c28, dv28 >= 1000000 AS liquid\n    FROM (\n        SELECT ticker,\n               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,\n               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,\n               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 13:30:00') AS dv28\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'\n        GROUP BY ticker\n        HAVING c27 > 0 AND c28 > 0\n    )\n)","computed_at":"2026-08-01T23:43:47.471882+00:00","elapsed":0.641887788}