Strasmore Research
آموزش Matt Connorتوسط Matt Connor · به‌روزرسانی شده در 2026-07-24 · data as of July 24, 2026 · refreshed weekly

علت گسترده شدن شکاف قیمتی در زمان بازگشایی بازار

بررسی علت افزایش spreads در زمان بازگشایی بازار بر اساس داده‌های tick-level و تحلیل هزینه سفارش بازار در نیم ساعت اول برای درک بهتر نقدشوندگی و ریسک معاملات.

شکاف‌های قیمتی (spreads) در زمان بازگشایی بازار، بسیار گسترده‌تر از سایر بازه‌های زمانی در جلسات عادی معاملات در ایالات متحده است؛ و هرچه نقدشوندگی یک سهم کمتر باشد، این جریمه قیمتی شدیدتر خواهد بود. در بازه زمانی متحرک زیر، میانگین شکاف قیمت خرید و فروش در نیم ساعت اول معاملات برای سهم Etsy (یک شرکت با ارزش بازار متوسط) 3.34 برابر با میانگین زمان ظهر بود. این میزان برای Apple نیز 2.02 برابر گزارش شد. در حالی که SPY، که پرمعامله‌ترین مورد در میان این سه مورد است، نسبت تجمیعی 1x را ثبت کرد؛ خطی صاف که مشخص شد ناشی از شبکه قیمتی یک سنتی است و نه بازگشایی آزاد بازار. این صفحه، زمان‌بندی خود را بر اساس قیمت‌های سطح تیک (tick-level) محاسبه می‌کند.

هزینه سفارش بازار برای اختلاف قیمت خرید و فروش

هر سهم همزمان دو قیمت را نشان می‌دهد: bid، که بهترین پیشنهاد موجود برای خرید است، و ask، که بهترین پیشنهاد موجود برای فروش است. فاصله بین این دو قیمت، اختلاف قیمت خرید و فروش نام دارد. یک market order — یعنی سفارشی که در حال حاضر با بهترین قیمت موجود معامله می‌شود — این هزینه را پرداخت می‌کند: خرید با قیمت ask انجام می‌شود، فروش با قیمت bid انجام می‌شود و تفاوت آن به ارائه‌دهنده قیمت، که معمولاً یک market maker است، تعلق می‌گیرد. دو ویژگی این قیمت‌گذاری در ادامه اهمیت دارد: این قیمت‌گذاری بر اساس زمانی حرکت می‌کند که پایان گران‌قیمت آن زمان صبح است، و گام‌های آن در واحدهای یک سنتی است — یعنی باریک‌ترین اختلاف قیمت که یک ETF با قیمت بالا و یک Mid-cap بسیار ارزان‌تر می‌توانند نشان دهند، یک سنت یکسان است.

ساعت اسپرد: یک الگو، سه سطح نقدینگی

این نمودار سه سطح نقدینگی را دنبال می‌کند: SPY، یعنی S&P 500 ETF؛ Apple، یک شرکت با ارزش بازار بسیار بالا؛ و Etsy، یک شرکت با ارزش بازار متوسط. هر به‌روزرسانی معتبر NBBO — بهترین قیمت خرید و فروش در کل بازار که کارگزار شما نشان می‌دهد و در توضیحات NBBO ما باز شده است — در یک بازه چند روزه اخیر، در یک بازه 30 دقیقه‌ای از جلسه معاملاتی عادی قرار می‌گیرد. میانه اسپرد هر بازه بر کمترین میزان اسپرد آن نماد تقسیم شده است؛ بنابراین عدد 1 نشان‌دهنده کمترین میزان اسپرد ممکن برای آن سهم است.

پرس‌وجومیانه اسپرد در هر نیم‌ساعت، به صورت ضریبی از کمترین بازه هر نماد (ساعات معاملاتی عادی، ET)
کد دقیق SQL پشت هر عدد
SELECT et_time,
       round(anyIf(rel, ticker = 'SPY'), 2) AS spy_x,
       round(anyIf(rel, ticker = 'AAPL'), 2) AS aapl_x,
       round(anyIf(rel, ticker = 'ETSY'), 2) AS etsy_x
