{"slug":"what-is-the-nbbo","qid":"updates_liquid_vs_thin","label":"NBBO updates per session: four heavily traded names vs. two thin small caps","post_title":"What Is the NBBO? National Best Bid and Offer","post_url":"/blog/what-is-the-nbbo#q-updates_liquid_vs_thin","columns":["ticker","sessions","avg_updates_per_session","avg_updates_per_session_m","multiple_of_quietest"],"rows":[{"ticker":"SPY","sessions":5,"avg_updates_per_session":2057225,"avg_updates_per_session_m":2.057,"multiple_of_quietest":866},{"ticker":"NVDA","sessions":5,"avg_updates_per_session":1533905,"avg_updates_per_session_m":1.534,"multiple_of_quietest":645},{"ticker":"AAPL","sessions":5,"avg_updates_per_session":797459,"avg_updates_per_session_m":0.797,"multiple_of_quietest":336},{"ticker":"KO","sessions":5,"avg_updates_per_session":337245,"avg_updates_per_session_m":0.337,"multiple_of_quietest":142},{"ticker":"SENEA","sessions":5,"avg_updates_per_session":5083,"avg_updates_per_session_m":0.005,"multiple_of_quietest":2},{"ticker":"NATH","sessions":5,"avg_updates_per_session":2377,"avg_updates_per_session_m":0.002,"multiple_of_quietest":1}],"shape":"series","sql":"SELECT ticker,\n       uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) AS sessions,\n       round(count() / uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York')))) AS avg_updates_per_session,\n       round(count() / uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) / 1e6, 3) AS avg_updates_per_session_m,\n       round((count() / uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York')))) / min(count() / uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York')))) OVER (), 0) AS multiple_of_quietest\nFROM global_markets.cache_stocks_quotes\nWHERE ticker IN ('SPY', 'NVDA', 'AAPL', 'KO', 'SENEA', 'NATH')\n  AND sip_timestamp >= toDateTime(today() - 10)\n  AND sip_timestamp < toDateTime(today() - 3)\n  AND toDate(toTimeZone(sip_timestamp, 'America/New_York')) IN (\n      SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date\n      FROM global_markets.delayed_stocks_minute_aggs\n      WHERE ticker = 'SPY'\n        AND window_start >= toDateTime(today() - 10)\n        AND window_start < toDateTime(today() - 3)\n      GROUP BY session_date\n      HAVING countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) = 390\n  )\nGROUP BY ticker\nORDER BY indexOf(['SPY', 'NVDA', 'AAPL', 'KO', 'SENEA', 'NATH'], ticker)","computed_at":"2026-08-22T04:34:59.783949+00:00","elapsed":4.715248397}