Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-07-25

29 جون 2026 مارکیٹ مائیکرواسٹرکچر تجزیہ

29 جون 2026 کی ٹیپ کا گہرا تجزیہ: ٹریڈ اور کوٹ فیڈ، ڈکشنری سے والیوم کاریکشن، نینوسیکنڈ رسپٹس، اور ایک نامکمل FINRA فائل۔ ہر عدد محفوظ کوئیری سے ماخوذ ہے۔

یہ 29 جون 2026 کی مارکیٹ ریکیپ کا اندرونی تکنیکی ساتھی ہے: منٹ بارز کے نیچے کا خام فیڈ — ایک عام پیر کے سیشن میں 156.1 ملین انفرادی ٹریڈز اور 505.38 ملین NBBO کوٹ اپڈیٹس۔ ہر عدد ایک محفوظ کردہ کوئیری کا نتیجہ ہے (عین SQL کے لیے کسی بھی پینل کو کھولیں)، اور دن کی دو فرانزک دریافتوں کی مکمل تفصیل دی گئی ہے: ٹیپ کے اپنے کوڈ ڈکشنری کی مطالبہ کردہ والیوم کاریکشن، اور ایک وینڈر فائل جو خاموشی سے حرف S پر رک جاتی ہے۔

تجارتی ٹیپ، ہر پرنٹ کے حساب سے

سیشن کی پڑتال سب سے پہلے آتی ہے، کبھی فرض نہیں کی جاتی: ایکسچینج ہالیڈی کیلنڈر میں 29 جون 2026 کے لیے 0 قطاریں ہیں، اور SPY نے باقاعدہ ونڈو کے اندر بالکل 390 منٹ کی بارز پرنٹ کیں — ایک مکمل سیشن، نیویارک وقت کے مطابق صبح 9:30 سے شام 4:00 بجے تک۔ توسیعی دن بھر، کنسولیڈیٹڈ ٹیپ نے 156.1 ملین انفرادی تجارتیں ریکارڈ کیں۔