FROM (
    SELECT ticker,
           et_time,
           median_bps / min(median_bps) OVER (PARTITION BY ticker) AS rel
    FROM (
        SELECT ticker,
               formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
               quantileExact(0.5)(toFloat64(ask_price - bid_price) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000) AS median_bps
        FROM global_markets.cache_stocks_quotes
        WHERE ticker IN ('SPY', 'AAPL', 'ETSY')
          AND sip_timestamp >= toDateTime(today() - 14)
          AND sip_timestamp < toDateTime(today() - 3)
          AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
          AND bid_price > 0
          AND ask_price > bid_price
        GROUP BY ticker, et_time
    )
)
GROUP BY et_time
ORDER BY et_time

کتاب‌های درسی، الگوی درون‌روزی را به صورت شکل U توصیف می‌کنند: باز شدن با اسپرد زیاد، فشرده شدن در میانه روز و باز شدن مجدد در نزدیکی زمان بسته شدن بازار. در اینجا، برای نمادهایی که اسپرد آن‌ها فضای حرکت دارد، این الگو شبیه به شیب تپه اندازه‌گیری شده است. Etsy در سطح 5.78 برابر با کمترین میزان اسپرد خود باز شد، تا ساعت 10:30 به 2.99 رسید و در زمان ناهار به 1.86 رسید؛ Apple نیز در سطح 3.04 باز شد. برای هر سه نماد، فشرده‌ترین نیم‌ساعت، نیم‌ساعت پایانی است — به ترتیب 1، 1 و 1 — بنابراین باز شدن مجدد اسپرد که معامله‌گران آن را با «زمان بسته شدن بازار» مرتبط می‌دانند، مربوط به جلسه معاملاتی تمدید شده، یعنی پس از مزایده بسته شدن است.

خط مربوط به SPY صاف است: 1 در بازه شروع معاملات و 1 در زمان ناهار. میانه اسپرد آن در طول روز تغییری نمی‌کند. این به معنای نبودِ پاداش بازگشایی بازار نیست، بلکه به دلیل ساختار ریز‌گام‌های قیمتی است.

شبکه یک‌سانتی: محل پنهان شدن پریمیا در کم‌حجم‌ترین نام‌ها

میانگین spread در SPY در زمان بازگشایی 2¢ و در اواسط روز 2¢ است؛ این دو عدد یکسان هستند، بنابراین میانگین (median) اطلاعات جدیدی ارائه نمی‌دهد. اما توزیع داده‌ها در زیر این سطح، اطلاعات متفاوتی دارد. این پنل، سهم به‌روزرسانی‌های قیمت را که در حداقل یک‌سانتی‌متر باقی مانده‌اند، در هر نیم‌ساعت محاسبه می‌کند.

پرس‌وجوسهم به‌روزرسانی قیمت‌ها در حداقل اسپرد یک سنتی، بر حسب نیم‌ساعت (ساعات معاملاتی عادی، ET)
کد دقیق SQL پشت هر عدد
SELECT et_time,
       round(100 * countIf(ticker = 'SPY' AND spread_c <= 1.0001) / countIf(ticker = 'SPY'), 1) AS spy_pct_penny,
       round(100 * countIf(ticker = 'AAPL' AND spread_c <= 1.0001) / countIf(ticker = 'AAPL'), 1) AS aapl_pct_penny,
       round(100 * countIf(ticker = 'ETSY' AND spread_c <= 1.0001) / countIf(ticker = 'ETSY'), 1) AS etsy_pct_penny
FROM (
    SELECT ticker,
           formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
           toFloat64(ask_price - bid_price) * 100 AS spread_c
    FROM global_markets.cache_stocks_quotes
    WHERE ticker IN ('SPY', 'AAPL', 'ETSY')
      AND sip_timestamp >= toDateTime(today() - 14)
      AND sip_timestamp < toDateTime(today() - 3)
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
      AND bid_price > 0
      AND ask_price > bid_price
)
GROUP BY et_time
ORDER BY et_time

