{"slug":"what-is-a-stock-float","qid":"mdln_lockup_window","label":"Medline (MDLN): the 20 sessions before its 180-day mark vs. every session from it, regular-hours volume and daily range","post_title":"Stock Float vs. Shares Outstanding Explained","post_url":"/blog/what-is-a-stock-float#q-mdln_lockup_window","columns":["window","listed_on","shares_offered_m","sessions","first_session","last_session","median_daily_volume_m","median_daily_range_pct"],"rows":[{"window":"1. 20 sessions before","listed_on":"Dec 17, 2025","shares_offered_m":248.4,"sessions":20,"first_session":"May 15","last_session":"Jun 12","median_daily_volume_m":8.61,"median_daily_range_pct":4.53},{"window":"2. from the 180-day mark","listed_on":"Dec 17, 2025","shares_offered_m":248.4,"sessions":18,"first_session":"Jun 15","last_session":"Jul 10","median_daily_volume_m":6.42,"median_daily_range_pct":4.14}],"shape":"series","sql":"WITH ipo AS (\n    SELECT concat(formatDateTime(listing_date, '%b'), ' ', toString(toDayOfMonth(listing_date)), ', ', toString(toYear(listing_date))) AS listed_on,\n           round(max_shares_offered / 1e6, 1) AS shares_offered_m\n    FROM global_markets.stocks_ipos\n    WHERE ticker = 'MDLN'\n      AND ipo_status = 'history'\n      AND listing_date >= '2025-12-01'\n      AND listing_date <= '2025-12-31'\n    LIMIT 1\n),\ndaily AS (\n    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session,\n           toFloat64(max(high)) AS hi,\n           toFloat64(min(low)) AS lo,\n           sum(toFloat64(volume)) AS shares_traded\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'MDLN'\n      AND window_start >= toDateTime('2026-05-15 09:30:00', 'America/New_York')\n      AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')\n      AND toHour(toTimeZone(window_start, 'America/New_York')) >= 9\n      AND toHour(toTimeZone(window_start, 'America/New_York')) < 16\n      AND NOT (toHour(toTimeZone(window_start, 'America/New_York')) = 9\n               AND toMinute(toTimeZone(window_start, 'America/New_York')) < 30)\n    GROUP BY session\n    HAVING lo > 0\n)\nSELECT if(session < toDate('2026-06-15'), '1. 20 sessions before', '2. from the 180-day mark') AS window,\n       any(listed_on) AS listed_on,\n       any(shares_offered_m) AS shares_offered_m,\n       count() AS sessions,\n       concat(formatDateTime(min(session), '%b'), ' ', toString(toDayOfMonth(min(session)))) AS first_session,\n       concat(formatDateTime(max(session), '%b'), ' ', toString(toDayOfMonth(max(session)))) AS last_session,\n       round(quantileDeterministic(0.5)(shares_traded, cityHash64(session)) / 1e6, 2) AS median_daily_volume_m,\n       round(quantileDeterministic(0.5)(100 * (hi - lo) / lo, cityHash64(session)), 2) AS median_daily_range_pct\nFROM daily\nCROSS JOIN ipo\nGROUP BY window\nORDER BY window","computed_at":"2026-07-26T06:21:07.843328+00:00","elapsed":0.267705179}