استفسار کریںایک دن کی ٹریڈز: سیشن چیک اور ہر پرنٹ کا سائز
ہر عدد کے پیچھے موجود درست SQL
WITH
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-06-29') AS holiday_rows,
    (
        SELECT countIf(window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-06-29 00:00:00' AND window_start < '2026-06-30 00:00:00'
    ) AS spy_bars
SELECT
    holiday_rows AS holiday_rows_jun29,
    spy_bars AS spy_regular_session_bars,
    round(count() / 1e6, 1) AS trades_m,
    round(100.0 * countIf(size < 100) / count(), 2) AS odd_lot_pct_of_trades,
    round(100.0 * toFloat64(sumIf(size, size < 100)) / toFloat64(sum(size)), 2) AS odd_lot_pct_of_shares,
    multiIf(
        countIf(size <= 19) >= 0.5 * count(), 19,
        countIf(size <= 20) >= 0.5 * count(), 20,
        countIf(size <= 21) >= 0.5 * count(), 21,
        countIf(size <= 22) >= 0.5 * count(), 22,
        countIf(size <= 23) >= 0.5 * count(), 23,
        0) AS median_print_shares,
    round(countIf(size = 1) / 1e6, 1) AS one_share_trades_m,
    round(100.0 * countIf(size != round(size)) / count(), 2) AS fractional_pct_of_trades
FROM global_markets.stocks_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'

تمام پرنٹس میں سے 72.61% آڈ لاٹس تھیں — 100 شیئر سے کم کی تجارتیں — تاہم انہوں نے خام شیئرز میں سے صرف 8.79% کو حرکت دی — وہ بغیر درست شدہ کل جسے نیچے والیوم فرانزکس سیکشن ٹرم کرتی ہے۔ میڈین پرنٹ 21 شیئرز تھا، جسے خود تصدیق کرنے والے بریکٹ پروب سے ناپا گیا — 19 سے 23 شیئرز تک کے کیومولیٹو کاؤنٹس — جو بغیر نشانے کے صفر واپس کرتا ہے، اور اس کی حد اس طرح مقرر ہے کہ مس ہولڈ پوسٹ کو برقرار رکھتا ہے۔ 17.9 ملین پرنٹس بالکل ایک شیئر کے لیے تھے اور 4.73% میں فریکشنل سائزز تھے — ایسا پیٹرن جو ریٹیل ایپس کے ٹیپ پر ایک وقت میں ایک سلائس لگانے کے مطابق ہے، جہاں مارکیٹ میکرز دوسری طرف کھڑے ہوتے ہیں۔

حجم کی تفتیش: لغت سے "میچڈ حجم" اخذ کرنا

ہر پرنٹ پر سائز فیلڈ کو جمع کریں تو 29 جون کو 24.79 ارب شیئرز کی ٹریڈنگ نظر آتی ہے۔ یہ عدد غلط ہے، اور ٹیپ خود بھی یہی کہتی ہے۔ ہر پرنٹ میں کنڈیشن کوڈز ہوتے ہیں، اور SIP — یعنی سیکیورٹیز انفارمیشن پروسیسر جو ہر وینیو کو ایک ہی سٹریم میں ضم کرتا ہے — ایک لغت شائع کرتا ہے جو کوڈ در کوڈ بتاتی ہے کہ آیا کوئی پرنٹ کنسولیڈیٹڈ حجم کو اپڈیٹ کرتا ہے۔ کچھ پیغامات پہلے سے شمار شدہ حجم کے انتظامی ری-براڈکاسٹ ہیں۔ "معروف" کوڈز کی فہرست کو ہارڈکوڈ کرنے کے بجائے، یہ پوسٹ مستثنیٰ سیٹ کو لغت سے خود اخذ کرتی ہے:

استفسار کریںاِکسکلوژن سیٹ، ٹیپ کے اپنے کوڈ ڈکشنری سے ماخوذ (ایک قطار)
ہر عدد کے پیچھے موجود درست SQL
SELECT
    count() AS excluded_codes,
    sum(id) AS excluded_id_checksum,
    arrayStringConcat(arraySort(groupArray(concat(toString(id), ' ', name))), ' · ') AS codes
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks'
  AND type = 'sale_condition'
  AND JSONExtractBool(update_rules, 'consolidated', 'updates_volume') = 0

3 سیل کنڈیشنز پر کنسولیڈیٹڈ فیڈ میں updates_volume = false ہے: 15 Market Center Official Close · 16 Market Center Official Open · 38 Corrected Consolidated Close (per listing market)۔ یہ ایک عملی سبق ہے: ڈیلی ریکیپ کے ابتدائی مسودے نے کوڈز پندرہ اور سولہ — یعنی وہ دو سرکاری اوپن/کلوز پیغامات جو ہر ڈیٹا گائیڈ میں مذکور ہوتے ہیں — کو ہارڈکوڈ کیا تھا، اور کوڈ اڑتیس بالکل نظر سے اوجھل رہا۔ لغت ہی حقیقت کا سرچشمہ ہے، کوڈز کی کوئی یاد شدہ فہرست نہیں۔

دو بلاکس جان بوجھ کر رکھے گئے ہیں: 156.1 ملین قطاروں کے سکین کے اندر لغت پر ایک اسکیلر سبکویری ہماری تیس سیکنڈ کی حد سے کہیں آگے نکل جاتی ہے۔ لہٰذا اوپر والا بلاک سیٹ کو ایک قطار کے طور پر اخذ کرتا ہے — کوڈز کی تعداد اور ایک آئی ڈی چیک سم (69) پر سینیٹی باؤنڈ لگا کر — اور نیچے والا بلاک اخذ کردہ لٹرلز کو لاگو کرتا ہے۔ اگر لغت کبھی ڈرفٹ ہو، تو چیک سم باؤنڈ اس پوسٹ کو ریویو کے لیے روکے رکھتی ہے؛ لٹرلز خاموشی سے کبھی پرانے نہیں ہو سکتے۔

استفسار کریںخام بمقابلہ SIP-counted والیوم، ماخوذ کردہ اِکسکلوژن سیٹ کا اطلاق
ہر عدد کے پیچھے موجود درست SQL
SELECT
    round(toFloat64(sum(size)) / 1e9, 2) AS raw_shares_bn,
    round(toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))) / 1e9, 2) AS matched_shares_bn,
    round(toFloat64(sumIf(size, hasAny(conditions, [15, 16, 38]))) / 1e9, 2) AS excluded_shares_bn,
    countIf(hasAny(conditions, [15, 16, 38])) AS excluded_prints