SPY در 20.7% از به‌روزرسانی‌های نیم‌ساعت اول خود در کف یک‌سانتی‌متر قرار داشت، در حالی که این رقم در نیم‌ساعت آخر 43.1% بود؛ Apple با 3.1% در برابر 30.6%؛ Etsy با 0.2% در برابر 8.3%. فاصله تمامی نام‌ها از کف در زمان بازگشایی بیشتر از زمان بسته شدن است و بخش انتهایی توزیع (tail) نیز تغییر می‌کند: صدک نودم spread در زمان بازگشایی SPY برابر با 4¢ در مقابل 3¢ در اواسط روز بود — یعنی 1.32 برابر، در حالی که میانگین آن 1 برابر بود. پریمیا در SPY وجود دارد؛ اما شبکه یک‌سانتی برای ثبت آن در میانگین بسیار درشت است.

چرا در زمان بازگشایی، spreadها عریض‌تر هستند؟

سه عامل در نیم‌ساعت اول بازگشایی همزمان رخ می‌دهند و هیچ‌کدام تا زمان صرف ناهار پابرجا نمی‌مانند.

  • تجمع سفارش‌های شبانه به طور یک‌باره وارد بازار می‌شود. از ساعت 4:00 عصر تا مزایده بازگشایی صبح روز بعد، هفده و نیم ساعت اطلاعات — از جمله گزارش‌های سود، پیش‌بینی‌ها و جلسات معاملاتی خارج از کشور — انباشته می‌شود، در حالی که معاملات مداوم متوقف است. اولین قیمت‌ها بر اساس شکاف قیمتی (gap) تعیین می‌شوند، نه بر اساس قیمت بسته‌شدن قبلی.
  • فرآیند کشف قیمت همچنان در جریان است. مزایده، آن حجم انباشته‌شده را در قالب یک قیمت واحد فشرده می‌کند؛ سپس بازار دقایقی را صرف یافتن محدوده‌ای حول آن قیمت می‌کند و در حین این جستجو، قیمت‌ها با بیشترین سرعت تغییر می‌کنند.
  • دفترچه سفارش‌ها هنوز در حال تکمیل شدن است. معاملات پیش از بازار با تعداد بسیار کمتری از شرکت‌کنندگان که قیمت ارائه می‌دهند، انجام می‌شود و صدای زنگ بازار بلافاصله دفترچه سفارش‌ها را بازنشانی نمی‌کند.

تأثیر توقف معاملات بر زمان‌بندی

توقف معاملات، حالت افراطی همان مکانیسم‌ها است. تحت قوانین limit up-limit down (LULD)، اگر قیمت یک سهم از محدوده تعیین‌شده حول میانگین اخیر خود خارج شود، یک وقفه پنج دقیقه‌ای ایجاد می‌شود؛ همچنین بورس می‌تواند یک نماد را برای انتشار اخبار منتظر، متوقف کند. در میانه توقف، هیچ قیمت خرید و فروشی برای معامله وجود ندارد و دفترچه سفارش‌های یک‌طرفه یا متقاطع نمایش داده شده در صفحه، یک بازار قابل معامله نیست. معاملات از طریق یک مزایده بازگشایی مجدد آغاز می‌شود که اولین قیمت‌های آن، بارِ مربوط به انباشت سفارش‌ها و کشف قیمتِ ساعت 9:30 را در عرض چند دقیقه تحمل می‌کند. سهمی که در نزدیکی زمان بازگشایی متوقف شده باشد، این هزینه اضافی را دو بار پرداخت می‌کند.

بازار پیش‌گشایش بازار متفاوتی است

معمولاً ادعا می‌شود که نقدشوندگی پایین (thin-book) عامل اصلی است؛ این پنل قیمت‌گذاری آن را انجام می‌دهد — با همان نمادها و در همان بازه زمانی، در پنج مرحله از روز، بر حسب basis points (bps) یا همان صدم درصد قیمت سهم، تا امکان مقایسه نمادها با قیمت‌های متفاوت فراهم شود.

پرس‌وجومیانه اسپرد استعلام‌شده بر حسب فازهای روز معاملاتی، به واحد basis points (زمان ET)
کد دقیق SQL پشت هر عدد
SELECT phase,
       round(quantileExact(0.5)(spy_b), 2) AS spy_bps,
       round(quantileExact(0.5)(aapl_b), 2) AS aapl_bps,
       round(quantileExact(0.5)(etsy_b), 2) AS etsy_bps
