{"slug":"market-recap-2026-07-29","qid":"baseline_breadth","label":"Liquid-tape breadth: July 29 close vs July 28 close, $1M-traded filter","post_title":"Market Recap: July 29, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-07-29#q-baseline_breadth","columns":["advancers","decliners","unchanged","liquid_tickers","dropped_by_liquidity_filter","advancer_pct"],"rows":[{"advancers":1652,"decliners":4342,"unchanged":72,"liquid_tickers":6066,"dropped_by_liquidity_filter":5363,"advancer_pct":27.2}],"shape":"scalar","sql":"SELECT\n    countIf(c29 > c28 AND liquid) AS advancers,\n    countIf(c29 < c28 AND liquid) AS decliners,\n    countIf(c29 = c28 AND liquid) AS unchanged,\n    countIf(liquid) AS liquid_tickers,\n    countIf(NOT liquid) AS dropped_by_liquidity_filter,\n    round(100.0 * countIf(c29 > c28 AND liquid) / countIf(liquid), 1) AS advancer_pct\nFROM (\n    SELECT ticker, c28, c29, dv29 >= 1000000 AS liquid\n    FROM (\n        SELECT ticker,\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               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               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-29 13:30:00') AS dv29\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-29 20:00:00'\n        GROUP BY ticker\n        HAVING c28 > 0 AND c29 > 0\n    )\n)","computed_at":"2026-08-01T22:47:33.318100+00:00","elapsed":0.003465494}