FROM global_markets.stocks_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'

درست حساب کتاب: 24.79 ارب شیئرز را، 20.66 ارب SIP میں شمار شدہ، 4.13 ارب شیئرز 91175 انتظامی پرنٹس میں مستثنیٰ۔ ایک تعریف، بالکل درست: "میچڈ حجم" کا مطلب وہ حجم ہے جسے SIP کے اپنے کنڈیشن رولز کنسولیڈیٹڈ کل میں شمار کرتے ہیں — اور کچھ نہیں۔ ہم یہ فیصلہ نہیں کر رہے کہ کون سی ٹریڈز معاشی طور پر اہم تھیں؛ ہم صرف ٹیپ کے اپنے حساب کتاب کو لاگو کر رہے ہیں۔

سب سے بڑے پرنٹس، تشریح کے ساتھ

دن کے سب سے بڑے پرنٹس وہ جگہ ہیں جہاں کنڈیشن کوڈز محض معلومات نہیں رہتے:

استفسار کریں29 جون کے سب سے بڑے سنگل پرنٹس (ڈکشنری-اِکسکلوڈڈ کوڈز ہٹا دیے گئے)
ہر عدد کے پیچھے موجود درست SQL
SELECT
    ticker,
    formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:%i:%S') AS et_time,
    round(toFloat64(size) / 1e6, 2) AS shares_m,
    toFloat64(price) AS price,
    round(toFloat64(size) * toFloat64(price) / 1e6, 1) AS notional_usd_m,
    round(100 * (toFloat64(size) * toFloat64(price)) / max(toFloat64(size) * toFloat64(price)) OVER (), 1) AS pct_of_biggest_dollar_print,
    arrayStringConcat(arrayMap(c -> toString(c), conditions), ', ') AS condition_id
FROM global_markets.stocks_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
  AND size >= 10000000
  AND NOT hasAny(conditions, [15, 16, 38])
ORDER BY size DESC
LIMIT 10

اوپر کی قطاروں کو ایک مثال کے طور پر پڑھیں۔ دن کا سب سے بڑا پرنٹ — 61.69 ملین CAG (Conagra) شیئرز ب قیمت $13.98، تقریباً $862.5 ملین، 16:04:53 ET بوقت کوڈز 8, 41 (8 Closing Prints, 41 Trade Thru Exempt) کے تحت — شام چار بجے کے بعد شائع ہونے والا NYSE کلوزنگ ایشن کا نتیجہ ہے۔ یہ والیوم میں صرف ایک بار شمار ہوتا ہے۔ وہی 61.69 ملین شیئرز پھر کوڈ 15، Market Center Official Close کے تحت دوبارہ ظاہر ہوتے ہیں: یہ ایک دوبارہ رپورٹ ہے جسے ڈکشنری خارج کرتی ہے، اور یہ اوپر سے ہٹائے گئے 4.13 ارب کا حصہ ہے۔ کوڈ 15 والی قطار جان بوجھ کر اوپر والی ٹیبل سے ہٹا دی گئی ہے، اس لیے اس کی وصولی اپنے الگ سادہ ایک قطار والے پینل میں دکھائی گئی ہے:

استفسار کریںرسید: CAG کی کلوزنگ اوشن اور اس کی کوڈ-15 ری-رپورٹ، بہ بہ
ہر عدد کے پیچھے موجود درست SQL
SELECT
    round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS auction_print_shares_m,
    round(toFloat64(maxIf(size, has(conditions, 15))) / 1e6, 2) AS official_close_reprint_shares_m,
    round(toFloat64(maxIf(size, has(conditions, 8))) - toFloat64(maxIf(size, has(conditions, 15))), 2) AS share_difference,
    formatDateTime(toTimeZone(argMaxIf(sip_timestamp, size, has(conditions, 15)), 'America/New_York'), '%H:%i:%S') AS reprint_et,
    argMaxIf(exchange, size, has(conditions, 15)) AS reprint_exchange_id,
    countIf(has(conditions, 15)) AS cag_code15_prints
FROM global_markets.stocks_trades
WHERE ticker = 'CAG'
  AND sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'

