{"slug":"do-stocks-fall-after-lockup-expiration","qid":"price_shift","label":"Price change over the 30 days before and after the 180 day mark","post_title":"Do Stocks Fall When a Lockup Expires?","post_url":"/blog/do-stocks-fall-after-lockup-expiration#q-price_shift","columns":["ticker","return_before_pct","return_after_pct"],"rows":[{"ticker":"ALAB","return_before_pct":5.7,"return_after_pct":51},{"ticker":"RDDT","return_before_pct":9,"return_after_pct":29},{"ticker":"RBRK","return_before_pct":15.3,"return_after_pct":27.6},{"ticker":"ARM","return_before_pct":-14.9,"return_after_pct":3.5},{"ticker":"CART","return_before_pct":33.9,"return_after_pct":3.1},{"ticker":"BIRK","return_before_pct":-7.2,"return_after_pct":1.9}],"shape":"ranking","sql":"WITH multiIf(\n        ticker = 'ARM',  toDate('2023-09-14'),\n        ticker = 'CART', toDate('2023-09-19'),\n        ticker = 'BIRK', toDate('2023-10-11'),\n        ticker = 'ALAB', toDate('2024-03-20'),\n        ticker = 'RDDT', toDate('2024-03-21'),\n        ticker = 'RBRK', toDate('2024-04-25'),\n        toDate('2024-01-01')) + 180 AS lockup_mark\nSELECT\n    ticker,\n    round(100 * (argMaxIf(day_close, session_date, session_date <  lockup_mark)\n               / argMinIf(day_close, session_date, session_date <  lockup_mark) - 1), 1) AS return_before_pct,\n    round(100 * (argMaxIf(day_close, session_date, session_date >= lockup_mark)\n               / argMaxIf(day_close, session_date, session_date <  lockup_mark) - 1), 1) AS return_after_pct\nFROM\n(\n    SELECT\n        ticker,\n        toDate(toTimeZone(window_start, 'America/New_York'))   AS session_date,\n        toFloat64(argMax(close, window_start))                 AS day_close\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('ARM', 'CART', 'BIRK', 'ALAB', 'RDDT', 'RBRK')\n      AND window_start >= toDateTime('2024-01-15 00:00:00')\n      AND window_start <  toDateTime('2024-12-15 00:00:00')\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960\n    GROUP BY ticker, session_date\n)\nWHERE session_date >= lockup_mark - 30\n  AND session_date <= lockup_mark + 30\nGROUP BY ticker\nHAVING countIf(session_date <  lockup_mark) > 0\n   AND countIf(session_date >= lockup_mark) > 0\nORDER BY return_after_pct DESC","computed_at":"2026-08-06T04:27:03.545794+00:00","elapsed":0.004458869}