{"slug":"non-marginable-securities-explained","qid":"ipo_seasoning","label":"Average daily range of recent listings, by age since listing","post_title":"Non-Marginable Securities: Reg T vs House","post_url":"/blog/non-marginable-securities-explained#q-ipo_seasoning","columns":["days_since_listing","avg_daily_range_pct","cohort_size"],"rows":[{"days_since_listing":"Days 1 to 7","avg_daily_range_pct":14.41,"cohort_size":613},{"days_since_listing":"Days 8 to 14","avg_daily_range_pct":8.28,"cohort_size":619},{"days_since_listing":"Days 15 to 30","avg_daily_range_pct":8.38,"cohort_size":633},{"days_since_listing":"Days 31 to 60","avg_daily_range_pct":8.02,"cohort_size":635},{"days_since_listing":"Days 61 to 90","avg_daily_range_pct":8.28,"cohort_size":630}],"shape":"ranking","sql":"WITH ipo AS\n(\n    SELECT\n        ticker,\n        min(listing_date) AS listed\n    FROM global_markets.stocks_ipos\n    WHERE listing_date >= today() - 900\n      AND listing_date <= today() - 120\n      AND ticker NOT IN ('SPCX')\n    GROUP BY ticker\n)\nSELECT\n    multiIf(age <=  7, 'Days 1 to 7',\n            age <= 14, 'Days 8 to 14',\n            age <= 30, 'Days 15 to 30',\n            age <= 60, 'Days 31 to 60',\n                       'Days 61 to 90')  AS days_since_listing,\n    round(avg(range_pct), 2)             AS avg_daily_range_pct,\n    uniqExact(ticker)                    AS cohort_size\nFROM\n(\n    SELECT\n        a.ticker                                             AS ticker,\n        dateDiff('day', i.listed, a.date)                    AS age,\n        100 * toFloat64(a.high - a.low) / toFloat64(a.close) AS range_pct\n    FROM global_markets.stocks_daily_aggs AS a\n    INNER JOIN ipo AS i ON i.ticker = a.ticker\n    WHERE a.date >= today() - 1000\n      AND a.volume > 0\n      AND a.close > 0\n)\nWHERE age >= 0\n  AND age <= 90\nGROUP BY days_since_listing\nORDER BY min(age)","computed_at":"2026-08-22T04:17:32.985525+00:00","elapsed":0.848917522}