CAG پر 6 آفیشل کلوز پیغامات میں سب سے بڑا 61.69 ملین شیئرز پر مشتمل ہے — بالکل ایشن کے 61.69 ملین (فرق: 0) — جس پر 16:04:53 ET بوقت ایکسچینج آئی ڈی 10، یعنی اسٹاکس ڈائریکٹری میں NYSE کی مہر ہے: لسٹنگ مارکیٹ اپنے ایشن کو دوبارہ بیان کر رہی ہے۔

باقی CAG قطاریں ایک مختلف قسم کی ہیں — کوڈز 12, 2 (12 Form T / extended hours, 2 Average Price Trade) کے تحت 15.17 ملین شیئرز کا پرنٹ اور کوڈ 12 کے تحت دو اور پرنٹس وہ پوسٹ ایشن پرنٹس ہیں جو FINRA کے ذریعے رپورٹ کیے گئے ہیں جن کی کنڈیشنز میں updates_volume = true ہے۔ SIP انہیں حقیقی پرنٹس شمار کرتا ہے، اور ہماری مطابقت پذیرfigure بھی ایسا ہی کرتی ہے۔

دوسری جگہ، کوڈ 9 Nasdaq کلوزنگ کراسز کی نشاندہی کرتا ہے — NVDA کا $3389.5 ملین کراس ٹیبل کا ڈالرز میں سب سے بڑا پرنٹ ہے — اور SNAP پرنٹ پر موجود کوڈز (53, 41) میں 53 بھی شامل ہے، جو ایک Qualified Contingent Trade ہے۔

گھڑی: دس منٹ دن کے مالک ہیں

منٹ کے حساب سے، ٹریڈ ٹیپ تقریباً مکمل طور پر سیشن کے کناروں پر مرتکز ہوتا ہے:

استفسار کریںٹریڈ ٹیپ کے دس مصروف ترین منٹ (ملین پرنٹس)
ہر عدد کے پیچھے موجود درست SQL
SELECT
    formatDateTime(toTimeZone(toStartOfMinute(sip_timestamp), 'America/New_York'), '%H:%i') AS et_minute,
    round(count() / 1e6, 2) AS trades_m
FROM global_markets.stocks_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
GROUP BY et_minute
ORDER BY trades_m DESC
LIMIT 10

15:59 ET کا منٹ 3.98 ملین ٹریڈز ریکارڈ کرتا ہے — یعنی فی سیکنڈ ساٹھ ہزار سے زائد۔ باقی ٹاپ دس کا کھل اور بند کے قریب جمنا خود ایک قطری پیمائش ہے:

استفسار کریںدس مصروف ترین منٹس میں سے کتنے اوپن اور کلوز سے باہر ہیں
ہر عدد کے پیچھے موجود درست SQL
SELECT
    countIf(NOT (et_minute BETWEEN '09:30' AND '09:39' OR et_minute BETWEEN '15:50' AND '16:00')) AS entries_outside_open_close,
    countIf(et_minute BETWEEN '09:30' AND '09:39' OR et_minute BETWEEN '15:50' AND '16:00') AS entries_in_open_close,
    maxIf(et_minute, NOT (et_minute BETWEEN '09:30' AND '09:39' OR et_minute BETWEEN '15:50' AND '16:00')) AS outside_entry_minute,
    maxIf(trades_m, NOT (et_minute BETWEEN '09:30' AND '09:39' OR et_minute BETWEEN '15:50' AND '16:00')) AS outside_entry_trades_m
FROM (
    SELECT
        formatDateTime(toTimeZone(toStartOfMinute(sip_timestamp), 'America/New_York'), '%H:%i') AS et_minute,
        round(count() / 1e6, 2) AS trades_m
    FROM global_markets.stocks_trades
    WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
    GROUP BY et_minute
    ORDER BY trades_m DESC
    LIMIT 10
)

دس میں سے 9 اوپننگ دس منٹ کے اندر یا بند سے پہلے آخری دس منٹ میں موجود ہیں۔ ایک استثنا — 10:15 ET، جہاں 0.88 ملین پرنٹس کا اچھلاؤ تھا — ایک حقیقی صبح کی بے ضابطگی ہے؛ اس کا سبب اس ڈیٹا سے معلوم نہیں، اور ہم کوئی سبب گھڑ کر نہیں بتائیں گے۔ یہی گھڑی کا وقت نیچے دوبارہ آتا ہے۔