FROM (
    SELECT multiIf(et_min >= 240 AND et_min < 420, 'Premarket 04:00-07:00',
                   et_min >= 420 AND et_min < 570, 'Premarket 07:00-09:30',
                   et_min >= 570 AND et_min < 600, 'Open 09:30-10:00',
                   et_min >= 720 AND et_min < 840, 'Midday 12:00-14:00',
                   et_min >= 960 AND et_min < 1200, 'After-hours 16:00-20:00', 'other') AS phase,
           if(ticker = 'SPY', spread_bps, NULL) AS spy_b,
           if(ticker = 'AAPL', spread_bps, NULL) AS aapl_b,
           if(ticker = 'ETSY', spread_bps, NULL) AS etsy_b
    FROM (
        SELECT ticker,
               toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60
                 + toMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS et_min,
               toFloat64(ask_price - bid_price) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps
        FROM global_markets.cache_stocks_quotes
        WHERE ticker IN ('SPY', 'AAPL', 'ETSY')
          AND sip_timestamp >= toDateTime(today() - 14)
          AND sip_timestamp < toDateTime(today() - 3)
          AND bid_price > 0
          AND ask_price > bid_price
    )
    WHERE phase != 'other'
)
GROUP BY phase
ORDER BY indexOf(['Premarket 04:00-07:00', 'Premarket 07:00-09:30', 'Open 09:30-10:00', 'Midday 12:00-14:00', 'After-hours 16:00-20:00'], phase)

بازار پیش‌گشایش (Premarket) نسخه ضعیف‌تری از بازار باز نیست؛ بلکه بازار متفاوتی است. میانگین اختلاف قیمت خرید و فروش (spread) در نماد Etsy بین ساعت 4:00 تا 7:00 صبح به وقت ET برابر با 306.25 bps و از ساعت 7:00 تا زمان بازگشایی بازار برابر با 307.57 bps بود؛ در حالی که این مقدار در نیم‌ساعت اول بازگشایی 30.79 bps و در اواسط روز 9.21 bps بود — این اعداد در واقع درصد قیمت هستند، نه سنت. نماد Apple در ساعات اولیه 9.82 bps و در اواسط روز 0.96 bps را ثبت کرد؛ حتی ETF نماد SPY نیز با اختلاف 0.8 bps در برابر 0.27 bps بازگشایی، شاهد افزایش spread بود. پس از ساعت 4:00 بعد از ظهر، این اختلاف دوباره کاهش می‌یابد — یعنی 240.45 bps برای Etsy و 6.99 bps برای Apple.

The bill in cents: the open vs. midday

Costs arrive in cents. The table prices the same names — median spread over the opening half hour (9:30–10:00 a.m. ET) against midday (noon–2:00 p.m. ET), the 90th-percentile quote in each window, the quote-update counts, and the excluded one-sided, locked, or crossed quotes.

پرس‌وجوپریمیوم قیمت‌گذاری در زمان بازگشایی: میانه و صدک ۹۰ام اسپرد در زمان بازگشایی (9:30-10:00 ET) در مقابل ظهر (12:00-14:00 ET)
کد دقیق SQL پشت هر عدد
SELECT ticker,
       round(countIf(isNotNull(spread_cents)) / 1e6, 2) AS valid_updates_m,
       round(quantileExactIf(0.5)(spread_cents, clock_min BETWEEN 810 AND 839), 2) AS open30_cents,
       round(quantileExactIf(0.5)(spread_cents, clock_min BETWEEN 960 AND 1079), 2) AS midday_cents,
       round(quantileExactIf(0.5)(spread_bps, clock_min BETWEEN 810 AND 839), 2) AS open30_bps,
       round(quantileExactIf(0.5)(spread_bps, clock_min BETWEEN 960 AND 1079), 2) AS midday_bps,
       round(quantileExactIf(0.5)(spread_bps, clock_min BETWEEN 810 AND 839)
             / quantileExactIf(0.5)(spread_bps, clock_min BETWEEN 960 AND 1079), 2) AS open_vs_midday_x,
       round(quantileExactIf(0.9)(spread_cents, clock_min BETWEEN 810 AND 839), 2) AS open30_p90_cents,
       round(quantileExactIf(0.9)(spread_cents, clock_min BETWEEN 960 AND 1079), 2) AS midday_p90_cents,
       round(quantileExactIf(0.9)(spread_bps, clock_min BETWEEN 810 AND 839), 2) AS open30_p90_bps,
       round(quantileExactIf(0.9)(spread_bps, clock_min BETWEEN 810 AND 839)
             / quantileExactIf(0.9)(spread_bps, clock_min BETWEEN 960 AND 1079), 2) AS p90_x,
       toString(countIf(isNull(spread_cents))) AS dropped_onesided_locked_crossed
