NBBO কী এবং এটি কীভাবে কাজ করে
NBBO বা National Best Bid and Offer হলো মার্কিন স্টকের একটি সমন্বিত কোটেশন। আপনার ব্রোকারকে এই সর্বোচ্চ বিড এবং সর্বনিম্ন আস্ক প্রাইস অনুসরণ করতে হয়।
NBBO বা National Best Bid and Offer হলো মার্কিন স্টকের জন্য একটি সমন্বিত কোটেশন: এটি প্রতিটি এক্সচেঞ্জ থেকে প্রাপ্ত সর্বোচ্চ বিড প্রাইস এবং সর্বনিম্ন আস্ক প্রাইসকে একত্রে প্রদর্শন করে। আপনার অ্যাপে যে কোটেশনটি দেখা যায় এবং আপনার ব্রোকারকে আপনার অর্ডারের ক্ষেত্রে যে বেঞ্চমার্ক অনুসরণ করতে হয়, সেটিই হলো NBBO। নিচের প্রতিটি সংখ্যা রিয়েল কোটেশন রেকর্ড থেকে নেওয়া হয়েছে, যার কুয়েরি সংযুক্ত করা হলো।
NBBO কী? সহজ ভাষায় সংজ্ঞা
একটি মার্কিন স্টক কেবল একটি নির্দিষ্ট স্থানে লেনদেন হয় না। NYSE, Nasdaq এবং আরও এক ডজনেরও বেশি এক্সচেঞ্জ একই ticker-এর জন্য আলাদা আলাদা order book পরিচালনা করে। প্রতিটি এক্সচেঞ্জ তাদের নিজস্ব সেরা bid এবং ask প্রদান করে। NBBO এই তথ্যগুলোকে একত্রিত করে: যেকোনো এক্সচেঞ্জের সর্বোচ্চ bid এবং যেকোনো এক্সচেঞ্জের সর্বনিম্ন ask, এবং প্রতিটি ক্ষেত্রে উপলব্ধ শেয়ারের পরিমাণ। এই সমন্বয়টি সম্পন্ন করে securities information processors বা SIPs — যা এক্সচেঞ্জগুলোর যৌথভাবে পরিচালিত বাজার পরিষেবা।
শুরুতে দুটি বিষয় জানা জরুরি। Bid এবং ask একই সাথে দুটি ভিন্ন এক্সচেঞ্জে থাকতে পারে। এছাড়া, আপডেট করার জন্য দাম পরিবর্তন হওয়া বাধ্যতামূলক নয়: একই সেরা দামে শেয়ারের পরিমাণ পরিবর্তন হলেও একটি নতুন রেকর্ড তৈরি হয়। ট্রেডাররা এই দুটি সেরা দামকে the touch বলে অভিহিত করেন; আর এই দুই দামের ব্যবধান হলো bid-ask spread।
একটি NBBO কোট কীভাবে পড়তে হয়: মূল্য, পরিমাণ এবং গতি
সাম্প্রতিক একটি পূর্ণ সেশনের পূর্বের দিন পূর্বদেশীয় সময় দুপুর ১:৩০ মিনিটে Coca-Cola (KO)-এর জন্য পরপর দশটি NBBO রেকর্ড এখানে দেওয়া হলো — জাতীয় কোট যেভাবে প্রকৃতপক্ষে আসে।
প্রতিটি সংখ্যার পেছনের সঠিক 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 — যা সেরা দুটি মূল্যে প্রদর্শিত তারল্য নির্দেশ করে। এই পরিমাণের চেয়ে বড় কোনো অর্ডার থাকলে তা এই পরিমাণ শেষ করে পরবর্তী মূল্যে বাকি অংশ পূরণ করে। প্রদর্শিত পরিমাণ হলো একটি সর্বনিম্ন সীমা, কোনো পূর্ণ ইনভেন্টরি নয়: প্রায়শই এই দুটি মূল্যে বা এর মাঝে আরও অনেক অর্ডার প্রদর্শিত না হয়েও অবস্থান করে, যার মধ্যে dark pools অন্তর্ভুক্ত।
এখন সারিগুলো নিচের দিকে পড়ুন। সমস্ত 10 রেকর্ড প্রথম রেকর্ডের মাত্র 484.95 মিলিসেকেন্ডের মধ্যে এসেছে। এর কোনো নির্দিষ্ট সময়সূচী নেই — যখনই কোনো সেরা দর পরিবর্তিত হয়, SIP তখন কোট প্রকাশ করে। নিচের চারটি ঘটনার যেকোনো একটি ঘটলে একটি নতুন সারি তৈরি হয়: একটি উন্নত bid, একটি উন্নত ask, যেকোনো একটি সেরা মূল্যের শেয়ারের পরিমাণে পরিবর্তন, অথবা শীর্ষস্থানে একটি এক্সচেঞ্জ অন্যটির স্থান গ্রহণ করা। পুরো সেশনের বিস্তারিত দেখার জন্য microstructure deep-dive দেখুন।
NBBO কি odd lots অন্তর্ভুক্ত করে?
অধিকাংশ ক্ষেত্রে, না। ন্যাশনাল কোট শুধুমাত্র round-lot আগ্রহের ভিত্তিতে তৈরি করা হয়। একটি রাউন্ড লটের চেয়ে কম শেয়ারের অর্ডার হলো একটি odd lot: এটি ন্যাশনাল বেস্ট বিড-এর চেয়ে ভালো মূল্যে এক্সচেঞ্জ বুকে থাকতে পারে, সেখানে ট্রেড হতে পারে, কিন্তু NBBO-তে কখনোই প্রদর্শিত হয় না।
রাউন্ড লট এখন আর স্থির ১০০ শেয়ার নয়। SEC-এর সংশোধিত Reg NMS quoting নিয়ম অনুযায়ী এটি শেয়ার মূল্যের ভিত্তিতে স্তরবিন্যস্ত: ২৫০ ডলার পর্যন্ত ১০০ শেয়ার, ২৫০.০১ ডলার থেকে ১,০০০ ডলার পর্যন্ত ৪০টি, ১,০০০.০১ ডলার থেকে ১০,০০০ ডলার পর্যন্ত ১০টি, এবং তার উপরে মাত্র একটি। এই স্তরগুলো টেপে দেখা যায় — প্যানেলটি বিভিন্ন ব্যান্ডের মধ্যে ছয়টি নামের জন্য কনসোলিডেটেড কোটে প্রদর্শিত ক্ষুদ্রতম বিড সাইজটি গ্রহণ করে।
প্রতিটি সংখ্যার পেছনের সঠিক 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-এর ৯৯তম পারসেন্টাইল ছিল 536.9 মাইক্রোসেকেন্ড। মানুষের হিসেবে SIP ধীরগতির নয়। অন্য দুটি কারণ এর জন্য দায়ী।
প্রথমত, আপনার ডেটা উদ্দেশ্যমূলকভাবে বিলম্বিত হতে পারে। রিটেইল অ্যাপ এবং চার্টিং সাইটগুলোতে ফ্রি কোটেশন ফিড সাধারণত এক্সচেঞ্জের লাইসেন্সিং শর্ত অনুযায়ী ১৫ মিনিট বিলম্বিত থাকে; রিয়েল-টাইম স্ট্রিমিং হলো একটি পেইড সুবিধা।
দ্বিতীয়ত, প্রফেশনাল ফার্মগুলো SIP-এর জন্য অপেক্ষা করে না। প্রতিটি এক্সচেঞ্জ তাদের নিজস্ব ম্যাচিং ইঞ্জিন থেকে সরাসরি ফিড বিক্রি করে। একটি কোলোকেটেড ফার্ম সেই ফিডটি পড়ে এবং SIP-এর সংস্করণটি পৌঁছানোর আগেই নিজস্ব বেস্ট বিড এবং অফার গণনা করে ফেলে — যা মাইক্রোসেকেন্ডের একটি সুবিধা প্রদান করে। সারাদিন উভয় পাশে কোটেশন প্রদানকারী একজন market maker এর জন্য এই সুবিধাটি অত্যন্ত গুরুত্বপূর্ণ।
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)S&P 500 ETF বা SPY প্রতি সেশনে গড়ে 3.428 মিলিয়ন NBBO আপডেট পেয়েছে — যা এই তালিকার সবচেয়ে কম লেনদেন হওয়া স্টকের তুলনায় 2031 গুণ বেশি। Nvidia গড়ে 1.85 মিলিয়ন এবং Apple 1.336 মিলিয়ন আপডেট পেয়েছে। এরপর বড় ব্যবধান: Seneca Foods একটি গড় সেশনে 8097টি আপডেট পেয়েছে এবং Nathan's Famous পেয়েছে 1688টি। SPY-এর গতির সাথে কোনো মানুষের স্ক্রিন পড়া সম্ভব নয়: NBBO হলো সফটওয়্যারের জন্য তৈরি একটি ফিড।
যখন NBBO সবচেয়ে দ্রুত আপডেট হয়: ওপেন বনাম মিডডে
আপডেট রেট বা পরিবর্তনের হার একটি দৈনিক ছন্দ মেনে চলে। এই চার্টটি প্রতি আধা ঘণ্টার স্লটে (Eastern Time) Apple-এর গড় NBBO আপডেট প্রদর্শন করছে; শেষ কলামটি প্রতিটি স্লটের আপডেটকে সকাল ৯:৩০-এর আপডেটের শতাংশ হিসেবে দেখায়।
প্রতিটি সংখ্যার পেছনের সঠিক 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_timeopening auction বা উদ্বোধনী নিলামের পরবর্তী আধা ঘণ্টায়, Apple-এর ন্যাশনাল কোট প্রতি মিনিটে গড়ে 5657 বার আপডেট হয়েছে এবং সকাল ১০:০০-এর স্লটে সেই গতি ছিল ওপেনিং পেস-এর 89.5%। এরপর দিনের মাঝামাঝি সময়ে লেনদেনের গতি কমে আসে: দুপুর ২:৩০-এর স্লটে প্রতি মিনিটে 1973 বার আপডেট হয়েছে, যা ওপেনিং পেস-এর 34.9%। বাজার বন্ধ হওয়ার আগের ৩:৩০-এর সময়টি কিছুটা গতি ফিরে পেলেও তা ওপেনিং পেস-এর মাত্র 3345 বা 59.1% শতাংশে সীমাবদ্ধ থাকে—তাই সবচেয়ে বেশি কোটিং প্রথম ঘণ্টায় ঘটেছিল, শেষ ঘণ্টায় নয়। নিয়মিত সময়ের বাইরে, বিকেল ৪:০০ টার ঘণ্টা বাজারার পর প্রতি মিনিটে আপডেট কমে 17-এ নেমে আসে।
What happens to the NBBO during a trading halt?
When a stock moves too far too fast, the limit-up/limit-down rules pause it for five minutes. The quote neither vanishes nor stays live: it stops being refreshed, and the last record before the pause is the frame left on your screen. GameStop (GME) tripped such a pause just after 11:00 a.m. Eastern on May 14, 2024; the panel tracks its quote updates and trades, minute by minute, across it.
প্রতিটি সংখ্যার পেছনের সঠিক 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_minIn the minute before the pause, 11:00, GameStop's consolidated quote updated 4511 times against 12419 trades. Then both columns fall off a shelf: 0 quote records at 11:02 and 0 at 11:03, with 0 trades to match — a quote that has stopped moving, in a stock that has stopped trading. Quoting returns at 11:06, the reopening minute, with 4155 updates and 14007 trades, the heaviest trade minute in the table. A halted stock's last NBBO is a fossil, not a tradable price; the January 2021 GameStop session shows what a chain of such pauses does to a tape.
কেন আপনার ব্রোকারকে অবশ্যই NBBO বা তার চেয়ে ভালো মূল্যে অর্ডার পূর্ণ করতে হবে
NBBO হলো একটি রেগুলেটরি বেঞ্চমার্ক। ২০০৫ সালে গৃহীত SEC-এর মার্কেট-স্ট্রাকচার রুলবুক বা Regulation NMS-এ একটি অর্ডার-প্রোটেকশন রুল বা Rule 611 রয়েছে: কোনো এক্সচেঞ্জ অন্য কোনো এক্সচেঞ্জে প্রদর্শিত প্রোটেক্টেড কোটের চেয়ে খারাপ মূল্যে অর্ডার এক্সিকিউট করতে পারবে না। ব্রোকারদের গ্রাহকদের best execution প্রদান করতে হয়, যা NBBO-এর ভিত্তিতে পরিমাপ করা হয়: একটি মার্কেট বাই অর্ডার অবশ্যই ন্যাশনাল বেস্ট আস্ক বা তার চেয়ে কম মূল্যে পূর্ণ হতে হবে, এবং একটি মার্কেট সেল অর্ডার অবশ্যই ন্যাশনাল বেস্ট বিড বা তার চেয়ে বেশি মূল্যে পূর্ণ হতে হবে।
অধিকাংশ রিটেইল পাঠক এটি বুঝতে ভুল করেন: আপনার মার্কেট অর্ডার সাধারণত কোনো এক্সচেঞ্জে পৌঁছায় না। বেশিরভাগ রিটেইল মার্কেটবল ফ্লো wholesalers-এর কাছে পাঠানো হয়—এরা হলো অফ-এক্সচেঞ্জ মার্কেট মেকার যারা অর্ডার পূর্ণ করার অধিকারের জন্য অর্থ প্রদান করে—এবং এগুলো ইন্টারনালি এক্সিকিউট করা হয় এবং একটি অফ-এক্সচেঞ্জ রিপোর্টিং ফ্যাসিলিটিতে প্রিন্ট করা হয়। NBBO এখনও তাদের ক্ষেত্রে প্রযোজ্য: হোলসেলারকে এক্সিকিউশনের মুহূর্তে অবশ্যই ন্যাশনাল কোটের সমান বা তার চেয়ে ভালো মূল্য দিতে হবে। তারা স্প্রেডের ভেতরে এক ভগ্নাংশ সেন্টের সুবিধা দিয়ে এই ফ্লো পাওয়ার জন্য প্রতিযোগিতা করে, যা price improvement নামে পরিচিত। NBBO হলো রেফারেন্স প্রাইস, কোনো নির্দিষ্ট ভেন্যু নয়; আপনার নির্বাচিত অর্ডার টাইপ নির্ধারণ করে যে আপনি স্প্রেড ক্রস করবেন কি না।
FAQ
NBBO কি odd lots অন্তর্ভুক্ত করে?
না। ন্যাশনাল কোট শুধুমাত্র round-lot কোট থেকে তৈরি করা হয়। Reg NMS অনুযায়ী round lot-এর স্তর নির্ধারিত হয় দামের ভিত্তিতে — $250-এর নিচে ১০০ শেয়ার থেকে শুরু করে $10,000-এর উপরে মাত্র এক শেয়ার পর্যন্ত। Ford-এর জন্য টেপে দেখা যাওয়া সর্বনিম্ন bid ছিল 100 শেয়ার, যেখানে AutoZone-এর জন্য ছিল 10, যাদের শেয়ারের দাম অনেক বেশি। উন্নত মূল্যের odd lots প্রকাশিত spread-এর ভেতরে থাকে কিন্তু প্রদর্শিত হয় না।
আমার ব্রোকারেজ অ্যাপের কোট লাইভ NBBO থেকে আলাদা কেন?
এর দুটি কারণ রয়েছে, যার কোনোটিই SIP নয়। এক্সচেঞ্জ লাইসেন্সিং নিয়ম অনুযায়ী, রিয়েল-টাইম ডেটার জন্য টাকা না দিলে ফ্রি রিটেইল ফিড সাধারণত ১৫ মিনিট বিলম্বিত থাকে। এছাড়া কনসোলিডেটেড ডেটা হলো একটি প্রকাশিত snapshot: SPY-এর ক্ষেত্রে কনসোলিডেশন ধাপে মিডিয়ানে 229.1 মাইক্রোসেকেন্ড সময় লেগেছে, যেখানে এক্সচেঞ্জ ডিরেক্ট ফিড ব্যবহারকারী প্রতিষ্ঠানগুলো এই ঘটনা আরও দ্রুত দেখতে পায়।
কোনো স্টকের লেনদেন স্থগিত (halt) হলে NBBO-র কী হয়?
এটি স্থির হয়ে যায়। উপরে উল্লিখিত GameStop-এর পাঁচ মিনিটের limit-up/limit-down বিরতির সময়, টেপে 0টি কোট আপডেট এবং 11:03টি ও 0টি ট্রেড দেখা গেছে। শেষ কোটটি স্ক্রিনে প্রদর্শিত থাকে কিন্তু তা দিয়ে লেনদেন করা যায় না; একটি reopening auction পরবর্তী কোটটি নির্ধারণ করে।
অফিস সময়ের পরে (after hours) কি NBBO বিদ্যমান থাকে?
হ্যাঁ। কনসোলিডেটেড কোট পূর্বাহ্নে ৪:০০ টা থেকে রাত ৮:০০ টা (ET) পর্যন্ত প্রবাহিত হয়, তাই premarket and after-hours trading চলাকালীনও একটি ন্যাশনাল কোট বিদ্যমান থাকে — যা দিনের সময়ের তুলনায় অনেক ধীরগতির: শেষ premarket বাকে মিনিটে Apple-এর 65টি আপডেট হয়েছে, যেখানে ওপেনিংয়ের পরে ছিল 5657টি।
ডেটা নোট: উইন্ডো এবং ফিল্টার
রোলিং উইন্ডো জেনারেশনের তিন দিন আগে শেষ হয় (ফিডের শুরুতে একটি স্বল্প ইনজেস্ট ল্যাগ থাকে) এবং শুধুমাত্র পূর্ণ সেশন গণনা করে — অর্থাৎ যে দিনগুলোতে SPY-এর সমস্ত ৩৯০টি রেগুলার-আওয়ার মিনিট বার প্রিন্ট হয়। Coca-Cola প্যানেল একতরফা এবং ক্রসড রেকর্ড বাদ দেয়; কাউন্টিং প্যানেল প্রতিটি রেকর্ড যেভাবে আছে সেভাবেই গ্রহণ করে (locked and crossed markets বাদ পড়া রেকর্ডগুলো কভার করে)। GameStop প্যানেলটি একটি নির্দিষ্ট তারিখের সাথে যুক্ত, যেখানে SPY-এর মিনিট বারগুলো ঘড়ির কাঁটার মতো কাজ করে, তাই স্থগিত মিনিটগুলো শূন্য হিসেবে প্রদর্শিত হয়।
প্রতিটি প্যানেলের সাথে সেই SQL দেওয়া আছে যা এটি তৈরি করেছে — যেকোনো একটি ওপেন করুন, আপনার নিজস্ব ticker ব্যবহার করুন এবং Strasmore টার্মিনালে এর NBBO আপডেট গণনা করুন।