{"slug":"market-recap-2026-06-30","qid":"baseline_movers","label":"Top 5 gainers and top 5 decliners among names with $10M+ traded on June 30 (one reused-symbol listing excluded)","post_title":"Market Recap: June 30, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-06-30#q-baseline_movers","columns":["board","ticker","prior_close","day_close","pct_chg","abs_pct_chg","dollar_volume_m","split_record_on_file"],"rows":[{"board":"top gainers","ticker":"JEM","prior_close":1.11,"day_close":3.96,"pct_chg":256.76,"abs_pct_chg":256.76,"dollar_volume_m":141,"split_record_on_file":0},{"board":"top gainers","ticker":"CUPR","prior_close":4.45,"day_close":6.56,"pct_chg":47.42,"abs_pct_chg":47.42,"dollar_volume_m":138,"split_record_on_file":0},{"board":"top gainers","ticker":"ABVX","prior_close":96.17,"day_close":133.25,"pct_chg":38.56,"abs_pct_chg":38.56,"dollar_volume_m":942,"split_record_on_file":0},{"board":"top gainers","ticker":"AVXX","prior_close":5.03,"day_close":6.84,"pct_chg":35.98,"abs_pct_chg":35.98,"dollar_volume_m":23,"split_record_on_file":0},{"board":"top gainers","ticker":"CRCD","prior_close":5.16,"day_close":6.99,"pct_chg":35.47,"abs_pct_chg":35.47,"dollar_volume_m":18,"split_record_on_file":0},{"board":"top decliners","ticker":"CRCA","prior_close":19.71,"day_close":12.78,"pct_chg":-35.16,"abs_pct_chg":35.16,"dollar_volume_m":56,"split_record_on_file":0},{"board":"top decliners","ticker":"CRCG","prior_close":13.27,"day_close":8.6,"pct_chg":-35.19,"abs_pct_chg":35.19,"dollar_volume_m":64,"split_record_on_file":0},{"board":"top decliners","ticker":"NVCT","prior_close":28.52,"day_close":18.36,"pct_chg":-35.62,"abs_pct_chg":35.62,"dollar_volume_m":51,"split_record_on_file":0},{"board":"top decliners","ticker":"UNCY","prior_close":7.7,"day_close":4.69,"pct_chg":-39.09,"abs_pct_chg":39.09,"dollar_volume_m":55,"split_record_on_file":0},{"board":"top decliners","ticker":"SOC","prior_close":6.96,"day_close":3.07,"pct_chg":-55.89,"abs_pct_chg":55.89,"dollar_volume_m":306,"split_record_on_file":0}],"shape":"table","sql":"WITH per_ticker AS (\n    SELECT\n        ticker,\n        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,\n        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,\n        sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') AS day_dollar_volume\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')\n       OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')\n    GROUP BY ticker\n    HAVING prior_close > 1 AND day_close > 0 AND day_dollar_volume >= 10000000 AND ticker NOT IN ('SPCX')\n)\nSELECT\n    board,\n    ticker,\n    prior_close,\n    day_close,\n    pct_chg,\n    round(abs(pct_chg), 2) AS abs_pct_chg,\n    dollar_volume_m,\n    if(ticker IN (SELECT ticker FROM global_markets.stocks_splits\n                  WHERE execution_date >= '2026-06-29' AND execution_date <= '2026-06-30'), 1, 0) AS split_record_on_file\nFROM (\n    SELECT 'top gainers' AS board, ticker, round(prior_close, 2) AS prior_close, round(day_close, 2) AS day_close,\n           round((day_close / prior_close - 1) * 100, 2) AS pct_chg, round(day_dollar_volume / 1e6, 0) AS dollar_volume_m\n    FROM per_ticker\n    ORDER BY (day_close / prior_close) DESC, ticker ASC\n    LIMIT 5\n    UNION ALL\n    SELECT 'top decliners' AS board, ticker, round(prior_close, 2) AS prior_close, round(day_close, 2) AS day_close,\n           round((day_close / prior_close - 1) * 100, 2) AS pct_chg, round(day_dollar_volume / 1e6, 0) AS dollar_volume_m\n    FROM per_ticker\n    ORDER BY (day_close / prior_close) ASC, ticker ASC\n    LIMIT 5\n)\nORDER BY if(board = 'top gainers', 0, 1) ASC, pct_chg DESC, ticker ASC","computed_at":"2026-07-26T05:43:16.803655+00:00","elapsed":1.247221859}