FROM (
    SELECT ticker,
           toHour(sip_timestamp) * 60 + toMinute(sip_timestamp) AS clock_min,
           if(bid_price > 0 AND ask_price > bid_price, toFloat64(ask_price - bid_price) * 100, NULL) AS spread_cents,
           if(bid_price > 0 AND ask_price > bid_price, toFloat64(ask_price - bid_price) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, NULL) AS spread_bps
    FROM global_markets.cache_stocks_quotes
    WHERE ticker IN ('SPY', 'AAPL', 'ETSY')
      AND sip_timestamp >= toDateTime(today() - 14)
      AND sip_timestamp < toDateTime(today() - 3)
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
)
GROUP BY ticker
ORDER BY indexOf(['SPY', 'AAPL', 'ETSY'], ticker)

Cents per share and dollars per 100 shares are the same number, so the table is a bill: a 100-share round trip in Etsy at the median opening quote gives up $24 against $7 at midday quotes; Apple, $6 against $3. The premium climbs as the tape thins — 1x for SPY, 2.02x for Apple, 3.34x for Etsy, whose 0.19 million quote updates are a small fraction of Apple's 8.97 million. The tier swamps the clock: SPY's opening half hour, 0.27 bps, is tighter than Etsy's calmest midday (9.21 bps), whose worst-decile open measured 75.67 bps.

آیا اختلاف قیمت در هر جلسه معاملاتی ظاهر می‌شود؟

میانگین‌گیری از قیمت‌های چندین روز معاملاتی، به جای پاسخ به یک بازه زمانی، به یک صبح مشخص پاسخ می‌دهد. این پنل نسبت قیمت بازگشایی به قیمت میان‌روز را در هر جلسه مجدداً محاسبه می‌کند: جلسه معمولی، آرام‌ترین جلسه، بدترین جلسه و سهامی که بازگشایی آن همواره با اختلاف بیشتری همراه بوده است.

پرس‌وجوجلسه به جلسه: میزان و تکرار بازگشایی با اسپرد بیشتر نسبت به ظهر
کد دقیق SQL پشت هر عدد
SELECT ticker,
       count() AS sessions,
       round(quantileExact(0.5)(ratio), 2) AS median_session_x,
       round(min(ratio), 2) AS calmest_session_x,
       round(max(ratio), 2) AS worst_session_x,
       round(100 * countIf(ratio > 1) / count(), 0) AS pct_sessions_open_wider
FROM (
    SELECT ticker,
           toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session_date,
           quantileExactIf(0.5)(spread_bps, clock_min BETWEEN 810 AND 839)
             / quantileExactIf(0.5)(spread_bps, clock_min BETWEEN 960 AND 1079) AS ratio
    FROM (
        SELECT ticker,
               sip_timestamp,
               toHour(sip_timestamp) * 60 + toMinute(sip_timestamp) AS clock_min,
               toFloat64(ask_price - bid_price) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps
        FROM global_markets.cache_stocks_quotes
        WHERE ticker IN ('SPY', 'AAPL', 'ETSY')
          AND sip_timestamp >= toDateTime(today() - 14)
          AND sip_timestamp < toDateTime(today() - 3)
          AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
          AND bid_price > 0
          AND ask_price > bid_price
    )
    GROUP BY ticker, session_date
    HAVING countIf(clock_min BETWEEN 810 AND 839) > 0
       AND countIf(clock_min BETWEEN 960 AND 1079) > 0
)
GROUP BY ticker
ORDER BY indexOf(['SPY', 'AAPL', 'ETSY'], ticker)