کوٹ اسٹریم: نصف ارب اپڈیٹس

نیشنل بیسٹ بڈ اور آفر — ہر ایکسچینج پر بہترین خرید اور فروخت کی قیمت، جسے ہر تبدیلی پر دوبارہ شائع کیا جاتا ہے — 29 جون کو 505.38 ملین مرتبہ اپڈیٹ ہوئی، جبکہ 156.1 ملین ٹریڈز ہوئے۔

استفسار کریںایک قطار میں مکمل NBBO سٹریم — QQQ اور NVDA نام کے ساتھ پن کردہ
ہر عدد کے پیچھے موجود درست SQL
WITH
    (
        SELECT (round(countIf(ticker = 'QQQ') / 1e6, 2), round(countIf(ticker = 'NVDA') / 1e6, 2),
                round(countIf(ticker = 'AAPL') / 1e6, 2), round(countIf(ticker = 'TSLA') / 1e6, 2))
        FROM global_markets.cache_stocks_quotes
        WHERE ticker IN ('QQQ', 'NVDA', 'AAPL', 'TSLA')
          AND sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
    ) AS pinned
SELECT
    round(count() / 1e6, 2) AS updates_m,
    pinned.1 AS qqq_updates_m,
    pinned.2 AS nvda_updates_m,
    round(pinned.1 - pinned.2, 2) AS qqq_minus_nvda_updates_m,
    round(pinned.2 - greatest(pinned.3, pinned.4), 2) AS nvda_minus_next_single_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'

انڈیکس پروڈکٹس کوٹنگ میں غالب ہیں: صرف QQQ نے 5.23 ملین اپڈیٹس ریکارڈ کیں، جبکہ NVDA کے لیے 1.8 ملین تھیں، جو ہمارے جانچے گئے سب سے زیادہ کوٹ ہونے والا واحد اسٹاک ہے — اگلے واحد نام سے 0.67 ملین اپڈیٹس آگے۔ ہر لسٹنگ کا مکمل ٹکر-بہ-ٹکر مردم شماری 30 سیکنڈ کی حد کے تحت فٹ نہیں آتی، اس لیے نیچے دیا گیا لیڈر بورڈ ایک جانچا ہوا سیٹ ہے، مکمل درجہ بندی نہیں:

استفسار کریںاٹھ بھاری کوٹڈ ٹیکرز کے لیے NBBO کوٹ اپڈیٹس (ملین)
ہر عدد کے پیچھے موجود درست SQL
SELECT ticker, round(count() / 1e6, 2) AS updates_m
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('QQQ', 'SPY', 'TQQQ', 'IWM', 'SQQQ', 'NVDA', 'AAPL', 'TSLA')
  AND sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
GROUP BY ticker
ORDER BY updates_m DESC

QQQ نے جانچے گئے سیٹ میں 5.23 ملین اپڈیٹس کے ساتھ قیادت کی؛ بورڈ کے سرے پر انڈیکس فنڈز اور ان کے لیوریجڈ کزنز ہیں، گھریلو اسٹاکس نہیں۔

SPY زیرِ نظر: نینوسیکنڈ رسیدیں، اور اسپریڈ کے دو پہلو

استفسار کریںمائیکروسکوپ کے نیچے SPY: نینوسیکنڈ گیپس، دو طرح کے اسپریڈ، کوٹ کوالٹی
ہر عدد کے پیچھے موجود درست SQL
WITH
    (
        SELECT (formatDateTime(toTimeZone(toStartOfSecond(sip_timestamp), 'America/New_York'), '%H:%i:%S'), count())
        FROM global_markets.cache_stocks_quotes
        WHERE ticker = 'SPY' AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 20:00:00'
        GROUP BY toStartOfSecond(sip_timestamp)
        ORDER BY count() DESC, toStartOfSecond(sip_timestamp) ASC
        LIMIT 1
    ) AS busiest_sec,
    ordered AS (
        SELECT
            toFloat64(ask_price - bid_price) AS spread,
            bid_price,
            ask_price,
            toFloat64(sip_timestamp - lagInFrame(sip_timestamp) OVER (ORDER BY sip_timestamp, sequence_number)) AS gap_s,
            greatest(toFloat64(least(leadInFrame(sip_timestamp, 1, toDateTime64('2026-06-29 20:00:00', 9)) OVER (ORDER BY sip_timestamp, sequence_number ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING), toDateTime64('2026-06-29 20:00:00', 9)) - sip_timestamp), 0) AS dwell_s,
            rowNumberInAllBlocks() AS rn
        FROM global_markets.cache_stocks_quotes
        WHERE ticker = 'SPY' AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 20:00:00'
    )
