Strasmore Research
学習 Matt Connor著者: Matt Connor ・更新: 2026-07-24 · data as of July 24, 2026 · refreshed weekly

OPRAオプションのデータ規模は?

OPRAのオプション・クオート更新数を計測し、株式市場のデータ量と比較してその膨大な規模を解説します。

オプションのクオート・フィードは、米国で最大のマーケットデータ・ストリームです。上場しているすべてのオプション契約には、それぞれ最良の買値(bid)と最良の売値(ask)が存在します。米国上場オプションのコンソリデーテッド・テープであるOPRA(Options Price Reporting Authority)は、それらすべての更新情報を公開しています。2026-07-13の通常のセッションにおいて、当社のウェアハウスは8.23 billion件のオプション・クオート更新を記録しました。これは、同日の株式クオート・テープ全体の規模の16.8 timesに相当します。本ページでは、各数値の根拠となる正確なクエリとともに、この膨大なデータ量を直接測定しています。

なぜオプションのクオート・フィードはこれほど膨大な量になるのか?

株式の場合、全国最良気配(NBBO)は一つであり、更新すべき bid-ask spread も一つだけです。しかし、オプション・チェーンではこれが倍増します。上場されている各コントラクト、つまり満期日、権利行使価格、コールまたはプットのあらゆる組み合わせごとに、個別のNBBOが提示されます。2026-07-13において、SPY単体でも、2026年満期の銘柄のみを数えても、9156もの異なるコントラクトがクオートを提示していました。

この増幅は、コントラクト数にとどまりません。オプションの価値は原資産の株式とともに変動します。株価が動くと、マーケットメーカーはチェーン全体のクオートを更新します。取引の有無にかかわらず、すべての権利行使価格とすべての満期日において、同時に更新が行われます。以下に示す数値はその計算結果を示しています。1セッションあたりのクオート更新数は数十億件に達し、776のオプション取引1件につき、776のクオート更新が発生します。

オプション取引データの1日分をカウント

実際のデータ量はどの程度でしょうか。以下のパネルでは、当社のウェアハウスに保存された2026-07-13(希少性に関するセクションで説明した通り、少なくとも5暦日前までに完了した直近のセッション)のすべてのオプション見積更新をカウントしています。これを、7月7日の市場概況が月曜日のテープで行ったものと同様の、同セッションの全株式見積テープと比較します。両方のカウントは、米国のオプションセッション全体をカバーする協定世界時(UTC)に基づき、丸1日分を対象としています。

クエリ1セッション、2テープ:オプションNBBO更新 vs 株式NBBO更新
各数値の背後にある正確な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)

オプションテープ全体では、NBBO更新が8.23十億件に達しました。実際にその日に取引された銘柄は、わずか338千銘柄のみでした。見積ストリームは、実際に取引される数よりもはるかに多くの銘柄の価格を再計算しています。同日の株式テープ(プリマーケットおよびアフターアワーズを含む、すべての上場株式およびETFの統合見積更新)は、12958のシンボルにわたって491百万件の更新を記録しました。注目すべきは、その比率です。オプションの見積ストリームは、株式の見積ストリームの16.8の規模に達しました。

同じスキャンによる追加の数値が、データの特性を示しています。セッション中の見積期間(最も深いSPYのチェーンで測定)の平均では、1秒間に339千件の更新が発生しました。また、オプション市場ではその日に10.6百万件の実際の取引が記録されました。これは、取引1件につき776件の見積更新があったことになります。データ転送の大部分を占めているのは、取引ではなく見積データです。

一つの銘柄の断面:SPYのオプション・チェーンを一日で見る

市場全体のデータ(テープ)は膨大で、その全容を把握するには多大なコストがかかります。そのため、ここでは断面を抽出します。下のパネルでは、2026年満期のSPYオプション契約を対象に、同一セッションかつ同一のUTC基準日における全クオート更新数を集計しています。ティッカー範囲を指定することで、膨大なデータの中から一つの原資産のチェーンのみを切り出しています。

クエリSPY 2026年満期オプションチェーン — 1銘柄あたりのクオート・ファイアホース
各数値の背後にある正確な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件の契約で、1契約あたり平均36.8千件の更新がありました。比較として、上のパネルに示された全株式テープ(全上場株式およびETFの合計)は、同セッションで491百万件の更新を記録しました。

当日満期の契約は、より鮮明な傾向を示します。0DTEオプション(満期当日に取引される契約)は、オプションの「取引量」において支配的です。下の解析済みテーブルには、同日に満期を迎えるSPY契約のうち、そのセッションで最も取引が活発だった5つの契約が示されています。一方で「クオート」ストリームにおける割合はわずかです。334件の当日満期契約によるSPYのクオート更新は、全体の4.5%に過ぎませんでした。マーケットメーカーはチェーン全体の価格を維持するため、取引の有無にかかわらず、12月満期の権利行使価格などはセッション中ずっと更新され続けます。