در میان 7 جلسه معاملاتی، در 71% موارد برای SPY، در 100% موارد برای Apple و در 100% موارد برای Etsy، قیمت بازگشایی نسبت به قیمت میان‌روز بازتر بوده است. اختلاف قیمت در یک جلسه معمولی: برای SPY برابر با 1x است — در نقدترین نماد بازار، شبکه قیمت‌های بسیار کوچک حتی با افزایش مداوم، تقریباً غیرقابل مشاهده باقی می‌ماند — در مقابل 2.03x برای Apple و 3.29x برای Etsy، که در آن‌ها این اختلاف کاملاً مشهود است. نکته اصلی، پراکندگی است: آرام‌ترین صبح Etsy با اختلاف 2.08x نسبت به قیمت میان‌روز خود باز شد و بدترین جلسه آن با اختلاف 4.5x. اختلاف قیمت در زمان بازگشایی، یک میانگین و یک حالت حدی است، نه تضمینی برای ساعت 9:31 فردا.

یک آزمون استرس: صبح شرکت MU در 7 جولای 2026

پنجره‌های متحرک، نوسانات یک روز خاص را تعدیل می‌کنند؛ بنابراین در اینجا یک روز مشخص را بررسی می‌کنیم: بررسی عملکرد Micron در روز سه‌شنبه، 7 جولای 2026، در میانگاه شکست نیمه‌هادی‌ها خلاصه‌ی آن روز ارائه شده است.

پرس‌وجوMU تا ۷ جولای ۲۰۲۶: قیمت بسته‌شدن جلسه عادی قبلی، قیمت بازگشایی، شکاف شبانه
کد دقیق SQL پشت هر عدد
WITH prev AS (
    SELECT argMax(toFloat64(close), window_start) AS prev_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'MU'
      AND window_start >= '2026-07-06 13:30:00'
      AND window_start < '2026-07-06 20:00:00'
),
day AS (
    SELECT argMin(toFloat64(open), window_start) AS day_open
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'MU'
      AND window_start >= '2026-07-07 13:30:00'
      AND window_start < '2026-07-07 20:00:00'
)
SELECT round((SELECT prev_close FROM prev), 2) AS prior_close,
       round((SELECT day_open FROM day), 2) AS jul7_open,
       round(((SELECT day_open FROM day) - (SELECT prev_close FROM prev)) / (SELECT prev_close FROM prev) * 100, 1) AS overnight_gap_pct

قیمت بسته شدن MU در $984.31 و قیمت بازگشایی در $923.01 بود که نشان‌دهنده شکاف شبانه به میزان -6.2% است. وضعیت spread در آن روز به شرح زیر است:

پرس‌وجوMU — میانه اسپرد استعلام‌شده در هر نیم‌ساعت در ۷ جولای ۲۰۲۶ (ET، ساعات معاملاتی عادی)
کد دقیق SQL پشت هر عدد
SELECT et_time,
       median_spread_cents,
       median_spread_bps,
       round(100 * median_spread_cents / max(median_spread_cents) OVER (), 1) AS pct_of_widest,
       dropped_onesided_locked_crossed
FROM (
    SELECT formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
           round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) * 100, bid_price > 0 AND ask_price > bid_price), 1) AS median_spread_cents,
           round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price > bid_price), 1) AS median_spread_bps,
           toString(countIf(NOT (bid_price > 0 AND ask_price > bid_price))) AS dropped_onesided_locked_crossed
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'MU'
      AND sip_timestamp >= '2026-07-07 13:30:00'
      AND sip_timestamp < '2026-07-07 20:00:00'
    GROUP BY et_time
)
ORDER BY et_time

زمان‌بندی دقیق بود. میانه‌ی spread در نیم‌ساعت اول بازگشایی MU برابر با 62¢ بود — یعنی 6.7 bps برای سهامی که با قیمت $923.01 باز شد — که بیشترین میزان spread در بازه‌ی نیم‌ساعته‌ی این جلسه بود. در بازه‌ی نیم‌ساعته‌ی بعد، میانه‌ی مقدار 45¢ بود، سپس در ظهر به 39¢ و در نیم‌ساعت آخر به 38¢ رسید. افزایش پریمیا طبق برنامه رخ داد و سطح نقدینگی همچنان حاکم بود: حتی در این شرایط، MU از نظر درصدی نسبت به بازگشایی معمولی Etsy (30.79 bps) نوسان کمتری داشت.

