NBBO کیا ہے؟ نیشنل بیسٹ بڈ اینڈ آفر
NBBO کسی امریکی اسٹاک کا متحدہ کوٹ ہے: ہر ایکسچینج پر سب سے اونچی بول اور سب سے کم اوسط قیمت۔ یہ وہ معیار ہے جسے آپ کا بروکر پورا کرنا لازمی ہے۔
NBBO، یعنی نیشنل بیسٹ بڈ اینڈ آفر، کسی امریکی اسٹاک کا متحدہ کوٹ ہے: ہر ایکسچینج پر ایک ہی وقت میں کسی بھی خریدار کی سب سے اونچی بول قیمت اور کسی بھی فروخت کنندہ کی سب سے کم اوسط قیمت۔ یہ وہ کوٹ ہے جو آپ کی ایپ دکھاتی ہے اور وہ معیار ہے جسے آپ کا بروکر آپ کے آرڈر پر پورا کرنا یا بہتر کرنا لازمی ہے۔ نیچے دیا گیا ہر عدد حقیقی کوٹ ریکارڈز سے لیا گیا ہے، کویری منسلک ہے۔
NBBO کیا ہے؟ ایک سادہ انگریزی تعریف
کوئی امریکی اسٹاک صرف ایک جگہ نہیں ٹریڈ ہوتا۔ NYSE، Nasdaq، اور ایک درجن سے زائد دیگر ایکسچینجز ایک ہی ٹیکر کے لیے الگ الگ آرڈر بُک چلاتے ہیں، اور ہر ایک کا اپنا بہترین بِڈ اور ایسک ہوتا ہے۔ NBBO ان سرفلوں کو یکجا کرتا ہے: کہیں بھی سب سے زیادہ بِڈ، کہیں بھی سب سے کم ایسک، اور ہر ایک پر دستیاب شیئرز ان کے ساتھ۔ یہ جوڑنے کا کام سیکیورٹیز انفارمیشن پروسیسرز، یا SIPs کرتے ہیں — یہ مارکیٹ یوٹیلیٹیز ہیں جنہیں ایکسچینجز مشترکہ طور پر چلاتے ہیں۔
شروع میں دو باتیں اہم ہیں۔ بِڈ اور ایسک ایک ساتھ دو مختلف ایکسچینجز پر موجود ہو سکتے ہیں۔ اور اپڈیٹ کے لیے قیمت میں تبدیلی ضروری نہیں: ایک ہی بہترین قیمت پر سائز کی تبدیلی بھی ایک نیا ریکارڈ پرنٹ کرتی ہے۔ ٹریڈرز ان دو بہترین قیمتوں کو دی ٹچ کہتے ہیں؛ ان کے درمیان کا فاصلہ بِڈ-ایسک اسپریڈ ہے۔
NBBO quote کی پڑھائی: قیمتوں، سائز اور رفتار کی سمجھ
کوکا کولا (KO) کے لیے دس متوالے NBBO ریکارڈز یہاں ہیں، جو حالیہ ایک مکمل سیشن میں مشرقی وقت کے مطابق شام 1:30 بجے سے تعلق رکھتے ہیں — یہ قومی quote ویسے ہی پہنچتی ہے جیسے وہ دراصل آتی ہے۔
ہر عدد کے پیچھے موجود درست SQL
WITH (
SELECT max(session_date)
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS regular_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime(today() - 10)
AND window_start < toDateTime(today() - 3)
GROUP BY session_date
HAVING regular_bars = 390
)
) AS last_session
SELECT substring(toString(toTimeZone(sip_timestamp, 'America/New_York')), 12, 12) AS et_time,
round((toUnixTimestamp64Nano(sip_timestamp) - min(toUnixTimestamp64Nano(sip_timestamp)) OVER ()) / 1e6, 2) AS elapsed_ms,
bid_size AS bid_shares,
toFloat64(bid_price) AS best_bid,
toFloat64(ask_price) AS best_ask,
ask_size AS ask_shares,
round((toFloat64(ask_price) - toFloat64(bid_price)) * 100, 1) AS spread_cents
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'KO'
AND sip_timestamp >= toDateTime(last_session, 'America/New_York') + INTERVAL 13 HOUR + INTERVAL 30 MINUTE
AND sip_timestamp < toDateTime(last_session, 'America/New_York') + INTERVAL 14 HOUR
AND bid_price > 0
AND ask_price > bid_price
ORDER BY sip_timestamp, sequence_number
LIMIT 10پہلی قطار کو دو موجودہ آفرز کے طور پر پڑھیں، جن پر 13:30:02.886 ET کا ٹائم اسٹیمپ ہے۔ خریداروں کی بہترین: $83.3 برائے 200 شیئرز۔ فروخت کنندگان کی بہترین: $83.31 برائے 200 شیئرز۔ ان کے درمیان کا فرق 1¢ تھا۔
شیئرز کی تعداد size at the touch ہے — یعنی دو بہترین قیمتوں پر دکھائی دینے والی لیکویڈیٹی۔ اس سائز سے بڑا آرڈر اسے ختم کر دیتا ہے اور بقیہ حصہ کتاب میں اگلی قیمتوں پر پُرا ہوتا ہے۔ دکھائی دینے والا سائز ایک حد ہے، مکمل انوینٹری نہیں: زیادہ دلچسپی اکثر ان دو قیمتوں پر یا ان کے درمیان بغیر دکھائے موجود رہتی ہے، بشمول ڈارک پولز میں۔
اب قطاروں میں نیچے کی طرف پڑھیں۔ تمام 10 ریکارڈز پہلے ریکارڈ کے 484.95 ملی سیکنڈ کے اندر آئے۔ اس کا کوئی شیڈول نہیں — SIP جب بھی کوئی فاتح بدلتا ہے شائع کرتا ہے، اور چاروں میں سے کسی بھی واقعے کی وجہ سے ایک قطار پرنٹ ہوتی ہے: بہتر bid، بہتر ask، یا تو بہترین قیمت پر شیئرز میں تبدیلی، یا ایک exchange کا دوسرے کی جگہ لے لینا سب سے اوپر۔ سیشن بھر کے نظارے کے لیے، مائیکرو اسٹرکچر گہرائی سے جائزہ دیکھیں۔
کیا NBBO میں odd lots شامل ہیں؟
زیادہ تر، نہیں۔ قومی اقتباس صرف round-lot دلچسپی سے بنایا جاتا ہے۔ round lot سے کم شیئرز کا آرڈر ایک odd lot ہے: یہ ایک ایکسچینج بک پر قومی بہترین بول سے بہتر قیمت پر آرام کر سکتا ہے، وہاں تجارت کر سکتا ہے، اور NBBO میں کبھی ظاہر نہیں ہوگا۔
round lot اب ایک مقررہ 100 شیئرز نہیں رہا۔ SEC کے ترمیم شدہ Reg NMS اقتباس قواعد کے تحت یہ شیئر قیمت کے لحاظ سے درجہ بند ہے: $250 تک 100 شیئرز، $250.01 سے $1,000 تک 40، $1,000.01 سے $10,000 تک 10، اس سے اوپر ایک۔ یہ درجات ٹیپ میں نظر آتے ہیں — پینل مختلف بینڈز میں چھ ناموں کے لیے متحدہ اقتباس میں کبھی نظر آنے والی سب سے چھوٹی بول سائز کو لیتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
WITH (
SELECT max(session_date)
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS regular_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime(today() - 10)
AND window_start < toDateTime(today() - 3)
GROUP BY session_date
HAVING regular_bars = 390
)
) AS last_session
SELECT ticker,
round(quantileDeterministic(0.5)(toFloat64(bid_price), toUInt64(sequence_number)), 2) AS share_price,
min(bid_size) AS smallest_quoted_size,
round(quantileDeterministic(0.5)(toFloat64(bid_size), toUInt64(sequence_number)), 0) AS median_bid_size
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('F', 'KO', 'NVDA', 'AAPL', 'SPY', 'AZO')
AND sip_timestamp >= toDateTime(last_session, 'America/New_York') + INTERVAL 10 HOUR
AND sip_timestamp < toDateTime(last_session, 'America/New_York') + INTERVAL 11 HOUR
AND bid_price > 0
AND bid_size > 0
GROUP BY ticker
ORDER BY share_priceFord، جو $13.9 کے آس پاس اقتباس فراہم کر رہا ہے، اس گھنٹے میں 100 شیئرز سے چھوٹی بول کبھی نہیں دکھاتا؛ اور نہ ہی $84.18 پر Coca-Cola۔ Apple، $314.36 پر، 40 تک گر جاتا ہے؛ AutoZone، $3030.52 فی شیئر پر، 10 تک نیچے جاتا ہے، جس کی میڈین دکھائی گئی بول 10 ہے۔ یہ کم سے کم حد قیمت کے درجے کی پیروی کرتی ہے۔ بہتر قیمت والی odd-lot دلچسپی شائع شدہ اسپریڈ کے اندر بغیر ظاہر ہوئے موجود رہ سکتی ہے، اس لیے حقیقی بہترین دستیاب قیمت بعض اوقات NBBO کے تاثر سے بہتر ہوتی ہے۔
آپ کی ایپ کا کوٹ لائیو NBBO سے بالکل مطابقت کیوں نہیں رکھتا
فون پر جو کوٹ آپ پڑھتے ہیں، وہ ایک سفر طے کرتا ہے: ایکسچینج میچنگ انجن → SIP → ڈیٹا وینڈر → بروکر → اسکرین۔ ہر ریکارڈ دو گھڑیاں ساتھ لاتا ہے — ایکسچینج کا اپنا ٹائم اسٹیمپ اور اشاعت پر SIP کا ٹائم اسٹیمپ — اور ان کے درمیان کا فرق وہ کنسولیڈیشن مرحلہ ہے۔
ہر عدد کے پیچھے موجود درست SQL
WITH (
SELECT max(session_date)
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS regular_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime(today() - 10)
AND window_start < toDateTime(today() - 3)
GROUP BY session_date
HAVING regular_bars = 390
)
) AS last_session
SELECT ticker,
round(quantileDeterministic(0.5)((toUnixTimestamp64Nano(sip_timestamp) - toUnixTimestamp64Nano(participant_timestamp)) / 1000.0, toUInt64(sequence_number)), 1) AS median_micros,
round(quantileDeterministic(0.99)((toUnixTimestamp64Nano(sip_timestamp) - toUnixTimestamp64Nano(participant_timestamp)) / 1000.0, toUInt64(sequence_number)), 1) AS p99_micros
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'NVDA', 'AAPL', 'KO')
AND sip_timestamp >= toDateTime(last_session, 'America/New_York')
AND sip_timestamp < toDateTime(last_session + 1, 'America/New_York')
AND participant_timestamp > toDateTime64('2020-01-01 00:00:00', 9)
GROUP BY ticker
ORDER BY indexOf(['SPY', 'NVDA', 'AAPL', 'KO'], ticker)SPY پر درمیانی فرق 229.1 مائیکرو سیکنڈز — سیکنڈ کا ایک لاکھواں حصہ — رہا، جبکہ Apple کا 203.4 رہا۔ دم دراز ہے: Nvidia کا ننانوے واں percentile 536.9 مائیکرو سیکنڈز پر آیا۔ SIP کسی بھی انسانی اعتبار سے سست نہیں ہے۔ دو اور چیزیں سست ہیں۔
پہلا، آپ کا ڈیٹا جان بوجھ کر تاخیر سے دوچار ہو سکتا ہے۔ ریٹیل ایپس اور چارٹنگ سائٹس پر مفت کوٹ فیڈز ایکسچینج لائسنسنگ کی شرائط کے تحت عموماً پندرہ منٹ تاخیر سے آتے ہیں؛ ریئل ٹائم اسٹریمنگ ایک معاوضہ دار حق ہے۔
دوسرا، پروفیشنل فرمز SIP کا انتظار نہیں کرتے۔ ہر ایکسچینج اپنے میچنگ انجن سے ایک ڈائریکٹ فیڈ بھی فروخت کرتا ہے۔ ایک کولوکیٹڈ فرم اسے پڑھتی ہے اور SIP کے اس واقعے کے ورژن کے پہنچنے سے پہلے اپنا بہترین بِڈ اور آفر خود تخلیق کر لیتی ہے — یہ مائیکرو سیکنڈز کا فائدہ فیصلہ کن ہوتا ہے، خاص طور پر اس مارکیٹ میکر کے لیے جو سارا دن دونوں اطراف کوٹ کر رہا ہوتا ہے۔
NBBO کتنی بار اپڈیٹ ہوتا ہے؟ لیکوئڈ بمقابلہ پتلی اسٹاکس
ہر لسٹڈ اسٹاک کا NBBO ہوتا ہے، اور اس کی اپڈیٹ ریٹ لیکوئڈٹی کا پیمانہ ہے۔ یہ جدول چار زیادہ ٹریڈ ہونے والے ناموں اور دو پتلے سمال کیپس — Nathan's Famous (NATH) اور Seneca Foods (SENEA) — کے حالیہ مکمل سیشنز کا اوسط لیتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
SELECT ticker,
uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) AS sessions,
round(count() / uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York')))) AS avg_updates_per_session,
round(count() / uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) / 1e6, 3) AS avg_updates_per_session_m,
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
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'NVDA', 'AAPL', 'KO', 'SENEA', 'NATH')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND toDate(toTimeZone(sip_timestamp, 'America/New_York')) IN (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime(today() - 10)
AND window_start < toDateTime(today() - 3)
GROUP BY session_date
HAVING countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) = 390
)
GROUP BY ticker
ORDER BY indexOf(['SPY', 'NVDA', 'AAPL', 'KO', 'SENEA', 'NATH'], ticker)SPY، یعنی S&P 500 ETF، فی سیشن اوسطاً 3.428 ملین NBBO اپڈیٹس پرنٹ کرتا تھا — یعنی جدول کے سب سے خاموش نام سے 2031 گنا زیادہ۔ Nvidia کا اوسط 1.85 ملین تھا، Apple کا 1.336 ملین۔ پھر sharply گراؤ: Seneca Foods نے ایک اوسط سیشن میں 8097 اپڈیٹس پرنٹ کیں، Nathan's Famous نے 1688۔ کوئی انسان SPY کی ریٹ پر اسکرین نہیں پڑھ سکتا: NBBO سافٹ ویئر کے لیے بنایا گیا ایک فیڈ ہے۔
NBBO کب تیز ترین اپ ڈیٹ ہوتا ہے: اوپن بمقابلہ دوپہر
اپ ڈیٹ کی شرح میں ایک روزانہ کی رفتار بھی برقرار رہتی ہے۔ چارٹ ایپل کے NBBO اپ ڈیٹس فی منٹ کو نصف گھنٹے کے کلاک بنکٹس (ایسٹرن ٹائم) میں اوسط لیتا ہے؛ آخری کالم ہر بنکٹ کو 9:30 والے بنکٹ کے فیصد کے طور پر پڑھتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
SELECT et_time,
avg_updates_per_minute,
round(100 * avg_updates_per_minute / maxIf(avg_updates_per_minute, et_time = '09:30') OVER (), 1) AS pct_of_opening_bucket
FROM (
SELECT formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(count() / (uniqExact(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) * 30)) AS avg_updates_per_minute
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND toDate(toTimeZone(sip_timestamp, 'America/New_York')) IN (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime(today() - 10)
AND window_start < toDateTime(today() - 3)
GROUP BY session_date
HAVING countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) = 390
)
GROUP BY et_time
HAVING et_time >= '04:00' AND et_time < '20:00'
)
ORDER BY et_timeاوپننگ آکشن کے بعد کے نصف گھنٹے میں، ایپل کی نیشنل کوٹ کی اوسطاً فی منٹ 5657 مرتبہ اپ ڈیٹ ہوئی، اور 10:00 والے بنکٹ نے اس رفتار کو 89.5% پر برقرار رکھا۔ ٹیپ پھر دن کے وسط میں پتلا ہو جاتا ہے: 2:30 والے بنکٹ میں فی منٹ 1973 اپ ڈیٹس ہوئے، جو اوپننگ رفتار کا 34.9% تھا۔ 3:30 والا کلوز تک کا آخری حصہ صرف جزوی طور پر بحال ہوتا ہے — فی منٹ 3345، اوپن کا 59.1% — لہٰذا سب سے زیادہ کوٹنگ پہلے گھنٹے میں تھی، آخری میں نہیں۔ باقاعدہ اوقات کے باہر ٹیپ تقریباً خاموش ہے، 4:00 بجے کی بیل کے بعد فی منٹ 17 اپ ڈیٹس تک گر جاتا ہے۔
تجارتی روک کے دوران NBBO کا کیا ہوتا ہے؟
جب کوئی اسٹاک بہت زیادہ تیزی سے حرکت کرتا ہے، تو limit-up/limit-down قواعد اسے پانچ منٹ کے لیے روک دیتے ہیں۔ کوٹ نہ تو غائب ہوتا ہے اور نہ لائیو رہتا ہے: اس کی تازہ کاری بند ہو جاتی ہے، اور روک سے قبل آخری ریکارڈ آپ کی اسکرین پر چھوڑی گئی تصویر ہے۔ GameStop (GME) نے 14 مئی، 2024 کو مشرقی وقت کے مطابق صبح 11:00 بجے کے فوراً بعد ایسی ہی روک کو متحرک کیا؛ پینل اس کے کوٹ اپڈیٹس اور ٹریڈز کی، منٹ بہ منٹ، نشاندہی کرتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
WITH spine AS (
SELECT toStartOfMinute(toTimeZone(window_start, 'America/New_York')) AS et_min
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2024-05-14 10:57:00', 'America/New_York')
AND window_start < toDateTime('2024-05-14 11:12:00', 'America/New_York')
),
gme_trades AS (
SELECT toStartOfMinute(toTimeZone(window_start, 'America/New_York')) AS et_min,
sum(transactions) AS trades
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'GME'
AND window_start >= toDateTime('2024-05-14 10:57:00', 'America/New_York')
AND window_start < toDateTime('2024-05-14 11:12:00', 'America/New_York')
GROUP BY et_min
),
gme_quotes AS (
SELECT toStartOfMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS et_min,
count() AS nbbo_updates
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'GME'
AND sip_timestamp >= toDateTime('2024-05-14 10:57:00', 'America/New_York')
AND sip_timestamp < toDateTime('2024-05-14 11:12:00', 'America/New_York')
GROUP BY et_min
)
SELECT formatDateTime(spine.et_min, '%H:%i') AS et_time,
ifNull(gme_quotes.nbbo_updates, 0) AS nbbo_updates,
toUInt64(ifNull(gme_trades.trades, 0)) AS trades
FROM spine
LEFT JOIN gme_quotes ON gme_quotes.et_min = spine.et_min
LEFT JOIN gme_trades ON gme_trades.et_min = spine.et_min
ORDER BY spine.et_minروک سے قبل والے منٹ میں، 11:00، GameStop کے کنسولیڈیٹڈ کوٹ نے 12419 ٹریڈز کے مقابلے میں 4511 بار اپڈیٹ کیا۔ پھر دونوں کالمز ایک شیلف سے گر جاتے ہیں: 11:02 پر 0 کوٹ ریکارڈز اور 11:03 پر 0، جبکہ مطابقت کے لیے 0 ٹریڈز — ایک ایسا کوٹ جو حرکت کرنا بند کر چکا ہے، ایک ایسے اسٹاک میں جس کی ٹریڈنگ بند ہو چکی ہے۔ کوٹنگ 11:06 پر، یعنی دوبارہ کھلنے والے منٹ میں، واپس آتی ہے، 4155 اپڈیٹس اور 14007 ٹریڈز کے ساتھ، جو ٹیبل میں سب سے بھاری ٹریڈ والا منٹ ہے۔ روکے ہوئے اسٹاک کا آخری NBBO ایک فوسل ہے، ٹریڈ کے قابل قیمت نہیں؛ جنوری 2021 کا GameStop سیشن دکھاتا ہے کہ ایسے ہی روکوں کے ایک سلسلے کا ٹیپ پر کیا اثر پڑتا ہے۔
آپ کا بروکر آپ کو NBBO یا اس سے بہتر قیمت پر کیوں فل کرنے کا پابند ہے
NBBO ایک ریگولیٹری بنچ مارک ہے۔ Regulation NMS — SEC کا مارکیٹ سٹرکچر رول بک، جو 2005 میں اپنایا گیا — Rule 611 نامی ایک آرڈر پروٹیکشن رول رکھتا ہے: کوئی بھی وینیو کسی دوسری ایکسچینج پر ڈسپلے ہونے والے محفوظ کوٹ سے بدتر قیمت پر ایگزیکیوٹ نہیں کر سکتا۔ بروکرز کا گاہکو پر best execution کا بھی پابند ہے، جسے NBBO کے مقابلے میں ناپا جاتا ہے: مارکیٹ خرید قومی بہترین ایسک پر یا اس سے نیچے فل ہونی چاہیے، اور مارکیٹ فروخت قومی بہترین بڈ پر یا اس سے اوپر۔
زیادہ تر ریٹیل قارئین یہ بات نظر انداز کر دیتے ہیں: آپ کا مارکیٹ آرڈر عموماً کسی ایکسچینج تک پہنچتا ہی نہیں۔ زیادہ تر ریٹیل مارکیٹ ایبل فلو wholesalers کو بھیجا جاتا ہے — آف ایکسچینج مارکیٹ میکرز جو اسے فل کرنے کے حق کے لیے ادائیگی کرتے ہیں — اور اندرونی طور پر ایگزیکیوٹ کیا جاتا ہے، پھر ایک آف ایکسچینج رپورٹنگ فیسلٹی پر پرنٹ کیا جاتا ہے۔ NBBO اب بھی ان پر لاگو ہوتا ہے: wholesaler کو ایگزیکیوشن کے لمحے میں قومی کوٹ سے میچ یا اسے بہتر کرنا ہوتا ہے، اور وہ فلو حاصل کرنے کے لیے اسے بہتر کرنے پر مقابلہ کرتا ہے — سپریڈ کے اندر ایک سینٹ کے کچھ حصے پر فل کرتا ہے، جسے price improvement کہا جاتا ہے۔ NBBO ریفرنس پرائس ہے، وینیو نہیں؛ آپ کا منتخب کردہ آرڈر ٹائپ یہ طے کرتا ہے کہ آپ بالکل بھی سپریڈ کراس کرتے ہیں یا نہیں۔
سوالات
کیا NBBO غیر معمولی لاٹس (odd lots) پر مشتمل ہوتا ہے؟
نہیں۔ قومی کوٹ صرف راؤنڈ لاٹ کوٹس سے مرتب ہوتا ہے، اور Reg NMS قیمت کے لحاظ سے راؤنڈ لاٹ کو درجوں میں تقسیم کرتا ہے — $250 سے نیچے 100 شیئرز، $10,000 سے اوپر ایک شیئر تک۔ اوپر فورڈ کے لیے ٹیپ پر دکھائی دینے والا سب سے چھوٹا بِڈ 100 شیئرز تھا، جبکہ آٹو زون کے لیے 10 تھا، جس کے شیئرز کی قیمت کہیں زیادہ ہے۔ بہتر قیمت والے غیر معمولی لاٹس شائع شدہ اسپریڈ کے اندر بغیر نمائش کے پڑے رہتے ہیں۔
میرے بروکریج ایپ میں کوٹ لائیو NBBO سے مختلف کیوں ہے؟
دو وجوہات، اور ان میں سے کوئی بھی SIP نہیں ہے۔ مفت ریٹیل فیڈز عام طور پر ایکسچینج لائسنسنگ قواعد کے تحت 15 منٹ تاخیر سے آتے ہیں، جب تک کہ آپ ریئل ٹائم کے لیے ادائیگی نہ کریں۔ اور کنسولیڈیٹڈ ڈیٹا ایک شائع شدہ اسنیپ شاٹ ہے: کنسولیڈیشن مرحلے نے SPY پر میڈین پر 229.1 مائیکرو سیکنڈز کا وقت لیا، جبکہ ایکسچینج ڈائریکٹ فیڈز پر موجود فرمیں واقعہ جلز دیکھتی ہیں۔
جب اسٹاک کو روکا جائے تو NBBO کا کیا ہوتا ہے؟
یہ جم جاتا ہے۔ اوپر گیم اسٹاپ کے پانچ منٹ کے لمٹ اپ/لمٹ ڈاؤن وقفے کے دوران، ٹیپ پر 0 کوٹ اپڈیٹس، 11:03 اور 0 ٹریڈز درج ہوئے۔ آخری کوٹ اسکرین پر رہتا ہے لیکن قابل تجارت نہیں ہوتا؛ ایک ری اوپننگ نیلامی اگلے کوٹ کا تعین کرتی ہے۔
کیا NBBO اوقاتِ کار کے بعد موجود ہوتا ہے؟
ہاں۔ کنسولیڈیٹڈ کوٹس صبح 4:00 بجے سے رات 8:00 بجے ET تک اسٹریم ہوتے ہیں، لہذا پری مارکیٹ اور آفٹر آورز ٹریڈنگ کے دوران ایک قومی کوٹ موجود رہتا ہے — دن کے وقت کی رفتار کے ایک حصے پر: آخری پری مارکیٹ بنڈل میں ایپل کے ایک منٹ میں 65 اپڈیٹس ہوتے ہیں، جبکہ اوپن کے بعد 5657۔
ڈیٹا نوٹس: ونڈوز اور فلٹرز
رولنگ ونڈوز جنریشن سے تین دن پہلے ختم ہوتی ہیں (فیڈ کے فرنٹ ایج پر ایک مختصر انجیسٹ لیگ ہوتی ہے) اور صرف مکمل سیشنز کو شمار کرتی ہیں — وہ دن جن پر SPY تمام 390 ریگولر آورز منٹ بارس پرنٹ کرتا ہے۔ کوکا کولا پینل یک طرفہ اور کراسیڈ ریکارڈز کو خارج کرتا ہے؛ کاؤنٹنگ پینلز ہر ریکارڈ کو جیسا ہے ویسے ہی لیتے ہیں ( لاکڈ اور کراسیڈ مارکیٹس خارج کردہ کو کور کرتا ہے)۔ گیم اسٹاپ پینل ایک مقررہ تاریخ پر پن ہے، SPY کے منٹ بارس کو کلاک اسپائن کے طور پر استعمال کرتے ہوئے، لہذا روکے ہوئے منٹس زیرو دکھائی دیتے ہیں۔
ہر پینل کے ساتھ وہ SQL آتا ہے جس نے اسے تیار کیا — ایک کھولیں، اپنا ٹِکر داخل کریں، اور سٹراس مور ٹرمینل پر اس کے NBBO اپڈیٹس گنیں۔