Strasmore Research
學習 Matt Connor作者: Matt Connor · 更新於 2026-08-31 · data as of August 31, 2026 · refreshed weekly

隱含波動率與 beta 有何不同?各自代表什麼

隱含波動率是選擇權市場對未來總波動的預估,beta則是相對指數的歷史斜率。比較十檔股票,掌握兩項指標各自適用的投資情境。

隱含波動率與 beta 是比較同一檔股票的兩個數值,但兩者回答的是不同問題。隱含波動率是選擇權市場對未來特定期間內股票總波動幅度的預估,無論股價上漲或下跌都納入其中。beta 則是根據歷史資料進行迴歸分析所得的斜率,僅反映指數可以解釋的股票過往波動部分。股票可能在其中一項指標上顯示高值、另一項顯示低值,而兩項讀數仍可同時正確。

Beta 實際衡量的是什麼

Beta 是將兩組報酬率序列,也就是個股與指數的報酬率,進行線性迴歸後得到的斜率。以公式表示,即為 beta = covariance(stock returns, index returns) / variance(index returns)。Beta 為 1.30,表示在所測量的期間內,指數每變動 1%,個股平均約變動 1.3%。Beta 為 0.40,則表示個股的變動幅度約為指數的四成。

任何公布的 beta,在被引用前都涉及四項選擇:個股要對哪一個指數進行迴歸、觀察期間多長、報酬率以多高頻率取樣,以及報酬率是否包含股息。只要改變其中一項,數值就會改變。沒有標示觀察期間的 beta,是缺乏定義的數字;不同資料提供商對同一檔股票給出不同數值,並不代表其中一方錯誤。

與 beta 一同使用的統計量是 R-squared,表示指數能解釋個股報酬變異的比例,範圍為 0 至 1。Beta 給出斜率;R-squared 則說明這條迴歸線是否具有解釋力。Beta 為 1.40、R-squared 為 0.65,表示個股大致跟隨指數,但波動幅度更大。若 beta 同樣為 1.40、R-squared 僅為 0.10,則表示個股主要自行波動,只在此基礎上帶有微弱的指數傾向。只有前一種情況,才代表該個股會被指數避險策略緊密追蹤。

隱含波動率衡量什麼

隱含波動率(IV)是使選擇權定價模型計算出的價格,等於該選擇權目前市場交易價格的波動率數值。它以年化標準差報價。IV 為 30% 時,代表模型大致反映未來一年約 30% 的一個標準差變動;由於波動率按時間平方根縮放,未來 30 天的幅度約為 8.6%。我們的指南介紹隱含波動率說明其計算機制;隱含波動率與歷史波動率的比較則介紹這項前瞻性數值,如何與股票實際走勢相對照。

真正重要的差異,在於兩者各自計算的內容不同。IV 將所有可能造成價格變動的因素納入單一數值,包括整體指數下跌、臨床試驗結果、財測調整及收購要約。Beta 只計算與指數同步的那部分變動。R-squared 未涵蓋的所有變動,對 Beta 而言都是不可見因素,但都會完整反映在 IV 中。

隱含波動率與十檔家喻戶曉股票的 beta

下圖以截至2026年8月21日止的12個月資料,將十檔流動性高的股票對 SPY(S&P 500 ETF)進行迴歸分析。相同的迴歸模型執行兩次:一次使用每日收盤報酬率,另一次則使用同一期間的每週報酬率。

查詢相對 SPY 的 Beta 與 R-squared:每日報酬率與每週報酬率比較,截至2026年8月21日的12個月
代號日β值週β值R平方報酬筆數
COIN2.832.50.28250
TSLA2.231.920.38250
NVDA1.881.660.43250
MSFT0.941.580.14250
AAPL0.710.830.13250
GLD0.70.760.1250
TLT0.170.120.05250
JNJ-0.2-0.520.02250
KO-0.27-0.040.03250
XOM-0.51-0.930.07250
每個數據背後的精確 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 個配對交易日計算。這組股票中,日頻 beta 最高的是 COIN,數值為 2.83,R-squared 為 0.28。最低的是 XOM,數值為 -0.51;其 R-squared 為 0.07,這才是該處需要關注的數字:在這段期間內,指數僅能解釋該股票價格變動中的一小部分,因此這個斜率幾乎無法說明該部位的實際表現。