::: یادداشت‌های داده‌ها: پنجره، فیلترها، روش
پنل‌های SPY/Apple/Etsy متحرک هستند: یازده روز تقویمی از به‌روزرسانی‌های NBBO که سه روز پیش از آخرین بازبینی (برای رفع تأخیر ورود داده‌ها) پایان می‌یابد. پنل‌های ساعات معاملاتی عادی، جلسه را با استفاده از فیلتر دقیقه‌ی روز به وقت UTC بر اساس ساعت تابستانی (EDT) برش می‌دهند؛ بررسی زیر اطمینان حاصل می‌کند که شروع کار در هر دو انتهای پنجره، ساعت 9:30 صبح به وقت ET باشد (عدد 570 همان ساعت 9:30 صبح است) — در ساعت زمستانی، این فیلتر فعال شده و صفحه را برای بازبینی نگه می‌دارد. پنل فازها مستقیماً به ساعت Eastern تبدیل می‌شود و در هر دو حالت، بازه‌ی 4:00 صبح تا 8:00 شب به وقت ET را پوشش می‌دهد. قیمت‌های یک‌طرفه (bid یا ask صفر) و قیمت‌های قفل‌شده یا متقاطع (bid برابر یا بیشتر از ask) در تمام مراحل حذف می‌شوند؛ پایداری جلسه تنها شامل جلساتی است که در هر دو پنجره قیمت‌گذاری شده‌اند. مقادیر میانه و صدک نود دقیق هستند؛ پنل‌های MU محدود به 6–7 جولای 2026 هستند.

پرس‌وجوWindow guard: فیلتر جلسه UTC با شروع ساعت 9:30 a.m. ET در هر دو سرِ پنجره متحرک مطابقت دارد
کد دقیق SQL پشت هر عدد
SELECT toHour(toTimeZone(toDateTime(today() - 14) + toIntervalMinute(810), 'America/New_York')) * 60
         + toMinute(toTimeZone(toDateTime(today() - 14) + toIntervalMinute(810), 'America/New_York')) AS win_start_et_min,
       toHour(toTimeZone(toDateTime(today() - 4) + toIntervalMinute(810), 'America/New_York')) * 60
         + toMinute(toTimeZone(toDateTime(today() - 4) + toIntervalMinute(810), 'America/New_York')) AS win_end_et_min

:::

FAQ

What time of day are bid-ask spreads widest?

Premarket — Etsy's median quoted spread measured 306.25 bps between 4:00 and 7:00 a.m. ET against 9.21 bps midday. Inside regular hours the widest stretch is the first half hour after the open; the tightest, the last before the close.

Why does SPY's spread look flat at the open?

US stocks are quoted in whole cents, and SPY's median spread sits at 2¢ most of the day — too coarse a grid to register a small widening. Session by session its open still ran wider than its midday in 71% of sessions, and its 90th-percentile opening spread measured 4¢ against 3¢.

Is it bad to place a market order at the open?

It is among the most expensive stretches of the regular session for demanding immediacy — $24 against $7 on a 100-share Etsy round trip in the window above. A limit order caps that cost, at the risk of not filling, and an order that can wait may cross a narrower gap: Etsy's premium fell from 5.78x to 2.99x within an hour.

Do spreads widen again at the close?

Not within regular hours — the final half-hour bucket was the tightest of the day on all three names. That widening arrives after the 4:00 p.m. bell, in the thinner extended session: Apple quoted 6.99 bps there against 0.96 bps midday.

Do options spreads widen at the open too?

The panels here measure equity quotes only and claim nothing about options. The mechanics point the same way — an option's quote depends on the underlying stock's price, least settled in the first minutes — and our options-cost breakdown measures option spreads directly.


Every panel carries the SQL that produced it — swap in a ticker you trade and time its spread clock on the Strasmore terminal.