SELECT
    round(count() / 1e6, 2) AS spy_updates_m,
    busiest_sec.1 AS busiest_second_et,
    toUInt8(startsWith(busiest_sec.1, '10:15')) AS busiest_second_in_1015,
    busiest_sec.2 AS busiest_second_updates,
    round(minIf(gap_s, rn > 0 AND gap_s > 0) * 1e9) AS min_gap_between_updates_ns,
    round(quantileExactIf(0.5)(gap_s, rn > 0) * 1e6, 1) AS median_gap_us,
    countIf(rn > 0 AND gap_s = 0) AS identical_timestamp_pairs,
    round(sumIf(spread * dwell_s, bid_price > 0 AND ask_price >= bid_price) / sumIf(dwell_s, bid_price > 0 AND ask_price >= bid_price) * 100, 2) AS time_weighted_avg_spread_cents,
    round(avgIf(spread, bid_price > 0 AND ask_price >= bid_price) * 100, 2) AS per_update_avg_spread_cents,
    round((avgIf(spread, bid_price > 0 AND ask_price >= bid_price) - sumIf(spread * dwell_s, bid_price > 0 AND ask_price >= bid_price) / sumIf(dwell_s, bid_price > 0 AND ask_price >= bid_price)) * 100, 2) AS per_update_premium_cents,
    countIf(bid_price > 0 AND ask_price > 0 AND ask_price < bid_price) AS crossed_updates,
    countIf(bid_price <= 0 OR ask_price <= 0) AS zero_bid_or_ask_updates
FROM ordered

SPY کا کوٹ صرف باقاعدہ اوقات کاروبار میں 3.98 مل بار بدلا۔ اس کا مصروف ترین سیکنڈ — 10:15:43 ET، اوپر نشان زدہ 10:15 منٹ کے اندر — میں 1461 اپڈیٹس آئے۔ مسلسل اپڈیٹس کے درمیان سب سے چھوٹا وقفہ 1375 نینوسیکنڈز تھا، درمیانی قدر 245.6 مائیکروسیکنڈز رہی، اور 75138 مسلسل جوڑوں میں یکساں نینوسیکنڈ ٹائم اسٹیمپ تھے — یعنی نینوسیکنڈ ریزولوشن بھی جدید ٹیپ کو مکمل طور پر ترتیب دینے میں ناکام ہے۔

وہ نینوسیکنڈز بِڈ-اسک اسپریڈ ناپنے میں اپنا کردار ادا کرتے ہیں۔ ہر اپڈیٹ کو یکساں طور پر شمار کرنے پر، SPY کا اوسط اسپریڈ 2.72 سینٹ تھا؛ ہر کوٹ کو اس کے برقرار رہنے کی مدت کے مطابق وزن دینے پر، 2.34 سینٹ بنا۔ فی اپڈیٹ ہندسہ میکانکی طور پر 0.38 سینٹ زیادہ دکھائی دیتا ہے: اپڈیٹس بالکل ان لمحوں میں جمع ہوتے ہیں جب اسپریڈ وسیع اور متحرک ہوتا ہے، جبکہ آرام سے لگا آرڈر کلاک ٹائم میں زندہ رہتا ہے۔ جب بھی آپ اسپریڈ کا کوئی اعداد و شمار دیکھیں تو پوچھیں کہ اسے کس گھڑی نے ناپا تھا۔ یہ مردم شماری ظاہر کی گئی ہے، چھپائی نہیں: 1544 باقاعدہ اوقات کے اپڈیٹس کچھ لمحے کے لیے کراس تھے (اسک بِڈ سے نیچے، یعنی مختلف مقامات کے کوٹس کا باہمی خلط) اور 0 میں صفر بِڈ یا اسک تھا؛ اسپریڈ کے اعداد و شمار دونوں کو خارج کرتے ہیں اور واضح کرتے ہیں کہ انہوں نے کیا خارج کیا ہے۔

