Level 1 vs Level 2 vs Level 3 మార్కెట్ డేటా
Level 1, Level 2, Level 3 మార్కెట్ డేటాను quote panelsతో వివరిస్తుంది: top of book, ధరల వారీ depth, order by order వివరాలు, retail feedsలో కనిపించనివి.
Level 1 మరియు Level 2 market data మధ్య తేడా అంటే order bookలో ఎంత భాగాన్ని మీరు చూడగలరన్న ప్రశ్న. Level 1 అనేది bookలో అగ్రస్థానం: ఉత్తమ bid, ఉత్తమ offer, ప్రతి దానిపై చూపించిన పరిమాణం, అలాగే చివరి trade. Level 2 అనేది ఆ అగ్రస్థానం వెనుక ఉన్న depth: చూపించిన ప్రతి price level వద్ద నిలిచి ఉన్న మొత్తం పరిమాణం. Level 3లో ప్రతి individual orderను విడిగా, దానికి సంబంధించిన identifierతో చూపిస్తారు. ప్రతి tier దాని కింది tierలో ఉన్న మొత్తం సమాచారాన్ని కలిగి ఉంటుంది.
Level 1 market data అంటే ఏమిటి?
Level 1, లేదా top of book, ఒక ప్రశ్నకు సమాధానం ఇస్తుంది: ప్రస్తుతం అందుబాటులో ఉన్న ఉత్తమ ధర ఏమిటి, అక్కడ ఎంత పరిమాణం quote అయింది? US equitiesలో ఈ సమాచారం యొక్క consolidated రూపం national best bid and offer. NBBO అంటే ఏమిటో మా NBBO అంటే ఏమిటో తెలిపే guideలో పూర్తిగా వివరించాం. Level 1 recordలో ఉత్తమ bid, ఉత్తమ offer, ప్రతి వైపున చూపించిన పరిమాణం ఉంటాయి. Trade వైపున చివరి print, దాని పరిమాణం కూడా ఉంటాయి. రెండో ఉత్తమ ధర గురించి, ఎవరు quote చేస్తున్నారనే విషయం గురించి ఇందులో సమాచారం ఉండదు.
ఈ tierలో రెండు సంఖ్యలు ఎక్కువగా ఉపయోగపడతాయి: centsలో spread, అలాగే basis pointsలో అదే spread. ఒక basis point అనేది శాతంలో వందో వంతు. కింది panel ఒక పెద్ద market-cap stockకు సంబంధించిన ఒకే sessionలో ఈ రెండింటినీ చూపిస్తుంది. ఇది ఉదయం 4:00 ET premarket open నుంచి రాత్రి 8:00 ET after-hours trading ముగిసే వరకు ఉంటుంది.
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
SELECT
formatDateTime(
toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE),
'%H:%i'
) AS et_time,
round(avg(toFloat64(ask_price) - toFloat64(bid_price)) * 100, 2) AS spread_cents,
round(avg((toFloat64(ask_price) - toFloat64(bid_price))
/ ((toFloat64(ask_price) + toFloat64(bid_price)) / 2)) * 10000, 2) AS spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-17 08:00:00'
AND sip_timestamp < '2026-06-18 00:00:00'
AND bid_price > 0
AND ask_price > bid_price
AND (toFloat64(ask_price) - toFloat64(bid_price)) / toFloat64(bid_price) < 0.05
GROUP BY et_time
ORDER BY et_time04:00 ET వద్ద సగటు quoted spread 37.38 centsగా, లేదా 12.51 basis pointsగా ఉంది. Panelలోని చివరి bucket, 19:30 ET, సగటున 16.85 centsగా, లేదా 5.67 basis pointsగా ఉంది. 32 అరగంట buckets మొత్తం రోజును చూపిస్తాయి. Chartలోని ప్రతి point Level 1కు సంబంధించినదే: bookలోని ఒకే వరుసను పదేపదే కొలిచినది.
Level 2 market data అంటే ఏమిటి?
Level 2ను market by price లేదా depth of book అని కూడా అంటారు. ఇది top line కింద ఉన్న price ladderను చూపిస్తుంది. ప్రతి ధర వద్ద నిలిచి ఉన్న మొత్తం displayed sizeను ఇది సమీకరిస్తుంది: $49.98 వద్ద bidగా 4,000 shares, $49.97 వద్ద 1,200, $49.96 వద్ద 900, $49.95 వద్ద 2,500 shares. Offer వైపున దీనికి ప్రతిబింబంలాంటి నిర్మాణం ఉంటుంది. Traders depth అని చెప్పేది ఇదే ఆకారం.
Level 2 చూపించనిది ఆ పరిమాణం యొక్క composition. $49.98 వద్ద ఉన్న 4,000 shares ఒక institutional order కావచ్చు, లేదా 40 retail orders కావచ్చు. రెండు సందర్భాల్లోనూ ladder ఒకేలా కనిపిస్తుంది.
Public trade data నుంచి దీనికి సంబంధించి మరో ఆకారాన్ని కొలవచ్చు: stock shares వాస్తవంగా ఏ price levels వద్ద చేతులు మారాయో. Quoted ladder అనేది నిలిచి ఉన్న interest. కింది panel అదే sessionలోని అరగంటకు సంబంధించిన executed volumeను చూపిస్తుంది.
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
SELECT
toString(px) AS price_level,
round(sum(sz) / 1000, 1) AS shares_thousands,
count() AS prints
FROM
(
SELECT
round(toFloat64(price), 2) AS px,
toFloat64(size) AS sz
FROM global_markets.stocks_trades
WHERE ticker = 'KO'
AND sip_timestamp >= '2026-06-17 14:30:00'
AND sip_timestamp < '2026-06-17 15:00:00'
AND price > 0
AND size > 0
)
GROUP BY px
ORDER BY pxఆ అరగంటలో trading 63 వేర్వేరు price levels వద్ద జరిగింది. తక్కువ ధర $79.42, ఎక్కువ ధర $80.04. రెండు అంచు levelsలో volume తక్కువగా ఉంది: దిగువన 0.1 వేల shares, ఎగువన 0.8 వేల shares. ఎక్కువ volume ఈ రెండింటి మధ్యలో print అయింది. Level 1 feed ఈ మొత్తం పరిధిలో ఒకేసారి ఒక ధరను మాత్రమే చూపిస్తుంది. Level 2 feed ఆ ladderను ముందుగానే చూపిస్తుంది. అది తర్వాత జరిగిన printsగా కాకుండా, నిలిచి ఉన్న ordersగా కనిపిస్తుంది.
Level 3 market data అంటే ఏమిటి?
Level 3, లేదా market by order, పూర్తి చిత్రాన్ని ఇస్తుంది: నిలిచి ఉన్న ప్రతి orderను విడిగా, దాని identifier, ధర, పరిమాణం, అలాగే ఆ ధర వద్ద queueలోని positionతో చూపిస్తుంది. Level 3 feedను ధర ప్రకారం aggregate చేస్తే Level 2ను తిరిగి నిర్మించవచ్చు. ప్రతి వైపున ఉత్తమ ధరను తీసుకుంటే Level 1 లభిస్తుంది.
Aggregate చేసిన tiers ఇవ్వలేని రెండు ప్రశ్నలకు Level 3 సమాధానం ఇస్తుంది. ఒక ధర వద్ద order queueలో ఎక్కడ ఉంది? ఆ ధరకు trading జరిగినప్పుడు order fill అవుతుందా లేదా అన్నది దీనిపై ఆధారపడి ఉంటుంది. అలాగే ఒక నిర్దిష్ట order placement నుంచి cancellation వరకు తన జీవితకాలంలో ఏమి ఎదుర్కొందో కూడా తెలుస్తుంది. Nasdaq TotalView-ITCH వంటి exchange proprietary feeds ఈ depthను అందిస్తాయి. Consolidated tape ఇది అందించదు.
Retail Level 2 subscription వాస్తవంగా ఏమి ఇస్తుంది?
ఇక్కడ “Level 2” అనే labelకు ఖచ్చితమైన అర్థం ఉండకపోవచ్చు. Retail platformలో కనిపించే “Level 2” సాధారణంగా పూర్తి national depth of book కాదు. సాధారణంగా ఒక venueకు సంబంధించిన book మాత్రమే వస్తుంది. అది తరచూ మీ broker ordersను route చేసే venue కావచ్చు. లేదా ప్రతి వైపున ఐదు లేదా పది price levels వరకు పరిమితం చేసిన merged book కావచ్చు. Penniesలో quote అయ్యే stockకు పది-level book పది cents పరిధిని మాత్రమే కవర్ చేస్తుంది. Active stockలో ఆ పరిధి నిరంతరం మారుతూ ఉంటుంది.
Tiersకు ధరల్లో ఇంత పెద్ద తేడా ఉండటానికి message volume ఒక ప్రధాన కారణం. కింది panel ఒకే sessionలో ఒక గంటపాటు ఐదు household namesకు సంబంధించిన top-of-book quote records సంఖ్యను, ప్రతి దానికి సంబంధించిన average spreadతో కలిపి చూపిస్తుంది.
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
SELECT
ticker AS symbol,
round(avg((toFloat64(ask_price) - toFloat64(bid_price))
/ ((toFloat64(ask_price) + toFloat64(bid_price)) / 2)) * 10000, 2) AS spread_bps,
count() AS quote_update_count
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO')
AND sip_timestamp >= '2026-06-17 14:00:00'
AND sip_timestamp < '2026-06-17 15:00:00'
AND bid_price > 0
AND ask_price > bid_price
AND (toFloat64(ask_price) - toFloat64(bid_price)) / toFloat64(bid_price) < 0.05
GROUP BY symbol
ORDER BY spread_bpsఐదు stocksలో SPY అత్యంత tight average spreadను, 0.32 basis pointsగా చూపించింది. KO సగటు 1.95గా ఉంది. ఈ update counts top of bookకు మాత్రమే సంబంధించినవి. Depth feedలో దాని కింద ఉన్న ప్రతి price levelలో జరిగే ప్రతి మార్పు వస్తుంది. Order-by-order feedలో ఆ మార్పుల వెనుక ఉన్న ప్రతి message వస్తుంది. Optionsలో ఇదే లెక్క మరింత పెద్ద స్థాయిలో ఉంటుంది: options quote feed ఎంత పెద్దదో దీనికి ఒక సంఖ్యను ఇస్తుంది.
Visible book వాస్తవ liquidityని ఎందుకు తక్కువగా చూపిస్తుంది?
Displayed ladder అందుబాటులో ఉన్న liquidityకి కనిష్ఠ అంచనా మాత్రమే. అది liquidityని పూర్తిగా కొలవదు. ఈ చిత్రంలో కనిపించని రెండు పెద్ద భాగాలు ఉన్నాయి.
Hidden మరియు reserve orders. Iceberg orderలో కొంత చిన్న భాగం మాత్రమే కనిపిస్తుంది. మిగిలిన భాగం reserveలో ఉంటుంది. Visible భాగం fill అయినప్పుడు అది మళ్లీ refresh అవుతుంది. Bookలో 200 shares కనిపించవచ్చు. వాటి వెనుక 20,000 shares ఉండొచ్చు. Iceberg orders ఎలా పనిచేస్తాయో ఈ విధానాన్ని వివరిస్తుంది.
Off-exchange execution. US equity volumeలో గణనీయమైన భాగం lit exchanges వెలుపల print అవుతుంది. ఇది broker internalizers మరియు alternative trading systems వద్ద జరుగుతుంది. ఇవి pre-trade quoteను ఎటువంటి రూపంలోనూ ప్రచురించకపోవచ్చు. Dark pool trading వివరణ ఆ volume ఎక్కడికి వెళ్తుందో వివరిస్తుంది.
Market data feedలో conflation అంటే ఏమిటి?
Conflated feed ప్రతి updateను పంపదు. ఇది నిర్ణీత intervalలో, ఉదాహరణకు ప్రతి 250 millisecondsకు లేదా ప్రతి సెకనుకు, book snapshot తీసుకుంటుంది. ఆ క్షణం నాటికి ఉన్న stateను పంపుతుంది. రెండు snapshots మధ్య జరిగినది ఏదీ feedలోకి రాదు. వేర్వేరు intervalsలో ఉన్న ఇద్దరు subscribersకు రెండు వేర్వేరు books కనిపిస్తాయి. ప్రతి book దాని స్వంత clock ప్రకారం సరైనదే.
Feedపై నిర్మాణం చేసే వారికి ఈ తేడా అత్యంత ముఖ్యమైనది. Un-conflated dataలో ప్రతి message క్రమపద్ధతిలో వస్తుంది. Matching-engine simulation లేదా queue-position model దీనిపైనే పనిచేస్తాయి. Conflated feedలో ఈ లెక్కలు approximationsగా మారతాయి. Ladderను కళ్లతో చూసే వ్యక్తికి interval దాదాపు ముఖ్యం కాదు.
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
SELECT
et_time,
round(avg(sec_updates), 1) AS avg_updates_per_second,
max(sec_updates) AS peak_updates_in_one_second
FROM
(
SELECT
formatDateTime(toStartOfMinute(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
toDateTime(sip_timestamp) AS et_second,
count() AS sec_updates
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'NVDA'
AND sip_timestamp >= '2026-06-17 14:00:00'
AND sip_timestamp < '2026-06-17 15:00:00'
GROUP BY et_time, et_second
)
GROUP BY et_time
ORDER BY et_timeఆ గంటలోని మొదటి నిమిషంలో, 10:00 ET వద్ద, top-of-book records సగటున ప్రతి సెకనుకు 163.8 చొప్పున వచ్చాయి. ఆ నిమిషంలోని అత్యంత రద్దీ అయిన ఒక్క సెకనులో 371 records వచ్చాయి. సెకనుకు ఒకసారి snapshot తీసుకునే feed ఆ stream నుంచి ఒక book stateను మాత్రమే పంపుతుంది. ఇది ఒక stockకు సంబంధించిన top of book మాత్రమే. Depth మరియు order-by-order feeds ఈ సంఖ్యను అనేక రెట్లు పెంచుతాయి.
Level 2 data కోసం చెల్లించడం విలువైనదేనా?
దాని విలువ holding periodపై ఆధారపడి ఉంటుంది. Spreadలోపల ordersను నిర్వహించే, సెకన్లలో entries timing చేసే traderకు top lineలో లేని సమాచారం depth ద్వారా తెలుస్తుంది: ఎక్కడ size పేరుకుపోయింది, ఏ వైపు పలుచబడుతోంది. పైన చెప్పిన hidden-liquidity కారణాల వల్ల ఈ అంచనా పరిపూర్ణం కాదు. అయినప్పటికీ ladder లేకపోవడం కంటే ఇది ఉపయోగకరం.
రోజులు లేదా వారాల కాలానికి చూస్తే, పది-level book ఇచ్చే అదనపు సమాచారం దాని ఖర్చుతో పోలిస్తే తక్కువ. Level 1 కంటే కింది tier కూడా ఇక్కడ ఉపయోగపడుతుంది: సాధారణంగా 15 నిమిషాలు ఆలస్యంగా వచ్చే delayed quotes చాలా platformsలో ఉచితం. రోజుల్లో కొలిచే నిర్ణయాలకు అవి సరిపోతాయి. Stock quotes 15 నిమిషాలు ఆలస్యంగా ఎందుకు వస్తాయి అనే article ఈ పద్ధతి ఎలా ఏర్పడిందో వివరిస్తుంది. చివరగా delivery విధానాన్ని కూడా స్పష్టంగా తెలుసుకోవాలి. ఒక venue నుంచి feed తీసుకుని, vendor ప్రకటించని intervalలో దాన్ని conflate చేస్తే, అది ఇప్పటికే పరిమితమైన సమాచారానికి మరింత పరిమితమైన రూపమే.
తరచుగా అడిగే ప్రశ్నలు
Level 1 మరియు Level 2 market data మధ్య తేడా ఏమిటి?
Level 1లో ఉత్తమ bid, ఉత్తమ offer, ప్రతి దాని వద్ద ఉన్న పరిమాణం, అలాగే చివరి trade ఉంటాయి. Level 2లో వాటి కింద ఉన్న displayed price levels, ప్రతి level వద్ద నిలిచి ఉన్న మొత్తం పరిమాణంతో పాటు కనిపిస్తాయి. అందువల్ల Level 2లో Level 1లో ఉన్న సమాచారం అంతా, దానికి అదనపు సమాచారం కూడా ఉంటుంది.
Level 2 market data real timeలో ఉంటుందా?
అది subscriptionపై ఆధారపడి ఉంటుంది. Exchange depth feeds real timeలో వస్తాయి, కానీ వాటికి fee ఉంటుంది. అనేక retail platforms interval ఆధారంగా snapshot తీసుకునే conflated versionను అందిస్తాయి. Product pageలో ఇది స్పష్టంగా ఉండకపోవచ్చు. Broker support deskను అడిగితే నిర్ధారించవచ్చు.
Level 2 hidden ordersను చూపిస్తుందా?
లేదు. Depth-of-book feedలో displayed size మాత్రమే కనిపిస్తుంది. Iceberg reserve quantity మరియు పూర్తిగా hiddenగా ఉన్న orders tradeగా print అయ్యే వరకు ladderలో కనిపించవు.
Level 3 market data దేనికి ఉపయోగిస్తారు?
Level 3, లేదా market by order, ప్రతి individual resting orderను దాని identifier, ధర, పరిమాణం, queue positionతో చూపిస్తుంది. Execution మరియు order-routing models నడిపే సంస్థలు దీన్ని ప్రధానంగా ఉపయోగిస్తాయి. Fill సమయంలో queue position మారడం వల్ల ఆర్థిక ఫలితం మారవచ్చు.
Trading చేయడానికి Level 2 data అవసరమా?
లేదు. ఏ retail platformలోనైనా ordersను place చేసి manage చేయడానికి Level 1 quotes మరియు trade tape సరిపోతాయి. ధర ఎక్కడ ముగుస్తుందన్నదానికంటే execution సమయంలో liquidity ఎంత ఉందన్నది నిర్ణయానికి ముఖ్యమైనప్పుడు depth ఉపయోగకరంగా ఉంటుంది.
ఇక్కడ ఉన్న ప్రతి panelతో పాటు దాని కింద ఉపయోగించిన SQL కూడా అందుబాటులో ఉంటుంది. అందువల్ల ప్రతి సంఖ్యను ఎలా లెక్కించారో ఖచ్చితంగా చూడవచ్చు. Strasmore terminalలో ఏ ticker, ఏ sessionకైనా ఇదే ప్రశ్నలను run చేయవచ్చు.