حجم دادههای فید قیمت گزینهها OPRA
بررسی حجم عظیم بهروزرسانیهای OPRA در مقایسه با نوار قیمت سهام. در این مقاله میزان حجم دادههای بازار و دلیل تفاوت فاحش این دو جریان داده را بررسی میکنیم.
فید قیمت گزینهها (options) بزرگترین جریان دادههای بازار در ایالات متحده است: هر قرارداد گزینهی لیستشده، بهترین قیمت خرید (bid) و بهترین قیمت فروش (ask) مخصوص به خود را دارد و OPRA — یعنی سازمان گزارش قیمت گزینهها که نوار تجمیعی گزینههای لیستشده در ایالات متحده است — تمام بهروزرسانیهای مربوط به هر یک از آنها را منتشر میکند. در 2026-07-13، یعنی تنها در یک جلسه معاملاتی عادی، انبار دادههای ما 8.23 میلیارد بهروزرسانی قیمت گزینهها را ثبت کرد که 16.8 برابر حجم کل نوار قیمت سهام در همان روز بود. این صفحه مستقیماً این حجم عظیم داده را اندازهگیری میکند و پرسوجوی دقیق پشت هر عدد را نیز پیوست کرده است.
چرا حجم دادههای قیمت گزینهها بسیار زیاد است؟
هر سهم تنها یک بهترین قیمت خرید و فروش (NBBO) دارد؛ یعنی یک spread خرید-فروش برای بهروزرسانی قیمت. اما زنجیره گزینهها این مقدار را چندین برابر میکند: هر قرارداد لیستشده — یعنی هر ترکیب از تاریخ سررسید، قیمت اعمال و نوع اختیار خرید یا فروش — قیمت NBBO مخصوص به خود را دارد. در 2026-07-13، تنها ETF مربوط به SPY دارای 9156 قرارداد مجزا بود که قیمتگذاری میشدند؛ این آمار تنها شامل قراردادهای با سررسید سال 2026 است.
این تکثیر شدن تنها به تعداد قراردادها محدود نمیشود. ارزش یک گزینه با سهام پایه تغییر میکند و با هر نوسان قیمت سهم، بازارگردانها قیمتها را در کل زنجیره بهروزرسانی میکنند؛ یعنی تمام قیمتهای اعمال و تمام تاریخهای سررسید، همزمان و بدون توجه به اینکه آیا معاملهای روی آن قراردادها انجام شده است یا خیر. محاسبات زیر نشاندهنده این حجم از داده است: میلیاردها بهروزرسانی قیمت در هر جلسه معاملاتی، و 776 بهروزرسانی قیمت به ازای هر معامله انجامشده در بازار گزینهها.
شمارش یک روز از نوار قیمتهای اختیار معامله
در عمل، این حجم از داده چقدر است؟ جدول زیر تمام بهروزرسانیهای قیمت (quote) در بازار اختیار معامله را که انبار دادههای ما برای 2026-07-13 ذخیره کرده است، محاسبه میکند — یعنی آخرین جلسه کامل شده که حداقل پنج روز تقویمی از آن گذشته است، قاعدهای که در بخش کمیابی توضیح داده شده است. این دادهها با نوار کامل قیمتهای سهام در همان روز مقایسه شدهاند؛ همان مقایسه مستقیم که در خلاصهی بازار 7 جولای بر اساس دادههای روز دوشنبه ارائه شد. هر دو شمارش، کل روز تقویمی را بر اساس زمان جهانی (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 (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 هزار قرارداد مجزا در آن روز واقعاً معامله شدند — جریان قیمتها بسیار بیشتر از تعداد قراردادهایی است که واقعاً جابهجا میشوند. نوار قیمتهای سهام در همان روز — شامل تمام بهروزرسانیهای قیمت تجمیعشده برای هر سهم و ETF لیست شده، از پیشبازگشایی تا پس از بازار — شامل 491 میلیون بهروزرسانی برای 12958 نماد بود. نسبت این دو عدد نکته اصلی است: حجم جریان قیمتهای اختیار معامله 16.8 برابر بیشتر از حجم جریان قیمتهای سهام بود.
دو شاخص دیگر از همین بررسی، ماهیت این جریان داده را نشان میدهد. با میانگینگیری در بازه زمانی قیمتگذاری جلسه (بر اساس زنجیره SPY، که عمیقترین زنجیره در نوار است)، بهروزرسانیها با نرخ 339 هزار در ثانیه دریافت شدند. همچنین بازار اختیار معامله در آن روز 10.6 میلیون معامله واقعی ثبت کرد — یعنی به ازای هر معامله، 776 بهروزرسانی قیمت وجود داشت. این قیمتگذاری است، و نه معامله، که حجم بالای این جریان داده را پر میکند.
بخشی از یک ریشه: زنجیره آپشنهای SPY در یک روز
درک حجم کل دادههای بازار دشوار است و بررسی کل نوار قیمتها نیز هزینهبر است؛ بنابراین تنها بخشی از آن را بررسی میکنیم. جدول زیر، تمام بهروزرسانیهای قیمت (quote) را برای قراردادهای آپشن SPY با تاریخ سررسید سال 2026، در یک جلسه معاملاتی و در یک روز مشخص بر اساس 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 میلیون بهروزرسانی را ثبت کرد.
قراردادهای با سررسید همان روز، تصویر دقیقتری ارائه میدهند. آپشنهای 0DTE — قراردادهایی که در روز سررسید خود معامله میشوند — بر معاملات آپشن تسلط دارند؛ جدول تحلیلشده در ادامه، پنج مورد از پرکاربردترین قراردادهای SPY را که در همان روز منقضی میشوند، نشان میدهد. در جریان قیمتگذاری (quote)، این قراردادها بخش بسیار کوچکی هستند: قراردادهای همان روز با تعداد 4.5% درصد از کل بهروزرسانیهای قیمت SPY، برابر با 334 قرارداد بودند. بازارگردانها قیمتگذاری کل زنجیره را حفظ میکنند؛ قیمت در سطوح مختلف (strikes) ماه دسامبر، در تمام طول جلسه، چه معاملهای انجام شود و چه نشود، بهروزرسانی میشود.
عرض قیمت (Width) یکی دیگر از معیارهای مهم در اینجا است. در میان همان قراردادهای SPY با سررسید همان روز، میانه عرض قیمت نقلقول شده — اختلاف قیمت خرید و فروش (ask minus bid) بر اساس تمام بهروزرسانیهای معتبر NBBO — برابر با 3¢ بود؛ در حالی که این میانه برای کل زنجیره با سررسید سال 2026، برابر با 4¢ بود. (197 هزار بهروزرسانی یکطرفه یا متقاطع از میانه عرض قیمتها حذف و در پنل بالا شمارش شدند.)
How to read an option ticker (OCC symbology)
Every contract in these panels is identified by an OCC option symbol — the standard format administered by the Options Clearing Corporation. Our warehouse prefixes it with O:. Take O:SPY261218C00700000 as a worked example:
- Root —
SPY: the option root, up to six characters, usually the underlying's own ticker. - Expiration —
261218: the expiry date as YYMMDD — December 18, 2026. - Type —
Cfor a call,Pfor a put. - Strike —
00700000: the strike price multiplied by 1,000 and zero-padded to eight digits — $700.00.
That fixed format is what lets one root's chain be carved out with a plain ticker range: every SPY contract expiring in 2026 sorts between O:SPY26 and O:SPY27, the exact filter in the panel above. Here are the session's five busiest SPY contracts with the symbol unpacked:
کد دقیق 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 5The top of the volume table is pure same-day traffic: all five contracts expired on 2026-07-13, the session's own date, and the busiest of them — O:SPY260713P00749000, a $749-strike put contract — traded 732.2 thousand contracts. Set that against the quote panel before it: trading concentrates at the front of the chain, quoting spreads across all of it.
چرا دادههای قیمت گزینش (options quote) کمیاب هستند
ذخیره کردن این فید به معنای افزودن یک روز مشابه روز اندازهگیری شده در بالا است؛ یعنی هر جلسه معاملاتی، به صورت نامحدود. اقتصاد این موضوع در یک جمله خلاصه میشود. اکثر محصولات دادههای بازار، چه برای کاربران خرد و چه حرفهایها، قیمت سهام و گاهی معاملات گزینش (options trades) را ارائه میدهند؛ اما تاریخچه کامل قیمتهای گزینش (options quote) در هیچ سطحی و با هر قیمتی، نادر است. انبار دادههای خود ما شامل تاریخچه قیمت گزینش سهام تا سال 2003 و تاریخچه معاملات گزینش تا سال 2014 است، در حالی که جدول قیمتهای گزینش از سال 2022 شروع میشود؛ این جدیدترین تاریخچه تیک (tick) است که ما نگه میداریم و با اختلاف زیاد، بزرگترین جدولی است که مدیریت میکنیم.
یک نکته شفاف باید بیان شود: قیمتهای گزینش همچنین کندترین مجموعهدادهای هستند که ما در اختیار داریم. جلسات جدید معمولاً یک یا دو روز با تقویم عقبتر هستند — و گاهی بیشتر — در حالی که قیمتهای سهام معمولاً ظرف یک روز نهایی میشوند. هر پنل در این صفحه، حداقل به آخرین جلسه تکمیلشده با فاصله پنج روز تقویمی (2026-07-13 در اجرای فعلی) متصل است و بهروزرسانی هفتگی، تمام پرسوجوها را بر اساس همان قانون مجدداً اجرا میکند؛ این کار باعث میشود هر عدد بر اساس یک روز کاملاً وارد شده محاسبه شود، نه بر اساس لبهی نیمهبارگذاری شده.
سوالات متداول
حجم روزانه فید قیمتهای اختیار معامله (options) در OPRA چقدر است؟
بر اساس اندازهگیریهای انبار داده ما: 8.23 میلیارد بهروزرسانی قیمت برای اختیار معامله در 2026-07-13 — که میانگین آن 339 هزار بهروزرسانی در هر ثانیه در طول بازه زمانی معاملات است. فید خام OPRA علاوه بر قیمتها، شامل پیامهای معاملاتی و اداری نیز هست و تعداد رسمی پیامهای آن حتی از این مقدار نیز بیشتر است.
آیا حجم فید قیمتهای اختیار معامله بیشتر از فید قیمتهای سهام است؟
بله؛ این تفاوت چندین برابری است، نه درصدی. در جلسهای که در بالا اندازهگیری شد، تعداد بهروزرسانیهای قیمت اختیار معامله 16.8 برابر با تعداد بهروزرسانیهای قیمت سهام بود: 8.23 میلیارد در مقابل 491 میلیون. هر سهم تنها یک NBBO بهروزرسانی شده دارد، در حالی که زنجیره اختیار معامله آن صدها یا هزاران قیمت را حفظ میکند.
چرا دادههای بازار اختیار معامله بسیار گران هستند؟
مقیاس، بخش قابل مشاهده است: دریافت، ذخیره و پرسوجوی فیدی که با میلیاردها بهروزرسانی در هر جلسه اندازهگیری میشود، نیازمند زیرساخت واقعی است و هزینههای آن هر روز معاملاتی تکرار میشود. علاوه بر مهندسی، هزینههای لایسنس بورس نیز بر آن افزوده میشود. پنلهای بالا دقیقاً نشان میدهند که یک مجموعه داده کامل از قیمتهای اختیار معامله چه حجم اطلاعاتی را باید حمل کند.
در یک روز عادی، چه تعداد قرارداد اختیار معامله قیمتگذاری میشود؟
تعداد آنها با اختلاف بسیار بیشتر از معاملات است. در تاریخ 2026-07-13، تعداد 338 هزار قرارداد مجزا حداقل یک معامله ثبت کردند، در حالی که تنها زنجیره انقضای 2026 مربوط به SPY، تعداد 9156 قرارداد را در حال قیمتگذاری نگه داشت؛ و کل مجموعه قیمتگذاری شده، تمام ریشهها را پوشش میدهد، همانطور که زنجیره SPY تمام قیمتهای اعمال (strikes) خود را پوشش میدهد. (شمارش هر قرارداد مجزا در جریان قیمتگذاری یک روز، خود اسکن بسیار بزرگی است که ما آن را از صفحه با بهروزرسانی هفتگی حذف کردهایم — تنها عددی که در اینجا به عمد منتشر نمیکنیم، همان است.)
آیا اختیار معامله در ساعات غیررسمی (after hours) قیمتگذاری میشود؟
اختیار معاملههای سهام لیست شده در ایالات متحده، ساعات معاملات بورس را دنبال میکنند. در جلسه اندازهگیری شده در بالا، اولین قیمت اختیار معامله SPY در ساعت 09:30 ET و آخرین آن در ساعت 16:15 ET ثبت شد — هیچ جلسه معاملاتی شبانهای وجود ندارد. برای مقایسه، تِیپ (tape) سهام، در ساعات پیشباز و پس از بازار نیز قیمتگذاری میکند.
هر پنل در بالا همراه با دستور SQL دقیق تولیدکننده آن ارائه شده است — یکی را باز کنید، یک ریشه یا روز متفاوت را جایگزین کنید و بخش مورد نظر از فید را که واقعاً در ترمینال Strasmore بر آن معامله میکنید، تعیین کنید.