接著比較兩個 beta 欄位。即使使用相同的12個月期間、相同的指數,將取樣頻率從每日改為每週,也足以改變斜率。COIN 的每週報酬率 beta 為 2.5,日報酬率 beta 則為 2.83。兩者都沒有錯,只是回答的問題略有不同。

同一批標的的選擇權市場收取多少權利金

Beta 來自過去的價格。本表則反映交易員目前支付的價格:以接近平值、距到期日20至45天的合約為樣本,計算截至Aug 19、2026年止三週期間的平均值。SPY 在此列作指數參考。它未出現在 beta 表中,是因為計算方式所致:以自身迴歸自身時,其 beta 為1.00,R-squared 為1.00。

查詢接近平值的隱含波動率,到期前20至45天,截至2026年8月21日前三週
代號IV(%)30天預期波動(%)合約數IV截至
COIN65.518.8598Aug 19
TSLA4111.7653Aug 19
NVDA40.311.6437Aug 19
XOM28.28.1463Aug 19
MSFT27.88922Aug 19
AAPL24.87.1599Aug 19
GLD22.96.62780Aug 19
JNJ22.86.5332Aug 19
KO18.65.3574Aug 19
SPY13.53.97451Aug 19
TLT11.73.41305Aug 19
每個數據背後的精確 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.5%,代表市場定價預期其30天內的單一標準差變動幅度約為18.8%。最低的是TLT,為11.7%。本表依預期總波動幅度排列各標的。由COIN領先的 beta 表,則依指數可解釋的波動幅度排序。這11個標的中有兩檔是 ETF,一檔持有黃金,另一檔持有長天期美國國債。兩者都不是股票指數部位,因此以股票指數計算 beta,對這兩檔而言都是不適用的工具。

動能 beta 看不見的波動

以下將這個差距具體化。先找出 SPY 幾乎沒有變動的交易日,也就是收盤至收盤的絕對報酬率低於 0.25% 的交易日,再計算十檔股票在完全相同日期的表現。若 beta 能解釋全部情況,指數持平時,個股也應該持平。

查詢SPY 漲跌幅低於0.25%的交易日之平均絕對日變動
代號指數持平時波動(%)完整樣本波動(%)指數持平筆數
COIN3.093.369
TSLA1.752.2769
NVDA1.321.8269
MSFT1.221.3569
XOM1.161.2469
GLD1.061.369
AAPL1.031.1369
KO0.980.8869
JNJ0.840.9169
TLT0.450.4869
每個數據背後的精確 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
自己執行這個查詢

在相同的十二個月期間,共有 69 個指數近乎持平的交易日。在這些交易日,COIN 的平均絕對波動為 3.09%,而完整樣本期間的平均值為 3.3%。其中,這十檔股票在這些交易日波動最小的是 TLT,平均為 0.45%。beta 無法解釋該欄中的任何波動,但選擇權賣方會為這些波動報價。

Beta 是估計值,也會隨時間變動

Beta 並不是股票固有的屬性,不像股數那樣固定。它是根據一段期間計算出的統計值,並會隨著觀察期間向前滾動而變動。下方圖表在每月初重新估算 NVDA 相對 SPY 的 beta;每個資料點都以此前12個月的每日報酬計算。

查詢NVDA 相對 SPY 的 Beta:以滾動12個月期間每月重新估計
48 rows (showing 20)
月份月份標籤1年滾動β值R平方
2022-09Sep 20222.320.65
2022-10Oct 20222.260.64
2022-11Nov 20222.210.65
2022-12Dec 20222.220.71
2023-01Jan 20232.190.71
2023-02Feb 20232.190.7
2023-03Mar 20232.170.65
2023-04Apr 20232.080.63
2023-05May 20232.040.62
2023-06Jun 20232.060.51
2023-07Jul 20232.050.47
2023-08Aug 20232.080.46
2023-09Sep 20232.030.43
2023-10Oct 20232.110.43
2023-11Nov 20232.180.4
2023-12Dec 20232.050.33
2024-01Jan 202420.3
2024-02Feb 20241.950.28
2024-03Mar 20242.020.29
2024-04Apr 20242.220.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-squared 為 0.44。同一檔股票、同一個指數、同一套方法,觀察期間不同,結果也會不同。若根據過時期間的 beta 設計避險部位,實際上是根據資料早已超越的數值配置避險。

