{"slug":"spacex-lockup-expiration","qid":"convention_dates","label":"Where standard lockup conventions land, counted from the first SPCX session","post_title":"SpaceX Lockup Expiration Date: How to Find It","post_url":"/blog/spacex-lockup-expiration#q-convention_dates","columns":["convention","calendar_days","lands_on","weekday","days_from_today"],"rows":[{"convention":"90-day","calendar_days":90,"lands_on":"Sep 10, 2026","weekday":"Thu","days_from_today":19},{"convention":"120-day","calendar_days":120,"lands_on":"Oct 10, 2026","weekday":"Sat","days_from_today":49},{"convention":"180-day","calendar_days":180,"lands_on":"Dec 9, 2026","weekday":"Wed","days_from_today":109},{"convention":"270-day","calendar_days":270,"lands_on":"Mar 9, 2027","weekday":"Tue","days_from_today":199}],"shape":"series","sql":"WITH debut AS\n(\n    SELECT min(toDate(toTimeZone(window_start, 'America/New_York'))) AS d0\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPCX'\n      AND window_start >= '2026-06-01'\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)\nSELECT\n    concat(toString(n), '-day')                              AS convention,\n    n                                                        AS calendar_days,\n    formatDateTime((SELECT d0 FROM debut) + n, '%b %e, %Y')  AS lands_on,\n    formatDateTime((SELECT d0 FROM debut) + n, '%a')         AS weekday,\n    dateDiff('day', today(), (SELECT d0 FROM debut) + n)     AS days_from_today\nFROM\n(\n    SELECT arrayJoin([90, 120, 180, 270]) AS n\n)\nORDER BY n","computed_at":"2026-08-22T04:20:05.247488+00:00","elapsed":0.081231562}