The spread has a clock

Bucketing SPY's quoted spread by half hour turns the microstructure into a curve any trader can use:

استفسار کریںآدھے گھنٹے کے حساب سے SPY کا میڈین کوٹڈ اسپریڈ، 4:00 am سے 8:00 pm ET
ہر عدد کے پیچھے موجود درست SQL
SELECT
    formatDateTime(toTimeZone(toStartOfInterval(sip_timestamp, INTERVAL 30 MINUTE), 'America/New_York'), '%H:%i') AS et_time,
    round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100, 1) AS median_spread_cents,
    count() AS quote_updates
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY' AND sip_timestamp >= '2026-06-29 08:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
GROUP BY et_time
ORDER BY et_time

A median of 8 cents in the 04:00 ET premarket bucket, 3 cents in the 09:30 opening bucket, and 2 cents by 14:00 — trading the same share at the premarket open costs roughly four times the spread of an early-afternoon order. The spread is not a constant; it is a schedule.

فرانزک ثبوت: وہ فائل جو S پر رک گئی

ہر روز آنے والی وینڈر فائل کو شائع کرنے سے پہلے اس کی مکمل جانچ ہوتی ہے: ٹیکرز کی گنتی کی جاتی ہے، حروف تہجی کے تسلسل کی جانچ ہوتی ہے، اور ہمسایہ فائلوں کا موازنہ کیا جاتا ہے۔ جون 29 کی FINRA آف ایکسچینج شارٹ والیوم فائل اس بات کی مثال ہے کہ یہ کیوں ضروری ہے:

استفسار کریںتکمیل پروب: FINRA short-volume فائل کوریج، 26-30 جون
ہر عدد کے پیچھے موجود درست SQL
SELECT
    date,
    uniqExact(ticker) AS tickers,
    min(ticker) AS first_ticker,
    max(ticker) AS last_ticker,
    countIf(ticker = 'TSLA') AS tsla_rows,
    round(100 * sum(short_volume) / sum(total_volume), 2) AS short_pct_of_reported
FROM global_markets.stocks_short_volume
WHERE date BETWEEN '2026-06-26' AND '2026-06-30'
GROUP BY date
ORDER BY date

جون 26 کی فائل 15052 ٹیکرز پر مشتمل ہے، A سے ZYME تک۔ جون 29 کی فائل 5489 پر مشتمل ہے، A سے SSUS تک — یہ S سے شروع ہونے والے ناموں کے درمیان میں ہی رک جاتی ہے۔ اس نقطے کے بعد حروف تہجی کے لحاظ سے آنے والا ہر ٹیکر — بشمول TSLA، جس کی جون 29 کے لیے 0 صفیں تھیں جبکہ جون 26 کو 1 — غائب ہے؛ جون 30 تک فائل دوبارہ 15362 ٹیکرز تک پہنچ جاتی ہے۔ مکمل جانچ کا عمل اس ایک صف پر مشتمل روزانہ کے ریکارڈ سے زیادہ کچھ نہیں — یہ فرق ہے ایک شماریات شائع کرنے اور ایک خام مواد شائع کرنے کے درمیان۔

اس افشاگری کے ساتھ — اور صرف اس کے ساتھ — یہاں تناسب ہے: جون 29 کو نشان زدہ شارٹ والیوم، رپورٹ شدہ آف ایکسچینج والیوم کا 45.85% بنتا ہے، جبکہ جون 26 کو 46.89% اور جون 30 کو 48.82%۔ جون 29 کا اعداد و شمار صرف A سے S تک کے حصے پر محیط ہے، اس لیے اسے جزوی پڑھائو سمجھیں۔ قریب آدھا شارٹ حصہ ہر ہمسایہ سیشن میں نظر آنے والا معمول کا سطح ہے — اور روزانہ کا شارٹ والیوم شارٹ انٹرسٹ نہیں ہے۔

ڈیٹا نوٹس

