Strasmore Research
学習 Matt Connor著者: Matt Connor

過去のインプライド・ボラティリティデータの入手先

過去のIVデータの入手先を解説します。30日IV系列が一致しない理由、無料・有料ソースの範囲、自分で実行できるクエリの形を紹介します。

過去のインプライド・ボラティリティ(IV)データは記録されたものではなく、算出されたものです。この一点が、価格履歴より入手しにくい理由を説明します。IVとは、オプションの市場価格をプライシングモデルに逆算で入力し、モデル価格が画面上の価格と一致するまで計算して得られる数値です。取引所がテープにIVを記録することはありません。そのため、公表されるIV履歴には、モデル、気配値、契約の選択、補間方法に関する判断が必ず含まれます。同じものを測定するとされる二つの時系列の違いは、こうした判断によって生じます。

定義から確認したい場合は、インプライド・ボラティリティとは何かインプライド・ボラティリティの計算方法で仕組みを説明しています。ここからは、履歴データがどこに存在するのか、また二つのデータ系列をどう見分けるかを解説します。

なぜ過去のインプライド・ボラティリティのデータは、価格データより入手しにくいのでしょうか

日々の終値は観測値です。実際に約定し、すべてのデータベンダーが同じ数値を報告します。一方、IVは計算値であり、その計算に使う四つの入力値が情報源ごとに異なります。

  • モデル。欧州型のBlack-Scholesモデル、配当を離散的に扱う米国型の二項モデル、あるいは独自の金利と借株コストの前提を組み込んだベンダー独自モデルです。
  • 入力する価格。買い気配、売り気配、仲値、直近約定値、取引所の清算値のいずれを使うかです。
  • 対象とするコントラクト。アット・ザ・マネーの単一行使価格、一定のマネーネス帯、出来高または建玉によるフィルターなどです。
  • 満期を固定する方法。30日を挟む二つの満期から補間するか、満期までの日数が一定範囲内にあるすべてのコントラクトを平均するかです。

入力の一つを変えるだけで、数値は変わります。四つすべてを変えると、慎重に算出した二つの情報源が、同じセッションについて数ボラティリティポイント離れた数値を示すことがあります。どちらも間違いとは限りません。

ばらつきは、単一銘柄の内部でも生じます。以下のパネルでは、2026年6月のAAPLについて、スポット価格から5%以内の行使価格を持つコントラクトだけを残し、満期までの残存期間別に分けています。

クエリ一銘柄、一カ月:満期までの期間別インプライド・ボラティリティ(AAPL、2026年6月)
各数値の背後にある正確なSQL
SELECT
    dte_band,
    round(100 * quantileDeterministic(0.25)(iv, contract_hash), 1) AS iv_p25_pct,
    round(100 * quantileDeterministic(0.50)(iv, contract_hash), 1) AS iv_median_pct,
    round(100 * quantileDeterministic(0.75)(iv, contract_hash), 1) AS iv_p75_pct,
    count()                                                        AS contract_day_count
FROM
(
    SELECT
        multiIf(days_to_expiry <=   7, '01-07d',
                days_to_expiry <=  21, '08-21d',
                days_to_expiry <=  45, '22-45d',
                days_to_expiry <=  90, '46-90d',
                days_to_expiry <= 180, '91-180d',
                                       '181d+')  AS dte_band,
        toFloat64(implied_volatility)             AS iv,
        cityHash64(ticker)                        AS contract_hash,
        days_to_expiry                            AS dte
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'AAPL'
      AND date >= '2026-06-01'
      AND date <  '2026-07-01'
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry > 0
      AND underlying_close > 0
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
)
GROUP BY dte_band
ORDER BY min(dte)
Run this yourself

