目前 IV rank 最高的股票
查看目前 IV rank 最高的美國股票與 ETF,依個股自身52週隱含波動率區間評分,並列出 IV percentile 與計算方法。
IV rank 衡量個股的隱含波動率在自身52週區間中的位置,區間低點為0,高點為100。讀數接近高點,表示相較於過去一年各交易日的任何時點,選擇權市場目前對該標的未來波動的定價最高;讀數接近低點,則表示定價最低。下表依最新測量的選擇權交易日(日期為2026-10-15)排列 IV rank 最高的美國股票與 ETF,並列出 IV percentile,因為這兩項數值回答的是同一個問題,只是計算方式不同。
目前 IV rank 最高的股票
| 股票代號 | 目前 IV (%) | IV 排名 | IV 百分位數 | 52週 IV 低點 (%) | 52週 IV 高點 (%) | 交易日期 |
|---|---|---|---|---|---|---|
| VLO | 54.5 | 100 | 99.6 | 27.9 | 54.5 | 2026-10-15 |
| MRK | 36.2 | 94.7 | 97.6 | 15.7 | 37.4 | 2026-10-15 |
| EWZ | 52.2 | 93 | 98.4 | 18.1 | 54.7 | 2026-10-15 |
| KHC | 33.7 | 90.8 | 96.8 | 16.1 | 35.5 | 2026-10-15 |
| ETN | 48.4 | 85.5 | 96.4 | 25.8 | 52.2 | 2026-10-15 |
| KO | 22.8 | 84.6 | 94.8 | 12.5 | 24.7 | 2026-10-15 |
| ABT | 34.5 | 83.6 | 94.8 | 18.6 | 37.6 | 2026-10-15 |
| RIOT | 98 | 83.3 | 84.9 | 40.1 | 109.6 | 2026-10-15 |
| RDDT | 83.7 | 82.6 | 79.4 | 25.6 | 95.9 | 2026-10-15 |
| PBR | 49.8 | 82.4 | 95 | 21.9 | 55.7 | 2026-10-15 |
| SHOP | 70 | 80.9 | 81 | 40.5 | 77 | 2026-10-15 |
| BKNG | 42 | 80.7 | 77.4 | 21.2 | 47 | 2026-10-15 |
| BP | 34.2 | 80.4 | 88.1 | 18.9 | 37.9 | 2026-10-15 |
| WMB | 31.6 | 79.5 | 95 | 18.4 | 35 | 2026-10-15 |
| TEM | 85.5 | 76.2 | 95.2 | 49.9 | 96.6 | 2026-10-15 |
每個數據背後的精確 SQL 語法
WITH per_session AS (
SELECT underlying_symbol AS u,
date AS d,
quantileExact(0.5)(implied_volatility) AS iv,
sum(volume) AS vol
FROM global_markets.options_greeks
WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
AND abs(strike_price / underlying_close - 1) <= 0.05
AND expiration_date BETWEEN date + 20 AND date + 60
AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
GROUP BY u, d
HAVING count() >= 10
),
ranked AS (
SELECT u, d, iv, vol,
row_number() OVER w AS rn,
first_value(iv) OVER w AS iv_latest,
first_value(d) OVER w AS d_latest
FROM per_session
WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
SELECT u,
any(iv_latest) AS iv_cur,
any(d_latest) AS last_d,
count() AS sessions,
min(iv) AS iv_lo,
max(iv) AS iv_hi,
countIf(iv < iv_latest) AS below_now,
sumIf(vol, rn <= 20) AS vol_20d
FROM ranked
WHERE rn <= 252
GROUP BY u
)
SELECT u AS ticker,
round(100 * iv_cur, 1) AS iv_now_pct,
round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) AS iv_rank,
round(100 * below_now / sessions, 1) AS iv_percentile,
round(100 * iv_lo, 1) AS iv_52w_low_pct,
round(100 * iv_hi, 1) AS iv_52w_high_pct,
toString(last_d) AS session_date
FROM agg
WHERE sessions >= 200
AND vol_20d >= 20000
AND iv_hi > iv_lo
AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY iv_rank DESC, vol_20d DESC, ticker
LIMIT 15先看第一列。VLO 收於價平 implied volatility 54.5%,其52週區間介於 27.9% 至 54.5%。因此,其 IV rank 為 100,IV percentile 則為 99.6。
這個尺度在兩端各有明確定義:rank 為100,表示最新交易日的 implied volatility 是觀察區間內的最高值;rank 為0,則表示是最低值。這個數字不代表該股票的絕對波動程度,而是衡量該股票相對於自身歷史區間的位置。
這項區分具有實際意義。在整個篩選股票池的最高 rank 十分位中,當前 implied volatility 介於 33.7% 至 54.5%,中位數為 52.2%。一檔波動平靜、且位於自身低波動區間頂端的股票,與一檔波動劇烈、且位於自身高波動區間頂端的股票,可能取得相同分數。若要查看絕對水準,而非相對位置,implied volatility 最高的股票清單則會依 raw IV 對相同標的進行排名。
IV rank 與 IV percentile
這兩個數字都是將今日的隱含波動率放在相同的52週歷史區間中比較,但計算方式不同。
- IV rank 是以(目前 IV 減去52週低點)除以(52週高點減去低點),並以百分比表示。它只讀取目前數值,以及該期間的兩個極端值。
- IV percentile 是過去252個交易日中,隱含波動率收盤低於今日數值的交易日占比。它會讀取該期間的每一個交易日。
年內某一個劇烈波動的交易日會設定一個上限,並持續影響採區間計算的 rank;以計數為基礎的 percentile 則只把它視為252個觀測值中的一個。下方表格依這項差異的其中一個方向排序:IV percentile 減去 IV rank,差距最大者列在最前。呈現相反型態、亦即 rank 高於 percentile 的標的,屬於另一個篩選結果,不會出現在此處。
| 股票代號 | 目前 IV (%) | IV 排名 | IV 百分位數 | 百分位數減排名 | 52週 IV 高點 (%) |
|---|---|---|---|---|---|
| COP | 35.8 | 29.5 | 91.7 | 62.2 | 66.1 |
| NFLX | 46.9 | 34.2 | 95.6 | 61.4 | 89.9 |
| PLTR | 62.3 | 29 | 83.7 | 54.7 | 112.1 |
| T | 29.1 | 29.3 | 81.7 | 52.4 | 51.1 |
| AMZN | 39.4 | 19.8 | 71.8 | 52 | 99.4 |
| MSFT | 31.6 | 24.5 | 69.8 | 45.3 | 65.8 |
| AAPL | 27 | 21 | 64.3 | 43.3 | 55.9 |
| CVX | 29 | 36 | 78.2 | 42.2 | 50.9 |
| GOOG | 37.1 | 45.6 | 85.3 | 39.7 | 58.2 |
| META | 43.5 | 45.4 | 84.9 | 39.5 | 68.6 |
| DVN | 38.5 | 25.2 | 64.3 | 39.1 | 77.5 |
| CIFR | 120.1 | 41.7 | 80.2 | 38.5 | 181.5 |
每個數據背後的精確 SQL 語法
WITH per_session AS (
SELECT underlying_symbol AS u,
date AS d,
quantileExact(0.5)(implied_volatility) AS iv,
sum(volume) AS vol
FROM global_markets.options_greeks
WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
AND abs(strike_price / underlying_close - 1) <= 0.05
AND expiration_date BETWEEN date + 20 AND date + 60
AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
GROUP BY u, d
HAVING count() >= 10
),
ranked AS (
SELECT u, d, iv, vol,
row_number() OVER w AS rn,
first_value(iv) OVER w AS iv_latest,
first_value(d) OVER w AS d_latest
FROM per_session
WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
SELECT u,
any(iv_latest) AS iv_cur,
any(d_latest) AS last_d,
count() AS sessions,
min(iv) AS iv_lo,
max(iv) AS iv_hi,
countIf(iv < iv_latest) AS below_now,
sumIf(vol, rn <= 20) AS vol_20d
FROM ranked
WHERE rn <= 252
GROUP BY u
),
board AS (
SELECT u,
round(100 * iv_cur, 1) AS iv_now_pct,
round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) AS iv_rank,
round(100 * below_now / sessions, 1) AS iv_percentile,
round(100 * iv_hi, 1) AS iv_52w_high_pct
FROM agg
WHERE sessions >= 200
AND vol_20d >= 20000
AND iv_hi > iv_lo
AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
)
SELECT u AS ticker,
iv_now_pct,
iv_rank,
iv_percentile,
round(iv_percentile - iv_rank, 1) AS percentile_minus_rank,
iv_52w_high_pct
FROM board
ORDER BY percentile_minus_rank DESC, iv_now_pct DESC, ticker
LIMIT 12在這個方向上,差距最大的是 COP:IV percentile 為 91.7,IV rank 為 29.5,同一交易日、同一份資料的差距為 62.2 個百分點。該標的目前隱含波動率為 35.8%,52週高點為 66.1%。Percentile 會計算交易日數,而該標的在這段期間的大多數交易日,波動都低於最新數值。Rank 則衡量目前數值距離極端值的程度,而52週高點仍高於最新讀值。同一份資料,卻得到兩個答案。
兩者都不是唯一正確的數字。Rank 回答的是最新讀值距離極端值有多近。Percentile 回答的則是,最新讀值相對於一般交易日有多不尋常。
高 IV rank 的實際樣貌
| 週 | IV (%) | 52週 IV 高點 (%) | 52週 IV 低點 (%) |
|---|---|---|---|
| 2025-10-13 | 37 | 54.5 | 27.9 |
| 2025-10-20 | 33.4 | 54.5 | 27.9 |
| 2025-10-27 | 34 | 54.5 | 27.9 |
| 2025-11-03 | 33.2 | 54.5 | 27.9 |
| 2025-11-10 | 30.8 | 54.5 | 27.9 |
| 2025-11-17 | 33.5 | 54.5 | 27.9 |
| 2025-11-24 | 32.7 | 54.5 | 27.9 |
| 2025-12-01 | 32 | 54.5 | 27.9 |
| 2025-12-08 | 32.8 | 54.5 | 27.9 |
| 2025-12-15 | 32.6 | 54.5 | 27.9 |
| 2025-12-22 | 30.4 | 54.5 | 27.9 |
| 2025-12-29 | 33.2 | 54.5 | 27.9 |
| 2026-01-05 | 35.8 | 54.5 | 27.9 |
| 2026-01-12 | 35.6 | 54.5 | 27.9 |
| 2026-01-19 | 35.5 | 54.5 | 27.9 |
| 2026-01-26 | 36.3 | 54.5 | 27.9 |
| 2026-02-02 | 36.6 | 54.5 | 27.9 |
| 2026-02-09 | 36.8 | 54.5 | 27.9 |
| 2026-02-16 | 38.2 | 54.5 | 27.9 |
| 2026-02-23 | 38.1 | 54.5 | 27.9 |
每個數據背後的精確 SQL 語法
WITH per_session AS (
SELECT underlying_symbol AS u,
date AS d,
quantileExact(0.5)(implied_volatility) AS iv,
sum(volume) AS vol
FROM global_markets.options_greeks
WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
AND abs(strike_price / underlying_close - 1) <= 0.05
AND expiration_date BETWEEN date + 20 AND date + 60
AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
GROUP BY u, d
HAVING count() >= 10
),
ranked AS (
SELECT u, d, iv, vol,
row_number() OVER w AS rn,
first_value(iv) OVER w AS iv_latest,
first_value(d) OVER w AS d_latest
FROM per_session
WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
SELECT u,
any(iv_latest) AS iv_cur,
any(d_latest) AS last_d,
count() AS sessions,
min(iv) AS iv_lo,
max(iv) AS iv_hi,
sumIf(vol, rn <= 20) AS vol_20d
FROM ranked
WHERE rn <= 252
GROUP BY u
),
leader AS (
SELECT u, iv_lo, iv_hi
FROM agg
WHERE sessions >= 200
AND vol_20d >= 20000
AND iv_hi > iv_lo
AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) DESC, vol_20d DESC, u
LIMIT 1
)
SELECT toString(toMonday(r.d)) AS week,
round(100 * quantileExact(0.5)(r.iv), 1) AS iv_pct,
round(100 * any(l.iv_hi), 1) AS iv_52w_high_pct,
round(100 * any(l.iv_lo), 1) AS iv_52w_low_pct
FROM ranked AS r
INNER JOIN leader AS l ON r.u = l.u
WHERE r.rn <= 252
GROUP BY week
HAVING uniqExact(r.d) >= 3
OR max(r.d) = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY week這是 VLO 的每週走勢。VLO 是該看板排名最高的標的,圖中以水平參考線標示其52週高點與低點。每個繪製點代表該週每日讀值的中位數。因此,這條線依定義會落在每日高低區間內,而不會碰到任一條參考線。觀察區間從 37% 開始,並在持有 52.1% 最新交易日的該週收尾;上限為 54.5%,下限為 27.9%。rank 所評估的單一交易日,是上方看板中 54.5% 的每日讀值。IV rank 就是這幅圖,僅此而已:將最新讀值放在其自身區間的兩端之間,而不論該區間實際位於何處。
走勢形狀與分數同樣重要。一檔標的若上漲數月,或在一週內跳升至相同水準,會得到完全相同的 rank。若要了解高讀值在預定事件後通常會如何變化,請參閱 以實際財報衡量 IV crush。
整體市場的 IV rank 分布
| IV 排名區間 | 名稱 | 累計名稱數 | IV 中位數 (%) | 距最高值的中位數差距 (%) | 最低 IV (%) | 最高 IV (%) |
|---|---|---|---|---|---|---|
| 90-100 | 4 | 4 | 52.2 | 0 | 33.7 | 54.5 |
| 80-90 | 9 | 13 | 48.4 | -3.8 | 22.8 | 98 |
| 70-80 | 24 | 37 | 47.7 | -4.5 | 19.9 | 112.4 |
| 60-70 | 25 | 62 | 44.5 | -7.7 | 8.6 | 117.7 |
| 50-60 | 29 | 91 | 52.4 | 0.2 | 15.1 | 80.5 |
| 40-50 | 45 | 136 | 39.9 | -12.3 | 9 | 120.1 |
| 30-40 | 34 | 170 | 48.4 | -3.8 | 13 | 104.3 |
| 20-30 | 39 | 209 | 40.9 | -11.3 | 6.5 | 92.7 |
| 10-20 | 27 | 236 | 39.8 | -12.4 | 12.5 | 81 |
| 0-10 | 5 | 241 | 38.3 | -13.9 | 34.7 | 56.5 |
每個數據背後的精確 SQL 語法
WITH per_session AS (
SELECT underlying_symbol AS u,
date AS d,
quantileExact(0.5)(implied_volatility) AS iv,
sum(volume) AS vol
FROM global_markets.options_greeks
WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
AND abs(strike_price / underlying_close - 1) <= 0.05
AND expiration_date BETWEEN date + 20 AND date + 60
AND underlying_symbol NOT IN ('SPCX','KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT','AMDL','NUAI','VXX','VIXY')
GROUP BY u, d
HAVING count() >= 10
),
ranked AS (
SELECT u, d, iv, vol,
row_number() OVER w AS rn,
first_value(iv) OVER w AS iv_latest,
first_value(d) OVER w AS d_latest
FROM per_session
WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
SELECT u,
any(iv_latest) AS iv_cur,
any(d_latest) AS last_d,
count() AS sessions,
min(iv) AS iv_lo,
max(iv) AS iv_hi,
sumIf(vol, rn <= 20) AS vol_20d
FROM ranked
WHERE rn <= 252
GROUP BY u
),
screened AS (
SELECT least(intDiv(toUInt16(floor(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo))), 10), 9) AS b,
100 * iv_cur AS iv_now_pct
FROM agg
WHERE sessions >= 200
AND vol_20d >= 20000
AND iv_hi > iv_lo
AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
),
buckets AS (
SELECT b,
count() AS names,
round(quantileExact(0.5)(iv_now_pct), 1) AS median_iv_pct,
round(min(iv_now_pct), 1) AS lowest_iv_pct,
round(max(iv_now_pct), 1) AS highest_iv_pct
FROM screened
GROUP BY b
)
SELECT concat(toString(b * 10), '-', toString(b * 10 + 10)) AS iv_rank_bucket,
names,
sum(names) OVER (ORDER BY b DESC) AS names_cumulative,
median_iv_pct,
round(median_iv_pct - first_value(median_iv_pct) OVER (ORDER BY b DESC), 1) AS median_gap_to_top_pct,
lowest_iv_pct,
highest_iv_pct
FROM buckets
ORDER BY b DESC本交易時段共有 241 檔股票通過流動性與歷史資料門檻。依 rank 分成十個分位帶後,其中 4 檔位於 90-100 區間,另有 5 檔位於另一端的 0-10 區間。最高分位帶的當前隱含波動率中位數為 52.2%,最低 0-10 分位帶則為 38.3%;gap 欄位以最高分位帶的中位數為基準,衡量各分位帶的差距。這兩欄不會同步變動。rank 是將每檔股票放在自身52週區間中比較,因此低 rank 股票組成的分位帶,其隱含波動率中位數可能高於最高分位帶。僅包含少數股票的分位帶,其中位數也較容易受到雜訊影響。請將 gap 欄位解讀為水準比較,而非波動率排名。
分布情況是解讀單一數值所需的背景。除非先了解當時有多少其他股票同樣處於該位置,否則看似偏高的 rank 本身意義有限。
市場多數人關注標的的 IV rank
| 股票代號 | 目前 IV (%) | IV 排名 | IV 百分位數 | 52週 IV 低點 (%) | 52週 IV 高點 (%) | 交易日期 |
|---|---|---|---|---|---|---|
| COIN | 72.3 | 52.3 | 72.2 | 49.1 | 93.5 | 2026-10-15 |
| AMD | 60.2 | 46.1 | 60.7 | 28.9 | 96.9 | 2026-10-15 |
| META | 43.5 | 45.4 | 84.9 | 22.6 | 68.6 | 2026-10-15 |
| QQQ | 20.4 | 45.3 | 40.9 | 13.3 | 29 | 2026-10-15 |
| PLTR | 62.3 | 29 | 83.7 | 42.1 | 112.1 | 2026-10-15 |
| MSTR | 70.1 | 25.6 | 38.1 | 50.2 | 127.6 | 2026-10-15 |
| TSLA | 45.2 | 25.6 | 42.5 | 37 | 69.4 | 2026-10-15 |
| MSFT | 31.6 | 24.5 | 69.8 | 20.5 | 65.8 | 2026-10-15 |
| NVDA | 36.8 | 22.5 | 23.8 | 29.6 | 61.7 | 2026-10-15 |
| AAPL | 27 | 21 | 64.3 | 19.3 | 55.9 | 2026-10-15 |
| SPY | 13.7 | 20.3 | 25 | 10.6 | 25.9 | 2026-10-15 |
| AMZN | 39.4 | 19.8 | 71.8 | 24.6 | 99.4 | 2026-10-15 |
每個數據背後的精確 SQL 語法
WITH per_session AS (
SELECT underlying_symbol AS u,
date AS d,
quantileExact(0.5)(implied_volatility) AS iv
FROM global_markets.options_greeks
WHERE date >= (SELECT max(date) FROM global_markets.options_greeks) - 380
AND underlying_symbol IN ('SPY','QQQ','AAPL','MSFT','AMZN','META','NVDA','AMD','TSLA','COIN','MSTR','PLTR')
AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
AND abs(strike_price / underlying_close - 1) <= 0.05
AND expiration_date BETWEEN date + 20 AND date + 60
GROUP BY u, d
HAVING count() >= 10
),
ranked AS (
SELECT u, d, iv,
row_number() OVER w AS rn,
first_value(iv) OVER w AS iv_latest,
first_value(d) OVER w AS d_latest
FROM per_session
WINDOW w AS (PARTITION BY u ORDER BY d DESC)
),
agg AS (
SELECT u,
any(iv_latest) AS iv_cur,
any(d_latest) AS last_d,
count() AS sessions,
min(iv) AS iv_lo,
max(iv) AS iv_hi,
countIf(iv < iv_latest) AS below_now
FROM ranked
WHERE rn <= 252
GROUP BY u
)
SELECT u AS ticker,
round(100 * iv_cur, 1) AS iv_now_pct,
round(100 * (iv_cur - iv_lo) / (iv_hi - iv_lo), 1) AS iv_rank,
round(100 * below_now / sessions, 1) AS iv_percentile,
round(100 * iv_lo, 1) AS iv_52w_low_pct,
round(100 * iv_hi, 1) AS iv_52w_high_pct,
toString(last_d) AS session_date
FROM agg
WHERE sessions >= 200
AND iv_hi > iv_lo
AND last_d = (SELECT max(date) FROM global_markets.options_greeks)
ORDER BY iv_rank DESC, ticker這項指標套用於 12 檔廣泛持有的 ticker。COIN 目前的 implied volatility 為 72.3%,在這組標的中擁有最高的 IV rank,達 52.3。列表另一端則是 AMZN,其 implied volatility 為 39.4%,rank 為 19.8。請注意,同一列中的 rank 與 percentile 欄位可能相距甚遠;這正是 divergence panel 所衡量的區間與計數之間的算術關係。
這些標的各自都有獨立的 IV 頁面:NVDA implied volatility、TSLA implied volatility、AAPL implied volatility 與 AMD implied volatility 均提供完整的交易時段歷史資料與期限結構。若要了解本頁每項評分背後的概念,請先閱讀 什麼是 implied volatility。
衡量方式
這裡的所有數字都來自同一個來源:每日 options greeks 檔案。該檔案按每個交易時段、每份合約儲存一筆資料,涵蓋美國上市股票與 ETF options。
- 每個標的、每個交易時段各有一個 IV。 這是該標的近價合約的隱含波動率中位數。近價的定義是履約價在收盤股價上下 5% 以內,且距到期日 20 至 60 個日曆日。採用中位數而非平均數,因此單一錯誤定價的合約不會扭曲讀值。
- 只有至少 10 份合約符合篩選條件的交易時段才會納入。 交易清淡的時段會排除,不予發布。
- 只納入計算收斂的結果。 隱含波動率是根據選擇權價格反推出來,檔案也會標示計算是否收斂。未收斂的資料列會排除,低於 2% 或高於 500% 的讀值也會排除。未收斂的計算是數值計算失敗,不是市場價格。
- 觀察區間是回溯 380 個日曆日內、該標的可取得的最近 252 個交易時段。 標的至少要有 200 個已測量交易時段,才會出現在本頁任何位置。
- IV rank 的計算方式是:(目前值 − 區間最低值)÷(區間最高值 − 區間最低值)× 100。IV percentile 則是區間內隱含波動率嚴格低於目前交易時段的交易時段數,除以交易時段總數。
- 流動性門檻。 標的在最近 20 個已測量交易時段內,累計至少須有 20,000 份選擇權合約成交,才能進入篩選母體。知名標的面板採用交易時段門檻、歷史資料門檻及相同的最新交易時段篩選條件,但不採用成交量門檻,因為其中 12 個 ticker 是明確指定,而非經篩選產生。
- 槓桿型、反向型及波動率期貨基金會依明確清單排除。 追蹤指數、目標變動幅度為三倍的基金,按設計就具有約三倍的隱含波動率,會擠出真正的個別標的。持有 VIX futures 而非股票的產品也列在同一份清單中,因為其隱含波動率反映的是期貨曲線,而非企業本身。
- 每週路徑面板繪製的是中位數,而非單一交易時段。 每個資料點都是該週排名最高標的每日讀值的中位數,因此繪製的線按定義會落在每日高低區間內。測量交易時段少於三個的週次會排除,但最新交易時段所在的週次例外:即使該週只有一天,也一定會繪製。
- 檔案不包含的資料。 當日到期(0DTE)合約及現金結算的指數選擇權不在此資料集內,因此 0DTE 波動率飆升不會反映在這些數字中。SPY 和 QQQ 會以一般 ETF 納入。這個資料倉儲也完全沒有未平倉量欄位,因此上述所有流動性門檻都採用成交合約量,而非未平倉量。
- 日期標記代表實際交易時段。 greeks 檔案的資料結算時間比股票市場行情落後數個交易時段,因此每個面板都會標示所採用交易時段的日期,且每個面板的每一列資料都來自該同一交易時段。每週路徑面板是刻意的例外:它會在排名最高的標的背後繪製一年的歷史資料。這些不是即時報價。
常見問題
什麼是 IV rank?
IV rank 用來評估股票目前的隱含波動率在自身52週區間中的位置。最低點為0,最高點為100。計算方式是以目前 IV 減去52週低點,再除以52週高點與低點的差額。這項指標是將個股與自身歷史比較,而不是與其他股票比較。因此,兩檔波動率差異很大的股票,也可能具有相同的 rank。
販售選擇權時,多少 IV rank 才算理想?
沒有任何 rank 能保證賣出選擇權一定正確,本頁也未提供這類標準。高 rank 表示選擇權權利金接近該個股過去一年的高位;低 rank 則表示接近低位。賣方通常偏好較高的數值,買方則偏好較低的數值。但雙方都承擔一項風險:股票實際走勢可能不同於選擇權價格所反映的預期走勢。
IV rank 與 IV percentile 有何不同?
IV rank 只使用當日隱含波動率,以及52週區間的兩個極值。IV percentile 則計算過去252個交易日中,收盤隱含波動率低於今日數值的天數比例。單一極端交易日可能拉大區間,並壓低 rank,卻幾乎不會改變 percentile。因此,對同一檔股票而言,兩者可能相差數十個百分點,如上方面板所示。
哪裡可以免費查詢 IV rank?
本頁提供免費的 IV rank 查詢工具。資料會依排程,根據完整的美國選擇權交易資料更新,並公開每個儲存格背後的完整 SQL。個股均設有固定頁面;波動率偏斜頁面則說明同一到期日中,隱含波動率如何隨履約價變化。
本頁的每個面板都儲存自己的查詢。開啟任一面板,即可逐步稽核完整測量流程;也可以在 Strasmore terminal 上,針對任何期間與任何投資標的範圍執行相同的 IV rank 篩選。