スプレッド(幅)も重要な指標です。これらSPYの当日満期契約において、有効な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:

  • RootSPY: the option root, up to six characters, usually the underlying's own ticker.
  • Expiration261218: the expiry date as YYMMDD — December 18, 2026.
  • TypeC for a call, P for a put.
  • Strike00700000: 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:

クエリ当セッションのSPYオプション取引量上位5銘柄、シンボル詳細
各数値の背後にある正確な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

The 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.

オプションのクオートデータが不足している理由

このフィードを保存するには、上述の測定例のようなデータを、毎セッション、無期限に蓄積し続ける必要があります。これがコスト面での最大の要因です。個人向け・プロ向けを問わず、ほとんどのマーケットデータ製品は、株式価格や、時にはオプションの「約定(trades)」データを提供しています。しかし、オプションの「クオート(quotes)」の完全な履歴は、価格を問わず、市場にはほとんど存在しません。当社のデータウェアハウスには、2003年まで遡る株式クオート履歴と、2014年まで遡るオプション約定履歴がありますが、オプションクオートのテーブルは2022年からとなっています。これは当社が保有する中で最も新しいティック履歴であり、運用しているテーブルの中で圧倒的に最大規模のものです。

一点、明記しておくべき点があります。オプションのクオートは、当社が保有するデータセットの中で、最もデータの到着が遅いものです。株式クオートは通常1日以内に確定しますが、オプションのクオートは通常、カレンダー上で1〜2日、時にはそれ以上遅れて到着します。このページのすべてのパネルは、少なくとも5営業日前(現在の実行では 2026-07-13)の、完了した最新セッションに基づいています。また、週次の更新では、同じルールに基づいてすべてのクエリを再実行しています。これにより、データが不完全に読み込まれた直後の数値ではなく、完全にインジェスト(取り込み)された1日分に基づいた数値を維持しています。

FAQ

OPRAオプション・フィードの1日あたりのデータ量はどのくらいですか?

当社のウェアハウスでの計測値では、2026-07-138.23 billion件のオプション・クオート・アップデートがありました。これは、セッション中のクオート期間全体で、1秒あたり平均339 thousand件のアップデートに相当します。生のOPRAフィードには、クオートに加えて取引メッセージや管理メッセージが含まれるため、公式のメッセージ数はさらに多くなります。

オプション・クオート・フィードは株式クオート・フィードよりも大きいですか?

はい、パーセントではなく、何倍もの差があります。上記のセッションでは、オプションのクオート・アップデート数は株式のクオート・アップデート数の16.8倍でした。具体的には、491 million件に対して8.23 billion件です。各株式のNBBOは1つですが、オプション・チェーンには数百から数千のデータが存在します。

なぜオプションのマーケットデータはこれほど高価なのですか?

規模の大きさが主な要因です。1セッションで数十億件のアップデートを処理するフィードには、受信、保存、照会のためのインフラが必要であり、そのコストは毎取引日発生します。さらに、エンジニアリング費用に加えて、取引所のライセンス料もかかります。上記のパネルは、完全なオプション・クオート・データセットが処理すべきデータ量を正確に示しています。

通常の日に、いくつのオプション・コントラクトがクオートされますか?

取引件数よりも、大幅に多いです。2026-07-13には、338 thousandの異なるコントラクトで少なくとも1回の取引が記録されました。一方、SPYの2026年満期チェーンだけで9156のコントラクトがクオートされていました。全クオート対象範囲は、SPYのチェーンが各権利行使価格をカバーするように、すべての原資産を網羅しています。(1日のクオート・ストリームに含まれる全コントラクトをカウントする作業は、非常に大規模なスキャンとなるため、週次更新のページには掲載していません。ここにある数字のうち、意図的に公開していない数字がそれです。)

オプションは時間外取引(アフターアワーズ)もクオートされますか?

上場している米国株式オプションは、取引所の取引時間に準じます。上記のセッションでは、SPYの最初のオプション・クオートは09:30 ETに、最後のクオートは16:15 ETに記録されました。夜間セッションはありません。比較として、株式のテープはプリマーケットおよびアフターアワーズを通じてクオートされます。


上記の各パネルには、生成に使用された正確なSQLが含まれています。パネルを展開し、異なる原資産や日付に置き換えることで、Strasmoreターミナルで実際に取引しているフィードの範囲を指定できます。