同じ原資産、同じ月で、ニア・ザ・マネーの行使価格だけを対象にしています。表示した中で最も短い期間帯である01-07dのIV中央値は29.6%でした。最も長い181d+28.1%でした。その最初の期間帯だけを見ても、25パーセンタイルと75パーセンタイルはそれぞれ24.9%と35.8%でした。満期に伴う形状がタームストラクチャーであり、行使価格に伴う対応する形状がボラティリティ・スキューです。ここに単一のIVはありません。ボラティリティ・サーフェスが存在し、公表されるAAPLのIVはその一つの要約値にすぎません。当社のAAPLインプライド・ボラティリティページでは、このサーフェスを追跡しています。

30日IVチャートで異なる数値が表示される理由

流動性の高い原資産を一つ選び、一年分の取引日について、同じ行データから30日IVを三通り算出します。最初の列は、スポット価格の±1%以内にある権利行使価格と、満期まで25~35日の契約に絞ります。利用可能な中で最も厳密な算出値です。二つ目は、スポット価格の±5%以内、満期まで20~45日に範囲を広げます。すべての取引日で数値を埋める必要がある場合の実務上の標準です。三つ目は、この広い範囲のデータを契約出来高で加重します。実際に取引された権利行使価格へ平均を寄せる方法です。

クエリ一組の行からSPYの30日IVを構築する三つの方法
各数値の背後にある正確なSQL
WITH
    near_money AS
    (
        SELECT
            toMonday(date)                                                 AS week_start,
            toFloat64(implied_volatility)                                  AS iv,
            days_to_expiry                                                 AS dte,
            volume                                                         AS vol,
            abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) AS moneyness
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          AND date >= '2025-08-01'
          AND date <  '2026-08-01'
          AND iv_converged = 1
          AND volume > 0
          AND underlying_close > 0
          AND days_to_expiry BETWEEN 20 AND 45
          AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
    ),
    weekly AS
    (
        SELECT
            week_start,
            avgIf(iv, dte BETWEEN 25 AND 35 AND moneyness < 0.01) AS tight_atm,
            avg(iv)                                               AS wide_atm,
            sum(iv * vol) / sum(vol)                              AS volume_weighted
        FROM near_money
        GROUP BY week_start
        HAVING countIf(dte BETWEEN 25 AND 35 AND moneyness < 0.01) > 0
    )
SELECT
    toString(week_start) AS week,
    concat(monthName(week_start), ' ', toString(toDayOfMonth(week_start)), ', ', toString(toYear(week_start))) AS week_label,
    round(100 * tight_atm, 1)       AS tight_atm_pct,
    round(100 * wide_atm, 1)        AS wide_atm_pct,
    round(100 * volume_weighted, 1) AS volume_weighted_pct,
    round(100 * (greatest(tight_atm, wide_atm, volume_weighted)
               - least(tight_atm, wide_atm, volume_weighted)), 1) AS spread_pp
FROM weekly
ORDER BY week_start
Run this yourself

表示対象の最初の週であるJuly 28, 2025には、三つの算出方法で16.6%、16.4%、16.7%が表示されました。最も高い値と最も低い値の差は0.2パーセントポイントでした。spread列は、この差を53週すべてについて追跡します。三つのいずれも、そのファンドの真の30日IVではありません。それぞれが少し異なる問いに答えています。ベンダーのチャートは、その三つのいずれかを、算出方法をラベルに記載せず表示したものです。

契約別のインプライド・ボラティリティの履歴は、どこまで遡れますか?

これらのパネルの基礎データはglobal_markets.options_greeksです。取引日ごと、契約ごとに一行を持ち、インプライド・ボラティリティをデルタ、ガンマ、ベガ、セータ、ローとともに記録しています。行使価格、満期日、満期までの日数、原資産のシンボル、原資産の終値も含まれます。日次の引け時点のデータであり、リアルタイムのオプションチェーンのスナップショットではありません。下のパネルは、各四半期に少なくとも一行の収束済みIVデータがある原資産名のユニーク数を数えています。