Implied volatility 也以另一種形式帶來相同警示。它是每個交易日都會變動的即時價格,通常應與自身的歷史水準比較,而不是單獨解讀。30% 的 IV 算高嗎?將進一步說明這種比較方式。

哪個數字對應哪項工作

Beta 用來回答指數相關問題。某個投資組合承擔多少 S&P 500 曝險?需要多大規模的指數部位才能抵銷這項曝險?這就是 beta weighting,而 為投資組合進行 beta weighting 說明其中的計算方式。Beta 也能揭示投資組合中多個標的共同暴露於同一市場因子的情況;集中度風險 則從另一個角度衡量這種情況。

Implied volatility 用來回答固定期間內的單一標的問題。市場對這檔股票未來30天的價格波動收取多少代價?相較於該股票自身的歷史水準,這個價格偏高還是偏低?這兩個問題都不涉及指數。

兩者都不能預測方向。Beta 描述的是已經發生的共同變動。IV 是衡量波動幅度的價格,不帶方向。Beta 為 1.8、IV 為 25 percent 的股票,以及 beta 為 0.2、IV 為 80 percent 的股票,都屬於正常情況。兩者承擔的是不同類型的風險,而衡量工具也各自針對不同用途設計。

常見問答

股票可以同時具有高 implied volatility 與低 beta 嗎?

可以,而且很常見。Beta 只計算與指數同步的波動;implied volatility 則反映所有波動,包括指數完全無法反映的個別公司事件。若一檔股票正等待某項結果非黑即白的公告,即使其相對廣泛指數的迴歸斜率接近零,仍可能具有非常高的 IV。

Beta 是風險的衡量指標嗎?

Beta 衡量的是一種風險:股票對選定指數在特定歷史期間內的敏感度。它不反映公司特有風險,也不反映該期間以外的任何因素。兩檔 beta 相同的股票,其總波動度可能完全不同。

R-squared 能告訴你哪些 beta 無法反映的資訊?

R-squared 代表指數能解釋股票報酬變異的比例,數值介於 0 與 1 之間。R-squared 偏低表示迴歸線的配適度不佳,因此與其一併計算出的 beta,只是穿過分散點群的斜率,並不能充分描述股票的行為。

Implied volatility 能預測股票將往哪個方向變動嗎?

不能。IV 只表示波動幅度,不包含方向。IV 為 40 percent,代表市場定價一年期 one standard deviation 的變動幅度為 40 percent,但上漲或下跌均無偏向;股票實際變動可能遠高於或低於該價格所隱含的幅度。

Beta 使用哪一段期間與哪種報酬頻率計算?

沒有單一標準。常見做法包括使用一年期每日報酬,或五年期每月報酬;上方第一個面板也顯示,在完全相同的一年期間內,採用每日或每週資料會得到不同斜率。只有以相同方法計算的 beta 彼此才具可比性。

這些數字的計算方式
  • Beta 與 R-squared:使用各標的與 SPY 在截至2026年8月21日的十二個月內之每日及每週收盤報酬。Beta 為兩組報酬序列的共變異數除以 SPY 報酬的變異數;R-squared 則為兩者相關係數的平方。
  • Implied volatility:使用距到期日 20 至 45 天、履約價在標的收盤價上下 5 percent 以內的契約,僅納入收斂求解結果及當日有成交的契約。數值取截至 Aug 19 的三週平均。
  • 近乎持平的指數交易日:在相同十二個月期間內,SPY 收盤至收盤報酬絕對值低於 0.25 percent 的交易日。
  • Rolling beta:以 SPY 為基準,從每月初重新估算 NVDA 的 beta;每次使用前十二個月的每日報酬,涵蓋 48 個月度資料點。

上方每個面板都附有產生圖表的 SQL,因此資料期間與篩選條件位於各圖表下方,點擊一次即可查看。若要衡量你所關注標的的 beta 或 implied volatility,可在 Strasmore terminal 以日常語言提出要求。

#implied volatility#beta#risk metrics#options#portfolio