مکمل ڈیٹا نوٹس
  • شام پانچ سے چھ بجے تک کوٹیشن میں سکون۔ SPY کا کوٹیشن سلسلہ 17:00 ET کے آدھے گھنٹے میں تقریباً رک جاتا ہے (233 اپڈیٹس) اور 18:00 تک بحال ہو جاتا ہے (40608) — یہ ایک کراس ٹِکر فیڈ/سیشن پیٹرن ہے، ڈیٹا غائب نہیں ہے۔
  • کسر والے حصص ہر جگہ موجود ہیں۔ 4.73% پرنٹس غیر صحیح سائز رکھتے ہیں؛ والیوم کو اعشاریہ کے طور پر جمع کیا جانا چاہیے۔
  • کوڈ ڈکشنری شناختوں کو مختلف اقسام میں دوبارہ استعمال کرتی ہے۔ شناخت 15 ایک سیل کنڈیشن (Market Center Official Close) اور ایک کوٹ کنڈیشن (Closed) دونوں ہے؛ یہاں ہر ڈکشنری استفسار asset_class = 'stocks' AND type = 'sale_condition' پر فلٹر ہوتا ہے۔ صرف شناخت کے ذریعے خالص تلاش کوڈز کو غلط نام دے دیتی ہے۔
  • کوٹیشن کوالٹی کی مستثنیات کی گنتی ساتھ ساتھ کی جاتی ہے۔ کراسڈ اور زیرو بِڈ یا اِسک کی گنتییاں اوپر SPY مائیکرواسکوپ پینل میں موجود ہیں؛ کوئی بھی اسپریڈ شماریات اپنے گرنے کو چھپاتا نہیں۔
  • مکمل ٹیپ اسکینز صرف بیچ پینلز ہیں۔ یہاں مارکیٹ وائڈ بلاکس ایک کولڈ کیشے پر تقریباً تیس سیکنڈ تک ماپے گئے (ایک ٹائم آؤٹ بلاک کی ایک بار دوبارہ کوشش کی جاتی ہے؛ وارمد پاس کیپ کلئیر کر دیتا ہے)؛ یہ مصنف کے وقت پر گیٹڈ ریڈ اونلی پاتھ کے ذریعے ایک بار چلتے ہیں، قارئین کے لیے کبھی لائیو نہیں، اور محفوظ شدہ نتائج ہی ریکارڈ ہیں۔

طریقہ کار

  • ٹائم اسٹیمپس UTC میں محفوظ کیے جاتے ہیں اور خام UTC حدود کے ساتھ فلٹر کیے جاتے ہیں (جون 29 کے باقاعدہ اوقات 13:30 سے 20:00 UTC تک ہیں)؛ toTimeZone صرف SELECT فہرستوں میں ظاہر ہوتا ہے۔
  • سیشن کی قسم کو چھٹیوں کے کیلنڈر اور مشاودہ شدہ 390-بار باقاعدہ ونڈو کے خلاف تصدیق کیا جاتا ہے — کبھی مفروضہ نہیں کیا جاتا۔
  • "SIP-counted (matched) volume" وہ حجم ہے جسے SIP کے اپنے شرائط کے اصول consolidated کل میں شمار کرتے ہیں؛ استثنیٰ کا سیٹ لغت سے اخذ کیا جاتا ہے، checksum-bounded ہوتا ہے، اور کبھی hardcoded نہیں کیا جاتا۔
  • Per-update spread کے اعداد و شمار ہر NBBO اپڈیٹ کو یکساں وزن دیتے ہیں؛ time-weighted اعداد و شمار ہر quote کو اس کی مدت کے لحاظ سے وزن دیتے ہیں۔ دونوں اپنے استثنیات ظاہر کرتے ہیں۔
  • Decimal price/size کالمز کو natively جمع کیا جاتا ہے اور کسی بھی ratio یا price-times-size حساب سے پہلے 64-bit floats میں cast کیا جاتا ہے۔
  • Tick ٹیبلز مکمل ہسٹری کے ساتھ کوئی rolling expiry نہیں رکھتے؛ یہ محفوظ شدہ، versioned نتائج کسی بھی صورت میں durable ریکارڈ ہیں۔ Warehouse کی حالت جولائی 3، 2026 تک درست ہے۔

اوپر کا ہر پینل ایک stored object ہے — chart، table، اور SQL ایک ساتھ۔ ان میں سے کسی کو بھی کھولیں، query copy کریں، اور Strasmore ٹرمینل پر اسے آگے بڑھائیں۔