クエリ日次IVが収束した原資産銘柄(四半期別)
各数値の背後にある正確なSQL
SELECT
    concat(toString(toYear(date)), '-Q', toString(toQuarter(date))) AS quarter,
    uniqExact(underlying_symbol)                                    AS underlyings_covered
FROM global_markets.options_greeks
WHERE iv_converged = 1
  AND volume > 0
  AND underlying_symbol NOT IN ('SPCX')
  AND date < '2026-07-01'
GROUP BY quarter
ORDER BY min(date)
Run this yourself

カバレッジは2014-Q2から2026-Q2までで、合計49四半期です。最後に示した完全な四半期では、5799の原資産名に収束済みの日次IVデータがあります。

このようなデータセットをクエリする際は、四つのフィルターが大半の役割を果たします。

  • iv_converged = 1を維持します。ソルバーが常に収束するとは限りません。未収束の行は低い数値ではなく、フィッティングに失敗したデータです。
  • volume > 0を維持します。一度も取引されていない契約には、古い気配値から算出されたIVが含まれます。
  • underlying_symbolでグループ化します。ticker列にはOCC契約コードが入っています。そのため、これでグループ化すると企業ごとではなく、行使価格と満期ごとに一行が返されます。
  • 契約は、アット・ザ・マネーに近く、満期までの日数が指定した範囲内にあるものを意図的に選択します。この手順を省くと、ボラティリティ・スキューとタームストラクチャーが一つの数値に平均化されます。

無料のインプライド・ボラティリティAPIはありますか?

無料の情報源はあります。ただし、それぞれ特定の点で一部しかカバーしていません。

  • ブローカーの取引プラットフォームは、自社のオプションチェーンを基にIVを計算し、リアルタイムで表示します。ダウンロード可能な過去データは短期間に限られるか、提供されていません。また、その数値は標準値ではなく、各ブローカーのモデルに基づくものです。
  • 取引所が公表するボラティリティ指数は数十年前まで遡るうえ、無料で利用できます。ただし、それぞれ特定のバスケットを集約した単一の数値です。そのため、市場全体の動きを示す問いには答えられますが、個別銘柄の動きを示すものではありません。
  • 一般的な市場データAPIは、ほとんどの場合、価格データまでの提供です。契約ごとのグリークスは、ほぼすべてのサービスで別商品となっています。無料プランでグリークスを含むものも、通常は過去データを保存せず、リアルタイムのスナップショットを返します。無料の株式市場データAPIの概要では、無料プランで実際に取得できるデータを説明しています。
  • 契約ごとの過去データは、ベンダー価格で提供される領域に長期の個別銘柄アーカイブがあります。月単位または年単位の終値ファイルとして販売され、リアルタイムのオプションチェーンは過去データより大幅に高価です。リアルタイムの市場データにかかる費用では、料金表の構成を説明しています。

スナップショットと日次終値データの違いは、価格と同じくらい重要です。米東部時間午後4時に取得したスナップショットは、その時点の気配値を使います。清算価格を基に作成したファイルは、まったく異なる入力を使います。値動きが最も速い日には、両者の差が特に大きくなります。

集約された指数ボラティリティと個別銘柄のボラティリティも、同じものではありません。指数オプションはバスケット全体の値動きを価格に織り込みます。構成銘柄間の値動きが相殺されるため、全体の変動は抑えられます。一方、個別銘柄オプションは、一社の株価の動きを価格に織り込みます。下のパネルでは、同一の条件で一カ月間を比較し、知名度の高い銘柄を並べています。

クエリアット・ザ・マネー近辺のIV中央値、満期まで20〜45日(2026年6月)
各数値の背後にある正確なSQL
SELECT
    underlying_symbol                                              AS symbol,
    round(100 * quantileDeterministic(0.50)(iv, contract_hash), 1) AS median_iv_pct,
    count()                                                        AS contract_day_count
