OPRA Options Quote Feed का आकार कितना है?
क्या आप जानना चाहते हैं कि OPRA options quote feed कितना बड़ा है? हम एक दिन के OPRA-scale NBBO अपडेट्स की तुलना पूरे stock quote tape के आकार से करते हैं।
options quote feed अमेरिका में मार्केट डेटा का सबसे बड़ा स्ट्रीम है: प्रत्येक लिस्टेड option contract का अपना best bid और best ask होता है, और OPRA — जो US लिस्टेड options के लिए consolidated tape है — हर एक के हर अपडेट को प्रकाशित करता है। 2026-07-13 को, एक सामान्य सत्र के दौरान, हमारे warehouse ने 8.23 billion options quote अपडेट दर्ज किए — जो उसी दिन के पूरे stock quote tape के आकार से 16.8 times अधिक थे। यह पेज सीधे इस डेटा प्रवाह को मापता है, जिसमें प्रत्येक संख्या के पीछे की सटीक query जुड़ी हुई है।
ऑप्शंस कोट फीड इतना बड़ा क्यों है?
एक स्टॉक के लिए केवल एक नेशनल बेस्ट बिड एंड ऑफर (NBBO) होता है — वर्तमान स्थिति बनाए रखने के लिए एक bid-ask spread। एक ऑप्शन चेन इसे कई गुना बढ़ा देती है: प्रत्येक सूचीबद्ध कॉन्ट्रैक्ट — एक्सपायरी डेट, स्ट्राइक प्राइस, और कॉल-या-पुट का हर संयोजन — अपना अलग NBBO कोट करता है। 2026-07-13 में, केवल SPY के लिए 9156 अलग-अलग कॉन्ट्रैक्ट्स कोट हो रहे थे, जिसमें केवल 2026 की एक्सपायरी को गिना गया है।
यह गुणा केवल कॉन्ट्रैक्ट की संख्या तक सीमित नहीं है। एक ऑप्शन का मूल्य उसके अंडरलाइंग स्टॉक के साथ बदलता है। जब शेयर की कीमत बदलती है, तो मार्केट मेकर्स पूरी चेन में कोट को रिफ्रेश करते हैं — हर स्ट्राइक और हर एक्सपायरी को एक साथ, चाहे उन कॉन्ट्रैक्ट्स में कोई ट्रेड हो या न हो। नीचे दिए गए आंकड़ों में यही गणित दिखाई देता है: प्रति सत्र अरबों कोट अपडेट होते हैं, और प्रत्येक निष्पादित ऑप्शंस ट्रेड के लिए 776 कोट अपडेट होते हैं।
ऑप्शंस टेप का एक दिन का विश्लेषण
व्यावहारिक रूप से यह कितना डेटा है? नीचे दिया गया पैनल 2026-07-13 के लिए हमारे वेयरहाउस में संग्रहीत प्रत्येक ऑप्शंस कोट अपडेट की गणना करता है — यह कम से कम पांच कैलेंडर दिन पहले का सबसे हालिया पूर्ण सत्र है, जैसा कि दुर्लभता (scarcity) अनुभाग में समझाया गया है — और इसकी तुलना उसी सत्र के पूर्ण स्टॉक कोट टेप से करता है। यह वही तुलना है जो July 7 market recap ने सोमवार के टेप पर की थी। दोनों गणनाएं पूरे कैलेंडर दिन को कवर करती हैं, जो यूनिवर्सल टाइम (UTC) में सीमित है, और पूरे US ऑप्शंस सत्र तक फैला हुआ है।
हर आंकड़े के पीछे का पूरा SQL
WITH (
SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime(today() - 10)
AND window_start < toDateTime(today() - 4)
) AS session_day,
(
SELECT (count(), uniqExact(ticker))
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= toDateTime(session_day)
AND sip_timestamp < toDateTime(session_day + 1)
) AS stock_tape,
(
SELECT (count(), uniqExact(ticker))
FROM global_markets.options_trades
WHERE sip_timestamp >= toDateTime(session_day)
AND sip_timestamp < toDateTime(session_day + 1)
) AS option_trades_t,
(
SELECT toUInt32(max(sip_timestamp)) - toUInt32(min(sip_timestamp))
FROM global_markets.cache_options_quotes
WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND sip_timestamp >= toDateTime(session_day)
AND sip_timestamp < toDateTime(session_day + 1)
) AS spy_span_seconds
SELECT
toString(session_day) AS session_date,
round(count() / 1e9, 2) AS option_quote_updates_bn,
round(stock_tape.1 / 1e6, 0) AS stock_quote_updates_m,
stock_tape.2 AS stock_symbols_quoted,
round(count() / stock_tape.1, 1) AS option_to_stock_ratio,
round(option_trades_t.1 / 1e6, 1) AS option_trades_m,
round(option_trades_t.2 / 1e3, 0) AS option_contracts_traded_k,
round(count() / option_trades_t.1, 0) AS quote_updates_per_trade,
round(count() / spy_span_seconds / 1e3, 0) AS avg_updates_per_second_k
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= toDateTime(session_day)
AND sip_timestamp < toDateTime(session_day + 1)संपूर्ण ऑप्शंस टेप में 8.23 बिलियन NBBO अपडेट आए। उस दिन वास्तव में केवल 338 हजार अलग-अलग कॉन्ट्रैक्ट्स में ट्रेड (TRADED) हुआ — कोट स्ट्रीम, वास्तविक ट्रेड की तुलना में चेन के कहीं अधिक हिस्सों का पुनर्मूल्यांकन (repricing) करती है। उसी दिन का स्टॉक टेप — जिसमें प्री-मार्केट और after-hours सहित प्रत्येक सूचीबद्ध स्टॉक और ETF के लिए प्रत्येक समेकित कोट अपडेट शामिल है — 12958 सिम्बल्स में 491 मिलियन अपडेट दर्ज करता है। मुख्य अनुपात यह है: ऑप्शंस कोट स्ट्रीम का आकार स्टॉक कोट स्ट्रीम से 16.8 गुना अधिक था।
उसी स्कैन से दो अन्य रीडिंग इस फीड की संरचना बताती हैं। सत्र के quoting अंतराल (SPY की चेन पर मापा गया, जो टेप पर सबसे गहरी है) के औसत के अनुसार, अपडेट 339 हजार प्रति सेकंड की दर से आए। और ऑप्शंस मार्केट ने उस दिन 10.6 मिलियन वास्तविक ट्रेड दर्ज किए — जिनमें से प्रत्येक के लिए 776 कोट अपडेट आए। ट्रेडिंग नहीं, बल्कि quoting ही डेटा पाइप को भरती है।
एक स्टॉक का विश्लेषण: एक दिन में SPY की ऑप्शन चेन
पूरे मार्केट डेटा (tape) को समझना और स्कैन करना कठिन और महंगा होता है — इसलिए हम एक छोटा हिस्सा देखते हैं। नीचे दिया गया पैनल 2026 में समाप्त होने वाले SPY ऑप्शन कॉन्ट्रैक्ट्स के लिए एक ही सत्र और एक ही UTC-आधारित दिन के सभी कोट अपडेट्स को गिनता है: एक अंडरलाइंग एसेट की चेन, जिसे एक विशिष्ट टिकर रेंज के माध्यम से निकाला गया है।
हर आंकड़े के पीछे का पूरा SQL
WITH (
SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime(today() - 10)
AND window_start < toDateTime(today() - 4)
) AS session_day
SELECT
toString(session_day) AS session_date,
round(count() / 1e6, 1) AS spy_quote_updates_m,
uniqExact(ticker) AS spy_contracts_quoted,
round(count() / uniqExact(ticker) / 1e3, 1) AS avg_updates_per_contract_k,
uniqExactIf(ticker, substring(ticker, 6, 6) = formatDateTime(session_day, '%y%m%d')) AS same_day_expiry_contracts,
round(100.0 * countIf(substring(ticker, 6, 6) = formatDateTime(session_day, '%y%m%d')) / count(), 1) AS same_day_expiry_pct_of_updates,
quantileExactWeightedIf(0.5)(toInt32(round(toFloat64(ask_price - bid_price) * 100)), 1, bid_price > 0 AND ask_price >= bid_price AND substring(ticker, 6, 6) = formatDateTime(session_day, '%y%m%d')) AS same_day_median_width_cents,
quantileExactWeightedIf(0.5)(toInt32(round(toFloat64(ask_price - bid_price) * 100)), 1, bid_price > 0 AND ask_price >= bid_price) AS all_spy_median_width_cents,
round(countIf(NOT (bid_price > 0 AND ask_price >= bid_price)) / 1e3, 0) AS dropped_invalid_quotes_k,
formatDateTime(toTimeZone(min(sip_timestamp), 'America/New_York'), '%H:%i') AS spy_first_quote_et,
formatDateTime(toTimeZone(max(sip_timestamp), 'America/New_York'), '%H:%i') AS spy_last_quote_et,
toHour(toTimeZone(min(sip_timestamp), 'America/New_York')) * 60 + toMinute(toTimeZone(min(sip_timestamp), 'America/New_York')) AS spy_first_quote_et_minute,
toHour(toTimeZone(max(sip_timestamp), 'America/New_York')) * 60 + toMinute(toTimeZone(max(sip_timestamp), 'America/New_York')) AS spy_last_quote_et_minute
FROM global_markets.cache_options_quotes
WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND sip_timestamp >= toDateTime(session_day)
AND sip_timestamp < toDateTime(session_day + 1)एक ही अंडरलाइंग एसेट ने एक दिन में 337.1 मिलियन ऑप्शन कोट अपडेट्स दिए: 9156 कॉन्ट्रैक्ट्स कोट हुए, और प्रति कॉन्ट्रैक्ट औसतन 36.8 हजार अपडेट्स हुए। तुलना के लिए, ऊपर दिए गए पैनल में पूरे स्टॉक मार्केट का डेटा — सभी लिस्टेड शेयर्स और ETF मिलाकर — उस सत्र में 491 मिलियन अपडेट्स दिखाता है।
उसी दिन समाप्त होने वाले (same-day expiries) कॉन्ट्रैक्ट्स अधिक स्पष्ट जानकारी देते हैं। 0DTE options — वे कॉन्ट्रैक्ट्स जो अपनी समाप्ति के दिन ट्रेड होते हैं — ऑप्शन ट्रेडिंग में हावी हैं। नीचे दी गई तालिका उस सत्र के पांच सबसे व्यस्त SPY कॉन्ट्रैक्ट्स को दिखाती है जो उसी दिन समाप्त हो रहे थे। कोट स्ट्रीम में इनका हिस्सा बहुत कम है: 334 उसी दिन समाप्त होने वाले कॉन्ट्रैक्ट्स ने SPY के कुल कोट अपडेट्स का 4.5% हिस्सा बनाया। मार्केट मेकर्स पूरी चेन की कीमतें बनाए रखते हैं — दिसंबर के स्ट्राइक्स पूरे सत्र तक अपडेट होते रहते हैं, चाहे उनमें कोई ट्रेड हो या न हो।
यहाँ विड्थ (width) एक अन्य महत्वपूर्ण माप है। उन्हीं उसी दिन समाप्त होने वाले SPY कॉन्ट्रैक्ट्स में, मीडियन कोटेड विड्थ — प्रत्येक वैध NBBO अपडेट के आधार पर Ask माइनस Bid — 3¢ थी; जबकि 2026-एक्सपायरी वाली पूरी चेन के लिए यही मीडियन 4¢ थी। (विड्थ मीडियन की गणना में 197 हजार वन-साइडेड या क्रॉस अपडेट्स को शामिल नहीं किया गया था और उन्हें पैनल में गिना गया है।)
ऑप्शन टिकर कैसे पढ़ें (OCC symbology)
इन पैनल्स में प्रत्येक कॉन्ट्रैक्ट की पहचान एक OCC ऑप्शन सिंबल द्वारा की जाती है — यह Options Clearing Corporation द्वारा प्रशासित मानक प्रारूप है। हमारा वेयरहाउस इसके आगे O: लगाता है। O:SPY261218C00700000 को एक उदाहरण के रूप में देखें:
- Root —
SPY: ऑप्शन रूट, जो अधिकतम छह अक्षरों का होता है, और आमतौर पर अंडरलाइंग का अपना टिकर होता है। - Expiration —
261218: YYMMDD प्रारूप में समाप्ति तिथि — 18 दिसंबर, 2026। - Type — कॉल के लिए
C, पुट के लिएP। - Strike —
00700000: स्ट्राइक प्राइस जिसे 1,000 से गुणा किया गया है और आठ अंकों तक शून्य (zero-padded) लगाया गया है — $700.00।
इसी निश्चित प्रारूप के कारण एक रूट की चेन को एक साधारण टिकर रेंज के साथ निकाला जा सकता है: 2026 में समाप्त होने वाले सभी SPY कॉन्ट्रैक्ट O:SPY26 और O:SPY27 के बीच व्यवस्थित होते हैं, जो ऊपर दिए गए पैनल में सटीक फ़िल्टर है। यहाँ सिंबल के विस्तार के साथ सत्र के पांच सबसे व्यस्त SPY कॉन्ट्रैक्ट दिए गए हैं:
हर आंकड़े के पीछे का पूरा SQL
WITH (
SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime(today() - 10)
AND window_start < toDateTime(today() - 4)
) AS session_day
SELECT ticker AS occ_ticker,
any(underlying_symbol) AS root,
concat('20', substring(ticker, 6, 2), '-', substring(ticker, 8, 2), '-', substring(ticker, 10, 2)) AS expiry_parsed,
if(any(option_type) = 'C', 'call', 'put') AS call_or_put,
any(toFloat64(strike_price)) AS strike_usd,
round(sum(size) / 1e3, 1) AS contracts_traded_k,
if(substring(ticker, 6, 6) = formatDateTime(session_day, '%y%m%d'), 1, 0) AS expires_same_day
FROM global_markets.options_trades
WHERE sip_timestamp >= toDateTime(session_day)
AND sip_timestamp < toDateTime(session_day + 1)
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
GROUP BY ticker
ORDER BY contracts_traded_k DESC, ticker
LIMIT 5वॉल्यूम टेबल का शीर्ष हिस्सा केवल उसी दिन का ट्रैफिक है: सभी पांच कॉन्ट्रैक्ट 2026-07-13 को समाप्त हुए, जो सत्र की अपनी तारीख है, और उनमें से सबसे व्यस्त — O:SPY260713P00749000, एक $749 स्ट्राइक वाला put कॉन्ट्रैक्ट — 732.2 हजार कॉन्ट्रैक्ट ट्रेड हुआ। इसकी तुलना इसके पहले वाले कोट पैनल से करें: ट्रेडिंग चेन के शुरुआती हिस्से में केंद्रित है, जबकि कोटेड स्प्रेड पूरी चेन में फैला हुआ है।
Options quote data की कमी क्यों है
इस फीड को स्टोर करने का अर्थ है ऊपर मापे गए दिन की तरह हर सत्र का डेटा अनिश्चित काल के लिए जोड़ते रहना। सरल शब्दों में कहें तो यह अत्यधिक महंगा है। अधिकांश मार्केट-डेटा उत्पाद, रिटेल और प्रोफेशनल दोनों, स्टॉक की कीमतें और कभी-कभी ऑप्शंस trades प्रदान करते हैं; लेकिन किसी भी कीमत पर पूर्ण ऑप्शंस quote इतिहास मिलना दुर्लभ है। हमारे अपने वेयरहाउस में इक्विटी quote इतिहास 2003 तक और ऑप्शंस trade इतिहास 2014 तक उपलब्ध है, जबकि ऑप्शंस quote टेबल 2022 से शुरू होती है — यह हमारा सबसे नया टिक इतिहास है, और हमारे द्वारा संचालित सबसे बड़ी टेबल भी है।
एक महत्वपूर्ण जानकारी: ऑप्शंस quotes हमारे पास उपलब्ध सबसे धीमा डेटासेट है। नए सत्रों का डेटा आमतौर पर कैलेंडर से एक या दो दिन पीछे आता है — कभी-कभी अधिक — जबकि इक्विटी quotes आमतौर पर एक दिन के भीतर सेटल हो जाते हैं। इस पेज का प्रत्येक पैनल कम से कम पांच कैलेंडर दिन पहले के सबसे हालिया पूर्ण सत्र (वर्तमान रन में 2026-07-13) पर आधारित है, और साप्ताहिक रिफ्रेश उसी नियम पर हर क्वेरी को फिर से चलाता है। यह सुनिश्चित करता है कि प्रत्येक संख्या एक पूरी तरह से इनजेस्ट किए गए दिन पर आधारित हो, न कि आधे-अधूरे डेटा पर।
FAQ
प्रतिदिन OPRA options feed का आकार कितना होता है?
हमारे वेयरहाउस के माप के अनुसार: 2026-07-13 को 8.23 बिलियन options quote अपडेट्स हुए — यानी सत्र के दौरान प्रति सेकंड औसतन 339 हजार अपडेट्स। कच्चे OPRA feed में quotes के अलावा trade और administrative messages भी शामिल होते हैं, जिससे इसके आधिकारिक message counts और भी अधिक हो जाते हैं।
क्या options quote feed, stock quote feed से बड़ा है?
हाँ — यह प्रतिशत में नहीं, बल्कि कई गुना बड़ा है। ऊपर मापे गए सत्र में, options quote अपडेट्स की संख्या stock quote अपडेट्स से 16.8 गुना थी: 8.23 बिलियन बनाम 491 मिलियन। प्रत्येक stock का केवल एक NBBO अपडेट रहता है; जबकि उसके option chain में सैकड़ों या हजारों अपडेट होते हैं।
options market data इतना महंगा क्यों है?
पैमाना (Scale) इसका मुख्य कारण है: प्रति सत्र अरबों अपडेट्स वाले feed को प्राप्त करने, स्टोर करने और query करने के लिए वास्तविक infrastructure की आवश्यकता होती है, जिसका खर्च हर ट्रेडिंग दिन आता है। इंजीनियरिंग लागत के अलावा एक्सचेंज लाइसेंसिंग फीस भी लगती है। ऊपर दिए गए पैनल दिखाते हैं कि एक पूर्ण options quote dataset में कितना डेटा होता है।
एक सामान्य दिन में कितने option contracts quote होते हैं?
trades की तुलना में यह संख्या काफी अधिक होती है। 2026-07-13 को, 338 हजार अलग-अलग contracts में कम से कम एक trade हुआ, जबकि अकेले SPY के 2026-expiry chain में 9156 contracts quote हुए — और पूरा quoted universe हर root को कवर करता है, जैसे SPY की chain अपने strikes को कवर करती है। (एक दिन के quote stream में प्रत्येक अलग contract की गिनती करना इतना बड़ा कार्य है कि हम इसे साप्ताहिक रूप से अपडेट होने वाले पेज से बाहर रखते हैं — यहाँ हम जानबूझकर एक संख्या प्रकाशित नहीं करते हैं।)
क्या options after hours quote होते हैं?
Listed US equity options एक्सचेंज के घंटों के अनुसार ही चलते हैं। ऊपर मापे गए सत्र में, SPY का पहला option quote 09:30 ET पर आया और आखिरी 16:15 ET पर — कोई overnight session नहीं था। तुलना के लिए, stock tape premarket और after-hours के दौरान भी quote होता है।
ऊपर दिया गया प्रत्येक पैनल उसी SQL के साथ आता है जिससे इसे बनाया गया है — किसी एक को विस्तार दें, दूसरा root या दिन बदलें, और Strasmore terminal पर उस feed के हिस्से का आकार देखें जिस पर आप वास्तव में trade करते हैं।