Implied volatilityとbetaの違いと見方
Implied volatilityはオプション市場の将来の総変動予想、betaは指数に対する過去の傾きです。10銘柄で数値の違いを測定します。
Implied volatilityとbetaの比較は、同じ株式について異なる問いに答える二つの数値を比べるものです。Implied volatilityは、オプション市場が予想する将来の値動きの大きさです。定められた期間に株価が上下どちらの方向へ、合計でどの程度動くかを示します。Betaは過去の回帰分析に基づく傾きです。株価の過去の値動きのうち、指数で説明できる部分だけを捉えます。一方が高く、もう一方が低い株式もあります。二つの数値が同時に正しいこともあります。
ベータが実際に測定するもの
ベータは、株式と指数という二つのリターン系列に当てはめた直線の傾きです。数式で表すと、beta = covariance(stock returns, index returns) / variance(index returns)です。ベータが1.30の場合、測定期間中、指数が1%動くごとに、その株式は平均で約1.3%動いたことを示します。ベータが0.40の場合、指数の動きの約4割に相当する値動きだったことを示します。
公表されたベータには、誰かが引用する前に四つの選択が組み込まれています。株式をどの指数に対して回帰するか、測定期間をどれだけ取るか、リターンをどの頻度で計測するか、そして配当をリターンに含めるかです。いずれか一つを変えるだけで、数値は変わります。測定期間を伴わないベータは、条件の明示されていない数値です。同じ株式について二つのデータ提供会社が異なる数値を示していても、双方が正しい場合があります。
ベータとともに示される統計値がR-squaredです。これは、0から1の尺度で、株式のリターンの分散のうち指数で説明できる割合を示します。ベータは傾きを示します。R-squaredは、その直線を引く意味があるかを示します。ベータが1.40でR-squaredが0.65の場合、その株式はおおむね指数に連動しながら、値動きの振幅が大きいことを示します。同じベータ1.40でも、R-squaredが0.10の場合、その株式は独自に動き、その上に指数との弱い連動傾向があることを示します。指数を使ったヘッジが近い精度で追随できる株式を示すのは、前者だけです。
インプライド・ボラティリティが示すもの
インプライド・ボラティリティ(IV)は、オプション価格モデルが現在の市場価格を算出するために必要なボラティリティの数値です。年率換算の標準偏差で示します。IVが30%の場合、1年間ではおおむね30%の1標準偏差の値動きを、今後30日間では約8.6%の値動きを織り込むことになります。ボラティリティは時間の平方根に比例して変化するためです。インプライド・ボラティリティとは何かでは仕組みを解説し、インプライド・ボラティリティとヒストリカル・ボラティリティの違いでは、将来を示す数値と実際の株価の値動きを比較しています。
重要なのは、それぞれの数値が何を捉えているかの違いです。IVは、指数全体の下落、治験結果、業績見通しの変更、買収提案など、値動きのあらゆる要因を一つの数値に織り込みます。これに対し、ベータが捉えるのは、指数と連動して生じた値動きの割合だけです。R二乗が説明しない部分は、ベータには表れませんが、IVにはすべて織り込まれています。
代表的な十銘柄のインプライド・ボラティリティとベータ
以下のパネルでは、流動性の高い十銘柄について、250を起点とする十二カ月間(2026年8月21日終了)に、SPY(S&P 500 ETF)に対する回帰分析を行っている。同じ回帰を二通り実施した。一つは日次終値リターン、もう一つは同じ期間の週次リターンを用いた分析である。
| シンボル | 日次ベータ | 週次ベータ | R二乗 | リターン件数 |
|---|---|---|---|---|
| COIN | 2.83 | 2.5 | 0.28 | 250 |
| TSLA | 2.23 | 1.92 | 0.38 | 250 |
| NVDA | 1.88 | 1.66 | 0.43 | 250 |
| MSFT | 0.94 | 1.58 | 0.14 | 250 |
| AAPL | 0.71 | 0.83 | 0.13 | 250 |
| GLD | 0.7 | 0.76 | 0.1 | 250 |
| TLT | 0.17 | 0.12 | 0.05 | 250 |
| JNJ | -0.2 | -0.52 | 0.02 | 250 |
| KO | -0.27 | -0.04 | 0.03 | 250 |
| XOM | -0.51 | -0.93 | 0.07 | 250 |
各数値の背後にある正確なSQL
WITH
px AS
(
SELECT
ticker,
date,
toFloat64(close) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY','AAPL','MSFT','NVDA','TSLA','COIN','KO','JNJ','XOM','GLD','TLT')
AND date >= '2025-08-22'
AND date <= '2026-08-21'
),
daily_ret AS
(
SELECT
ticker,
date,
close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
FROM px
),
weekly_px AS
(
SELECT
ticker,
toMonday(date) AS week_start,
argMax(close_px, date) AS week_close
FROM px
GROUP BY ticker, week_start
),
weekly_ret AS
(
SELECT
ticker,
week_start,
week_close / lagInFrame(week_close) OVER (PARTITION BY ticker ORDER BY week_start ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
FROM weekly_px
),
daily_beta AS
(
SELECT
s.ticker AS symbol,
round(covarSamp(s.ret, i.ret) / varSamp(i.ret), 2) AS beta_daily,
round(pow(corr(s.ret, i.ret), 2), 2) AS r_squared,
count() AS return_count
FROM daily_ret AS s
INNER JOIN
(
SELECT date, ret FROM daily_ret WHERE ticker = 'SPY' AND isFinite(ret)
) AS i ON i.date = s.date
WHERE s.ticker != 'SPY' AND isFinite(s.ret)
GROUP BY symbol
),
weekly_beta AS
(
SELECT
s.ticker AS symbol,
round(covarSamp(s.ret, i.ret) / varSamp(i.ret), 2) AS beta_weekly
FROM weekly_ret AS s
INNER JOIN
(
SELECT week_start, ret FROM weekly_ret WHERE ticker = 'SPY' AND isFinite(ret)
) AS i ON i.week_start = s.week_start
WHERE s.ticker != 'SPY' AND isFinite(s.ret)
GROUP BY symbol
)
SELECT
d.symbol AS symbol,
d.beta_daily AS beta_daily,
w.beta_weekly AS beta_weekly,
d.r_squared AS r_squared,
d.return_count AS return_count
FROM daily_beta AS d
INNER JOIN weekly_beta AS w ON w.symbol = d.symbol
ORDER BY beta_daily DESC各日次回帰の傾きは、250組のセッションに基づく。対象銘柄のうち日次ベータが最も高いのはCOINで、ベータは2.83、R二乗は0.28だった。最も低いのはXOMで、ベータは-0.51。この銘柄ではR二乗の0.07という数値が重要になる。この期間、指数がその銘柄の値動きを説明した割合は小さく、傾きだけではポジションの動きをほとんど説明できないためだ。
次に、二つのベータ列を比較してみよう。同じ十二カ月間、同じ指数を対象にしていても、日次ではなく週次で観測すると傾きは変わる。COINの週次リターンに基づくベータは2.5で、日次では2.83となる。どちらが間違いというわけではない。両者は、わずかに異なる問いに答えている。
同じ銘柄についてオプション市場が織り込む水準
ベータは過去の価格から算出する。一方、このパネルは現在トレーダーが支払っている価格から算出する。対象は満期まで20~45日のニア・ザ・マネー契約で、Aug 21、2026年までの3週間について平均した。ここでは指数の基準としてSPYを加えている。ベータのパネルにSPYがないのは機械的な理由による。SPY自身に対して回帰すれば、ベータは1.00、R二乗は1.00になるためだ。
| シンボル | IV (%) | 30日予想変動率 (%) | 契約件数 | IV終値 |
|---|---|---|---|---|
| COIN | 65.9 | 18.9 | 684 | Aug 21 |
| TSLA | 41 | 11.7 | 765 | Aug 21 |
| NVDA | 40.3 | 11.6 | 509 | Aug 21 |
| XOM | 28.2 | 8.1 | 533 | Aug 21 |
| MSFT | 27.6 | 7.9 | 1076 | Aug 21 |
| AAPL | 24.7 | 7.1 | 701 | Aug 21 |
| GLD | 23.3 | 6.7 | 3355 | Aug 21 |
| JNJ | 22.7 | 6.5 | 389 | Aug 21 |
| KO | 18.6 | 5.3 | 684 | Aug 21 |
| SPY | 13.5 | 3.9 | 8685 | Aug 21 |
| TLT | 11.7 | 3.3 | 1528 | Aug 21 |
各数値の背後にある正確なSQL
SELECT
underlying_symbol AS symbol,
round(avg(toFloat64(implied_volatility)) * 100, 1) AS iv_pct,
round(avg(toFloat64(implied_volatility)) * 100 * sqrt(30.0 / 365.0), 1) AS expected_move_30d_pct,
count() AS contract_count,
formatDateTime(max(date), '%b %e') AS iv_through
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY','AAPL','MSFT','NVDA','TSLA','COIN','KO','JNJ','XOM','GLD','TLT')
AND date >= '2026-08-03'
AND date <= '2026-08-21'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND underlying_close > 0
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY symbol
HAVING contract_count >= 25
ORDER BY iv_pct DESCこのグループでインプライド・ボラティリティが最も高いのはCOINで、65.9%となる。これは30日間で約18.9%の1標準偏差の値動きを織り込んでいる。最も低いのはTLTで、11.7%となる。このパネルは、予想される値動きの総幅で銘柄を順位付けしている。一方、COINを筆頭とするベータのパネルは、指数が説明する値動きで順位付けしている。11銘柄のうち2銘柄はETFで、1つは金、もう1つは長期米国債を保有する。いずれも株価指数への投資ではないため、株価指数に対するベータは両者に適した指標ではない。
ベータでは捉えられない値動き
この乖離を具体的に見てみます。SPYの値動きがほとんどなかったセッション、つまり終値ベースの前日比絶対リターンが0.25%未満だった日を抽出し、その同じ日に10銘柄がそれぞれどのように動いたかを測定します。ベータがすべてを説明するなら、指数が横ばいの日には個別株も横ばいになるはずです。
| シンボル | 指数横ばい時の変動率 (%) | 全サンプルの変動率 (%) | 指数横ばい件数 |
|---|---|---|---|
| COIN | 3.09 | 3.3 | 69 |
| TSLA | 1.75 | 2.27 | 69 |
| NVDA | 1.32 | 1.82 | 69 |
| MSFT | 1.22 | 1.35 | 69 |
| XOM | 1.16 | 1.24 | 69 |
| GLD | 1.06 | 1.3 | 69 |
| AAPL | 1.03 | 1.13 | 69 |
| KO | 0.98 | 0.88 | 69 |
| JNJ | 0.84 | 0.91 | 69 |
| TLT | 0.45 | 0.48 | 69 |
各数値の背後にある正確なSQL
WITH
px AS
(
SELECT
ticker,
date,
toFloat64(close) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY','AAPL','MSFT','NVDA','TSLA','COIN','KO','JNJ','XOM','GLD','TLT')
AND date >= '2025-08-22'
AND date <= '2026-08-21'
),
daily_ret AS
(
SELECT
ticker,
date,
close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
FROM px
),
idx AS
(
SELECT date, ret AS index_ret
FROM daily_ret
WHERE ticker = 'SPY' AND isFinite(ret)
)
SELECT
s.ticker AS symbol,
round(avgIf(abs(s.ret) * 100, abs(i.index_ret) < 0.0025), 2) AS move_on_flat_index_pct,
round(avg(abs(s.ret) * 100), 2) AS move_full_sample_pct,
countIf(abs(i.index_ret) < 0.0025) AS flat_index_count
FROM daily_ret AS s
INNER JOIN idx AS i ON i.date = s.date
WHERE s.ticker != 'SPY' AND isFinite(s.ret)
GROUP BY symbol
HAVING countIf(abs(i.index_ret) < 0.0025) > 0
ORDER BY move_on_flat_index_pct DESC同じ12カ月間に、このような指数の小動きセッションは69ありました。これらの日にCOINは平均3.09%動きました。全サンプルでは3.3%でした。10銘柄のうち、こうした日に最も値動きが小さかったのはTLTで、平均は0.45%でした。この列に示される値動きは、ベータでは説明できません。しかし、オプション売り手はその値動きに対して価格を提示します。
ベータは推計値であり、推計値は変動する
ベータは、株式数のように銘柄固有の属性ではありません。一定期間のデータから算出される統計値であり、対象期間が前に進むたびに変動します。下図では、各月の初めに、直前十二カ月の日次リターンを使って、NVDAのSPYに対するベータを再推計しています。
| 月 | 月ラベル | 1年ローリングベータ | R二乗 |
|---|---|---|---|
| 2022-09 | Sep 2022 | 2.32 | 0.65 |
| 2022-10 | Oct 2022 | 2.26 | 0.64 |
| 2022-11 | Nov 2022 | 2.21 | 0.65 |
| 2022-12 | Dec 2022 | 2.22 | 0.71 |
| 2023-01 | Jan 2023 | 2.19 | 0.71 |
| 2023-02 | Feb 2023 | 2.19 | 0.7 |
| 2023-03 | Mar 2023 | 2.17 | 0.65 |
| 2023-04 | Apr 2023 | 2.08 | 0.63 |
| 2023-05 | May 2023 | 2.04 | 0.62 |
| 2023-06 | Jun 2023 | 2.06 | 0.51 |
| 2023-07 | Jul 2023 | 2.05 | 0.47 |
| 2023-08 | Aug 2023 | 2.08 | 0.46 |
| 2023-09 | Sep 2023 | 2.03 | 0.43 |
| 2023-10 | Oct 2023 | 2.11 | 0.43 |
| 2023-11 | Nov 2023 | 2.18 | 0.4 |
| 2023-12 | Dec 2023 | 2.05 | 0.33 |
| 2024-01 | Jan 2024 | 2 | 0.3 |
| 2024-02 | Feb 2024 | 1.95 | 0.28 |
| 2024-03 | Mar 2024 | 2.02 | 0.29 |
| 2024-04 | Apr 2024 | 2.22 | 0.29 |
各数値の背後にある正確なSQL
WITH
px AS
(
SELECT
ticker,
date,
toFloat64(close) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY','NVDA')
AND date >= '2021-08-01'
AND date <= '2026-08-21'
),
daily_ret AS
(
SELECT
ticker,
date,
close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1 AS ret
FROM px
),
paired AS
(
SELECT
s.date AS d,
s.ret AS stock_ret,
i.ret AS index_ret
FROM daily_ret AS s
INNER JOIN
(
SELECT date, ret FROM daily_ret WHERE ticker = 'SPY' AND isFinite(ret)
) AS i ON i.date = s.date
WHERE s.ticker = 'NVDA' AND isFinite(s.ret)
),
anchors AS
(
SELECT DISTINCT toStartOfMonth(d) AS anchor
FROM paired
WHERE d >= '2022-09-01'
)
SELECT
formatDateTime(a.anchor, '%Y-%m') AS month,
formatDateTime(a.anchor, '%b %Y') AS month_label,
round(covarSamp(p.stock_ret, p.index_ret) / varSamp(p.index_ret), 2) AS rolling_beta_1y,
round(pow(corr(p.stock_ret, p.index_ret), 2), 2) AS r_squared
FROM anchors AS a, paired AS p
WHERE p.d < a.anchor
AND p.d >= subtractYears(a.anchor, 1)
GROUP BY a.anchor
ORDER BY a.anchorこの線は、48カ月分の推計値を示しています。最初の推計値はSep 2022までの一年間を対象とし、2.32となっています。直近の推計値はAug 2026までを対象とし、1.87、R二乗は0.44です。同じ銘柄、同じ指数、同じ手法でも、対象期間が異なれば結果は変わります。古い期間のベータに基づいてヘッジ規模を決めると、データがすでに変化した後の数値を使うことになります。
インプライド・ボラティリティにも、別の形で同じ注意が必要です。これは各セッションで変動するリアルタイムの価格であり、通常は単独で見るのではなく、自身の過去推移と比較して判断します。IVが30%なら高いのかでは、この比較について解説しています。
どの数値がどの役割を担うのか
ベータは指数に関する問いに答える。あるポートフォリオはS&P 500にどの程度連動しているのか。そのエクスポージャーを相殺するには、どの規模の指数ポジションが必要なのか。これがベータ・ウェイティングであり、ポートフォリオのベータ・ウェイティングではその計算方法を説明している。またベータは、同じ市場ファクターに連動する銘柄群で構成されたポートフォリオのリスクを明らかにする数値でもある。これは、集中リスクが別の側面から測定する状況に当たる。
インプライド・ボラティリティは、一定期間における個別銘柄の問いに答える。今後30日間のこの株式の値動きに対して、市場はいくらを要求しているのか。その価格は、同じ株式の過去の水準と比べて高いのか、低いのか。いずれの問いにも指数は関係しない。
どちらの数値も方向性を予測するものではない。ベータは、すでに起きた連動性を示す。IVは値動きの大きさに対する価格であり、符号なしで表示される。ベータが1.8、IVが25%の株式も、ベータが0.2、IVが80%の株式も、いずれも通常の範囲にある。両者が抱えるリスクの種類は異なり、それぞれ異なる目的に適した指標で測定される。
よくある質問
株価のインプライド・ボラティリティが高く、ベータが低いことはありますか?
はい、よくあります。ベータが捉えるのは指数と連動する値動きだけです。一方、インプライド・ボラティリティは、指数が織り込んでいない単一企業の材料による値動きも含め、すべての値動きを価格に反映します。二者択一の発表を待つ銘柄では、広範な指数に対する回帰傾きがほぼゼロでも、IVが非常に高くなることがあります。
ベータはリスクの指標ですか?
ベータが示すのは、選択した指数に対する、選択した過去期間の感応度という一種類のリスクです。企業固有のリスクや、その期間外の要因は捉えません。ベータが同じ二銘柄でも、全体のボラティリティは大きく異なる可能性があります。
ベータでは分からず、R-squaredで分かることは何ですか?
R-squaredは、銘柄のリターン分散のうち、指数で説明できる割合を0から1の尺度で示します。R-squaredが低い場合、回帰直線の当てはまりは悪くなります。そのため、同時に算出されたベータは、銘柄の値動きの特性を示すというより、散らばった点群を通る傾きにすぎません。
インプライド・ボラティリティは、株価がどちら向きに動くかを予測しますか?
いいえ。IVは方向を伴わない値動きの大きさです。IVが40%なら、1年間の1標準偏差の値動きとして40%を織り込みます。上昇か下落かは問わず、方向に偏りはありません。実際の株価は、IVが示す水準を大きく上回ることも、下回ることもあります。
ベータの算出には、どの期間とリターン頻度を使いますか?
単一の標準はありません。一般的には、日次リターンの1年間から月次リターンの5年間までさまざまです。上の最初のパネルが示すように、同じ1年間でも日次と週次のサンプリングでは傾きが異なります。ベータは、同じ方法で算出された別のベータとのみ比較できます。
これらの数値の測定方法
- ベータとR-squared:Aug 21年8月21日までの12カ月間について、各銘柄とSPYの日次および週次の終値リターンを使用しました。ベータは二つのリターン系列の共分散をSPYのリターンの分散で割って算出し、R-squaredは両者の相関係数の二乗としました。
- インプライド・ボラティリティ:満期まで20~45日で、行使価格が原資産の終値から5%以内にある契約を対象としました。収束した解のみを用い、当日に取引された契約に限定しました。数値はAug 21年までの3週間について平均しています。
- 指数がほぼ横ばいとなったセッション:同じ12カ月間を対象に、SPYの終値から終値までのリターンの絶対値が0.25%未満だったセッションです。
- ローリングベータ:SPYに対するNVDAのベータを、直近12カ月の日次リターンから毎月初めに再推定しました。対象は48カ月分です。
上の各パネルには、作成に使用したSQLが付属しています。そのため、算出期間とフィルター条件を各チャートの下の一クリック先で確認できます。フォローしている銘柄のベータやインプライド・ボラティリティを測定するには、Strasmore terminalで平易な英語で依頼してください。