FROM
(
    SELECT
        underlying_symbol,
        toFloat64(implied_volatility) AS iv,
        cityHash64(ticker)            AS contract_hash
    FROM global_markets.options_greeks
    WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO', 'XOM', 'TLT')
      AND date >= '2026-06-01'
      AND date <  '2026-07-01'
      AND iv_converged = 1
      AND volume > 0
      AND underlying_close > 0
      AND days_to_expiry BETWEEN 20 AND 45
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
)
GROUP BY symbol
ORDER BY median_iv_pct DESC
Run this yourself

2026年6月の20~45日窓では、アット・ザ・マネー近辺のIV中央値は、38.5%のNVDAから10.4%のTLTまでの範囲でした。対象は8銘柄です。期間、条件、算出方法はすべて同じです。このようなランキングは、対象銘柄すべてで同じ算出条件を維持している間に限って有効です。

IV rankとIV percentileでは、データソースが重要ですか?

結論を左右します。IV rankは、通常は一年間などの参照期間におけるIVの最高値と最低値に対して、当日のIVを測定します。IV percentileは、その参照期間のうち、当日のIVを下回った日が全体の何割を占めるかを数えます。いずれも一つの時系列を通して読み取るため、市場に変化がなくても、時系列が変わればスコアは動きます。ブローカーの仲値ベースのIVを、ベンダーの清算値ベースの過去データに接続すると、参照期間の途中に恒常的な段差が生じます。その期間をまたいで算出するすべてのrankが、その段差を引き継ぎます。IV rankとIV percentileでは、両方の計算方法を説明しています。インプライド・ボラティリティと実現変動を比較する場合も、同じ要件が適用されます。historical volatilityとimplied volatilityでは、この組み合わせを取り上げています。

実務上の基準は、データの出所を一貫させることです。一つのソース、一つのモデル、一つの銘柄選定方法、一つの満期の定義を選び、参照期間全体で四つとも固定します。他社のデータと部分的に一致するようつなぎ合わせた時系列よりも、他社と多少異なっていても内部整合性のある時系列の方が有用です。

よくある質問

過去のインプライド・ボラティリティデータはどこで入手できますか?

単一銘柄の長期履歴は、通常、契約ごとの日次終値時点のグリークスを月次または年次ファイルで販売するオプションデータベンダーから入手します。取引所は、指数レベルのボラティリティ履歴を無料で公開しています。証券会社のプラットフォームでは、オプションチェーン上でリアルタイムのIVを確認できますが、ダウンロード可能な過去データはほとんどありません。上のパネルは、上場されているすべての契約を対象に、収束したフィッティングを適用した契約別の日次データセットに基づいています。

無料のインプライド・ボラティリティAPIはありますか?

契約ごとのグリークスを含む無料プランは稀です。利用できる場合も、通常はアーカイブではなく、リアルタイムのスナップショットを返します。指数ボラティリティの履歴が、実質的に無料で利用できる長期系列の中心です。単一銘柄の詳細な長期履歴は、通常、有料サービスです。

同じ銘柄なのに、二つの情報源でインプライド・ボラティリティが異なるのはなぜですか?

価格モデル、入力する気配値、対象とする契約の選択、満期の補間方法が異なるためです。上のパネルは一つの行データセットから三つの30日系列を作成していますが、最初の週だけで0.2%ポイントの差があります。したがって、二つのベンダー間に差があるのは誤りではなく、想定されることです。

インプライド・ボラティリティのデータは、どこまで遡れますか?

情報源によって異なります。どの情報源でも、契約別アーカイブは価格アーカイブより短くなります。このページの基礎となるデータセットは2014-Q2に始まり、それ以降、収束したすべての契約について日次データを収録しています。


ここにある各パネルには、その数値を生成したSQLが付属しています。パネルを一つ開くと、どの契約が数値に組み込まれたかを正確に確認できます。別の銘柄、期間、計算方法で同じ系列を作成する場合は、Strasmore terminalで自然言語により依頼してください。