{"slug":"what-is-the-opening-auction","qid":"opening_auction_anatomy","label":"The opening cross vs. the rest of the day: SPY, AAPL, NVDA on July 2, 2026","post_title":"What Is the Opening Auction? How Stocks Open","post_url":"/blog/what-is-the-opening-auction#q-opening_auction_anatomy","columns":["ticker","auction_shares_k","auction_price","auction_time_et","opening_print_count","open_prints_at_0930","smallest_open_print_shares","first5_shares_k","auction_pct_of_first5","auction_pct_of_day","closing_auction_shares_m","close_vs_open_x"],"rows":[{"ticker":"SPY","auction_shares_k":122,"auction_price":747.22,"auction_time_et":"09:30:00","opening_print_count":2,"open_prints_at_0930":2,"smallest_open_print_shares":4,"first5_shares_k":1295,"auction_pct_of_first5":9.4,"auction_pct_of_day":0.21,"closing_auction_shares_m":1.65,"close_vs_open_x":13.5},{"ticker":"AAPL","auction_shares_k":323.3,"auction_price":294.1,"auction_time_et":"09:30:00","opening_print_count":1,"open_prints_at_0930":1,"smallest_open_print_shares":323338,"first5_shares_k":1856,"auction_pct_of_first5":17.4,"auction_pct_of_day":0.43,"closing_auction_shares_m":10.89,"close_vs_open_x":33.7},{"ticker":"NVDA","auction_shares_k":690,"auction_price":197.12,"auction_time_et":"09:30:00","opening_print_count":1,"open_prints_at_0930":1,"smallest_open_print_shares":690026,"first5_shares_k":5006,"auction_pct_of_first5":13.8,"auction_pct_of_day":0.48,"closing_auction_shares_m":17.38,"close_vs_open_x":25.2}],"shape":"series","sql":"SELECT\n    ticker,\n    round(toFloat64(maxIf(size, has(conditions, 17))) / 1e3, 1) AS auction_shares_k,\n    toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 17))) AS auction_price,\n    formatDateTime(toTimeZone(argMaxIf(sip_timestamp, (size, sip_timestamp), has(conditions, 17)), 'America/New_York'), '%H:%i:%S') AS auction_time_et,\n    countIf(has(conditions, 17)) AS opening_print_count,\n    countIf(has(conditions, 17) AND formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:%i:%S') = '09:30:00') AS open_prints_at_0930,\n    minIf(size, has(conditions, 17)) AS smallest_open_print_shares,\n    round(toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]) AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) >= 570 AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) < 575)) / 1e3) AS first5_shares_k,\n    round(100 * toFloat64(maxIf(size, has(conditions, 17))) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]) AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) >= 570 AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) < 575)), 1) AS auction_pct_of_first5,\n    round(100 * toFloat64(maxIf(size, has(conditions, 17))) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))), 2) AS auction_pct_of_day,\n    round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS closing_auction_shares_m,\n    round(toFloat64(maxIf(size, has(conditions, 8))) / toFloat64(maxIf(size, has(conditions, 17))), 1) AS close_vs_open_x\nFROM global_markets.stocks_trades\nWHERE ticker IN ('SPY', 'AAPL', 'NVDA')\n  AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'\nGROUP BY ticker\nORDER BY indexOf(['SPY', 'AAPL', 'NVDA'], ticker)","computed_at":"2026-07-26T06:24:33.902187+00:00","elapsed":1.142607984}