ההבדל בין IV Rank ל-IV Percentile: נוסחאות וחישוב
השוואה בין IV Rank ל-IV Percentile כולל נוסחאות, דוגמה מספרית לחישוב ידני ומקרה בוחן שבו שני המדדים מציגים פערים משמעותיים עבור אותו Ticker ביום מסחר נתון.
ההבדל בין IV Rank ל-IV Percentile
ההשוואה בין IV Rank לבין IV Percentile מסתכמת בשני חישובים אריתמטיים המבוצעים על אותם נתונים.
מדד ה-IV Rank מודד היכן ממוקמת התנודתיות הגלומה (Implied Volatility) של היום בתוך הטווח השנתי שלה (52 שבועות), מהערך הנמוך ביותר ועד הגבוה ביותר.
מדד ה-IV Percentile סופר את שיעור ימי המסחר בתוך תקופת הבחינה שנסגרו מתחת לערך של היום.
אותו Ticker, באותו אחר-צהריים, יכול לקבל ציון של שמונה-עשר באחד ושבעים בשני.
שתי הנוסחאות, כפי שהן נכתבות
IV rank = (IV נוכחי פחות ה-IV הנמוך ביותר ב-52 השבועות האחרונים) / (ה-IV הגבוה ביותר ב-52 השבועות האחרונים פחות ה-IV הנמוך ביותר ב-52 השבועות האחרונים) כפול 100
IV percentile = (מספר ימי המסחר בחלון הזמן שבהם ה-IV היה נמוך מה-IV של היום) / (סך ימי המסחר בחלון הזמן) כפול 100
שני המדדים נעים בין אפס ל-100. שניהם דורשים את אותם שני נתונים: סדרת נתוני תנודתיות גלומה יומית עבור המניה, וחלון זמן לבחינה לאחור, המקובל בדרך כלל על 252 ימי מסחר. התנודתיות הגלומה עצמה היא הערכה שנתית של שוק האופציות לגבי טווח התנועה הצפוי של המניה, הנגזרת ממחירי אופציות חיים, נושא ש-מה מודדת תנודתיות גלומה מסביר מהיסוד.
מה שמבדיל בין השניים הוא כמות הנתונים מתוך חלון הזמן שכל אחד מהם קורא. IV rank בוחן בדיוק שני ימים מתוך 252: היום הגבוה ביותר והיום הנמוך ביותר. כל מה שקורה ביניהם הוא רק רקע. IV percentile מתייחס לכל יום במידה שווה ולעולם אינו שואל מה היה המרחק בין הקריאות. האחד הוא מיקום בתוך טווח. השני הוא ספירה של ימים.
דוגמה מספרית שניתן לבדוק ידנית
ניקח סדרה דמיונית של עשרה ימי IV, קריאה אחת לכל יום מסחר: 22, 24, 21, 60, 26, 25, 23, 27, 24, והיום 28. השפל הוא 21 והשיא הוא 60.
IV rank: (28 - 21) / (60 - 21) כפול 100 = 7 / 39 כפול 100 = 17.9.
IV percentile: שבע מתוך עשר הקריאות, 22, 24, 21, 26, 25, 23 ו-24, נמצאות מתחת ל-28, מה שנותן 7 / 10 כפול 100 = 70.0.
IV rank של 17.9 מתפרש כתנודתיות זולה. IV percentile של 70 מתפרש כתנודתיות שהייתה נמוכה יותר ברוב הימים בטווח הנמדד. שני התיאורים נכונים עבור אותם עשרה מספרים.
כעת נשנה ערך אחד. נחליף את ה-60 ב-30 ונשאיר את תשע הקריאות האחרות ללא שינוי. ה-IV rank הופך ל-(28 - 21) / (30 - 21) כפול 100 = 77.8. ה-IV percentile אינו משתנה: נותר 70.0. יום מסחר אחד, זה שקבע את השיא, שווה 60 נקודות של IV rank ואינו משפיע כלל על ה-IV percentile.
זוהי נקודת התורפה המבנית של ה-IV rank. זינוק בודד בתוך הטווח, פער מחיר עקב דוח רווחים או בהלת יום אחד, מרחיב את המכנה ודוחק את הדירוג קרוב לרצפה למשך שנים-עשר החודשים הבאים, זמן רב לאחר שהזינוק יצא משרשרת האופציות. כאשר שני המדדים חלוקים בחדות, אי-ההסכמה בדרך כלל מסמנת ערך קיצוני בתוך הטווח, וה-percentile הוא התיאור הנאמן יותר למקום שבו התנודתיות בילתה את רוב זמנה. ה-IV rank הוא מדד טוב יותר כאשר הטווח חלק ושני הקצוות מאוכלסים ביותר מיום מסחר אחד. אף אחד מהמספרים אינו מעיד דבר על כיוון השוק.
כך נראית סדרה אמיתית של IV
להלן חומר הגלם שעליו מבוססות שתי הנוסחאות. הפאנל מטה בונה קריאת implied volatility יומית ב-at the money עבור AAPL מחוזים שנותרו להם בין עשרים לארבעים וחמישה ימים עד לפקיעה, ואשר מחירם נמצא בטווח של חמישה אחוזים ממחיר המניה, ולאחר מכן מבצע ממוצע של קריאות אלו לפי שבוע.
ה-SQL המדויק מאחורי כל מספר
WITH daily AS
(
SELECT
date,
avg(toFloat64(implied_volatility)) * 100 AS atm_iv
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date >= today() - 371
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY date
)
SELECT
toString(toMonday(date)) AS week,
formatDateTime(toMonday(date), '%b %e, %Y') AS week_label,
round(avg(atm_iv), 2) AS aapl_atm_iv_pct,
round(min(atm_iv), 2) AS week_low_iv_pct,
round(max(atm_iv), 2) AS week_high_iv_pct
FROM daily
GROUP BY toMonday(date)
ORDER BY toMonday(date)הסדרה כוללת 54 נקודות שבועיות, החל מהשבוע של Jul 28, 2025, שבו נרשם ממוצע של 30.03%, ועד לשבוע של Aug 3, 2026 ברמה של 27.7%. צורת הקו הזה היא שקובעת אם הדירוג והאחוזון מסכימים זה עם זה. קו עם זינוק בודד וגבוה מפריד ביניהם. קו שנע בתוך טווח יציב שומר עליהם קרובים. דף ה-implied volatility של AAPL שלנו עוקב אחר נייר זה לאורך זמן; עבור שאלת הרמה המוחלטת ללא היסטוריה נלווית, ראו האם 30% IV נחשב גבוה.
השוואה בין IV rank ל-IV percentile בשמונה טיקרים
אותן נוסחאות, אותו טווח בדיקה, שמונה מניות סחירות, סשן מסחר אחד. עמודת gap מציגה את המרחק המוחלט בין שני המדדים.
ה-SQL המדויק מאחורי כל מספר
WITH daily AS
(
SELECT
underlying_symbol AS symbol,
date,
avg(toFloat64(implied_volatility)) * 100 AS atm_iv
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'SPY', 'QQQ', 'KO')
AND date >= today() - 371
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY symbol, date
),
latest AS
(
SELECT
symbol,
argMax(atm_iv, date) AS iv_now,
max(date) AS as_of
FROM daily
GROUP BY symbol
)
SELECT
d.symbol AS symbol,
round(100 * (l.iv_now - min(d.atm_iv)) / nullIf(max(d.atm_iv) - min(d.atm_iv), 0), 1) AS iv_rank,
round(100 * countIf(d.atm_iv < l.iv_now) / count(), 1) AS iv_percentile,
round(abs(iv_rank - iv_percentile), 1) AS gap,
formatDateTime(any(l.as_of), '%b %e, %Y') AS as_of_label
FROM daily AS d
INNER JOIN latest AS l ON l.symbol = d.symbol
GROUP BY d.symbol, l.iv_now
ORDER BY gap DESCנכון ל-Aug 3, 2026, הפער הגדול ביותר בטבלה עומד על 35.6 נקודות, ב-AAPL, שם ה-IV rank עומד על 32.4 לעומת IV percentile של 68. בקצה השני של הטבלה, TSLA שומרת על פער של 6.5 נקודות בלבד בין השניים. סינון המבוסס על מדד אחד מניב רשימה שונה מסינון המבוסס על האחר, וזו הסיבה המעשית להכיר את המדד שהפלטפורמה שלכם מציגה. המסך של מניות בעלות IV rank גבוה ממיין את השוק לפי המדד הראשון מביניהם.
טווח הנתונים העומד בבסיס כל דירוג בטבלה
הזינו את עמודות המחיר הנוכחי, הנמוך והגבוה לתוך נוסחת הדירוג, ותקבלו את עמודת הדירוג המופיעה לעיל.
ה-SQL המדויק מאחורי כל מספר
WITH daily AS
(
SELECT
underlying_symbol AS symbol,
date,
avg(toFloat64(implied_volatility)) * 100 AS atm_iv
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'SPY', 'QQQ', 'KO')
AND date >= today() - 371
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY symbol, date
),
latest AS
(
SELECT
symbol,
argMax(atm_iv, date) AS iv_now,
max(date) AS as_of
FROM daily
GROUP BY symbol
)
SELECT
d.symbol AS symbol,
round(l.iv_now, 2) AS current_iv_pct,
round(min(d.atm_iv), 2) AS low_52w_iv_pct,
round(max(d.atm_iv), 2) AS high_52w_iv_pct,
count() AS observations,
formatDateTime(any(l.as_of), '%b %e, %Y') AS as_of_label
FROM daily AS d
INNER JOIN latest AS l ON l.symbol = d.symbol
GROUP BY d.symbol, l.iv_now
ORDER BY current_iv_pct DESCמדוע שתי פלטפורמות מציגות ערכים שונים עבור אותו Ticker
אף אחת מהנוסחאות אינה עמומה, אך הנתונים המוזנים אליהן כן. ספקי מידע מפרסמים לעיתים רחוקות באיזו סדרת IV הם משתמשים, והאפשרויות הנפוצות נמצאות בשני קצוות שונים של שרשרת האופציות: IV בטווח פקיעה קבוע של שלושים יום, המחושב בשיטת אינטרפולציה בין שתי פקיעות משני צידי ה-30 יום, או חוזה ה-At-the-money של החודש הקרוב, שהוא תנודתי הרבה יותר. פלטפורמות מסוימות מבצעות ממוצע על פני כל השרשרת. פאנל זה מריץ מניה אחת דרך שלוש הגדרות שונות של נתוני IV לאורך אותם חמישים ושניים שבועות.
ה-SQL המדויק מאחורי כל מספר
WITH contracts AS
(
SELECT
date,
days_to_expiry,
abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) AS moneyness,
toFloat64(implied_volatility) * 100 AS iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date >= today() - 371
AND iv_converged = 1
AND volume > 0
),
defs AS
(
SELECT
spec.1 AS iv_series,
spec.2 AS min_dte,
spec.3 AS max_dte,
spec.4 AS max_moneyness
FROM
(
SELECT arrayJoin([
('Near 30 day ATM', 20, 45, 0.05),
('Front month ATM', 1, 19, 0.05),
('Wide net, any expiry', 1, 400, 0.30)
]) AS spec
)
),
daily AS
(
SELECT
s.iv_series AS iv_series,
c.date AS date,
avg(c.iv_pct) AS atm_iv
FROM contracts AS c
CROSS JOIN defs AS s
WHERE c.days_to_expiry BETWEEN s.min_dte AND s.max_dte
AND c.moneyness < s.max_moneyness
GROUP BY iv_series, date
),
latest AS
(
SELECT
iv_series,
argMax(atm_iv, date) AS iv_now
FROM daily
GROUP BY iv_series
)
SELECT
d.iv_series AS iv_series,
round(l.iv_now, 2) AS current_iv_pct,
round(min(d.atm_iv), 2) AS low_52w_iv_pct,
round(max(d.atm_iv), 2) AS high_52w_iv_pct,
round(100 * (l.iv_now - min(d.atm_iv)) / nullIf(max(d.atm_iv) - min(d.atm_iv), 0), 1) AS iv_rank,
round(100 * countIf(d.atm_iv < l.iv_now) / count(), 1) AS iv_percentile
FROM daily AS d
INNER JOIN latest AS l ON l.iv_series = d.iv_series
GROUP BY d.iv_series, l.iv_now
ORDER BY current_iv_pct DESCבסשן האחרון, Wide net, any expiry מציגה 37.6% בעוד ש-Near 30 day ATM מציגה 27.7%, ודירוגי ה-IV שלהן עומדים על 23.1 ו-32.4. אותה מניה, אותו סשן, אותה נוסחה, הגדרה שונה של נתוני הקלט.
המשתנה השני הוא תקופת הבחינה לאחור (Lookback). חמישים ושניים שבועות הם המקובל בשוק, ופלטפורמות רבות מציעות הגדרות של שלושים, שישים או תשעים יום לצד זאת.
ה-SQL המדויק מאחורי כל מספר
WITH daily AS
(
SELECT
date,
avg(toFloat64(implied_volatility)) * 100 AS atm_iv
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date >= today() - 800
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY date
),
latest AS
(
SELECT
argMax(atm_iv, date) AS iv_now,
max(date) AS as_of
FROM daily
),
windows AS
(
SELECT
spec.1 AS lookback_label,
spec.2 AS lookback_days
FROM
(
SELECT arrayJoin([
('1 month', 30),
('3 months', 90),
('6 months', 180),
('12 months', 371),
('24 months', 742)
]) AS spec
)
)
SELECT
w.lookback_label AS lookback_label,
round(100 * (l.iv_now - min(d.atm_iv)) / nullIf(max(d.atm_iv) - min(d.atm_iv), 0), 1) AS iv_rank,
round(100 * countIf(d.atm_iv < l.iv_now) / count(), 1) AS iv_percentile,
count() AS observations
FROM daily AS d
CROSS JOIN windows AS w
CROSS JOIN latest AS l
WHERE d.date >= l.as_of - w.lookback_days
GROUP BY w.lookback_label, w.lookback_days, l.iv_now
ORDER BY w.lookback_daysבטווח בחינה של 1 month, מניה זו מקבלת ציון של 0.4 בדירוג ה-IV ו-4.8 באחוזון ה-IV. הרחבת הטווח ל-24 months מניבה באותו סשן תוצאות של 23.4 ו-63.3. דבר בשרשרת האופציות לא השתנה בין שורות אלו; רק חלון הזמן השתנה. כאשר שני מסכים מציגים נתונים שונים עבור Ticker מסוים, הגדרת ה-Lookback וסדרת ה-IV הם שני המקומות הראשונים שיש לבדוק.
כיצד נעשה שימוש בשני הנתונים
שתי הקריאות משמשות כמסנן לבחירת אסטרטגיה, ולא כתחזית. סוחרים המוכרים פרמיה, וביניהם אלו המבצעים covered calls ו-cash secured puts, נוטים לחפש קריאות גבוהות, שבהן האופציה מתומחרת לתנועה גדולה יותר מזו שהמניה הציגה בדרך כלל לאורך התקופה. סוחרים הקונים פרמיה בוחנים את הקצה הנמוך, שבו אותו היגיון פועל בצורה הפוכה. ציון יחסי עדיף על מספר ה-IV הגולמי למטרה זו: IV של 40% הוא רגיל עבור מניה אחת וקיצוני עבור אחרת, ודירוג מניה ביחס להיסטוריה של עצמה פותר בעיה זו. המאמר האם תנודתיות גלומה גבוהה היא דבר טוב מנתח את יחסי הגומלין והפשרות בכל צד.
אזהרה אחת שהמספרים אינם יכולים לספק לה מענה: קריאה גבוהה יכולה להמשיך ולעלות, ודירוג של 95 ביום שני יכול להפוך לדירוג של 60 ביום שישי ללא כל שינוי בפוזיציה שלך. אף אחד מהציונים אינו נושא מידע על כיוון: IV גבוה מציין שהשוק תמחר תנועה גדולה, ללא עמדה לגבי הכיוון שאליו היא תתרחש.
שאלות נפוצות
האם עדיף להשתמש ב-IV rank או ב-IV percentile?
הם עונים על שאלות שונות. ה-IV percentile עמיד יותר כאשר חלון הבחינה כולל זינוק אלים אחד, שכן הוא סופר ימים במקום להשוות מול נקודת קיצון בודדת. ה-IV rank אינטואיטיבי יותר כאשר הטווח מאוכלס היטב, שכן הוא מציין ישירות עד כמה הרמה הנוכחית קרובה לשיא של שנים-עשר החודשים האחרונים.
מה נחשב ל-IV rank גבוה?
רוב ה-trading desks מתייחסים לקריאות מעל 50 כאל החצי העליון של טווח המניה, ולקריאות מעל 80 כאל רמה גבוהה באמת עבור אותו נייר. הציון הוא יחסי מעצם הגדרתו, לכן IV rank של 80 במניית צריכה בסיסית שקטה ו-IV rank של 80 במניית צמיחה תנודתית מתארים רמות IV מוחלטות שונות בתכלית.
האם IV rank ו-IV percentile משתמשים באותו חלון זמן?
בדרך כלל מדובר ב-252 ימי מסחר עבור שניהם, אם כי ההגדרה ניתנת לשינוי ברוב הפלטפורמות וערך ברירת המחדל משתנה בין ספקים. הפאנל שלעיל מציג מניה שציונה משתנה בהתאם לאורך החלון, וזהו הדבר הראשון שיש לבדוק כאשר שני כלים מציגים נתונים סותרים.
האם IV rank יכול להיות 0 או 100?
כן. ה-IV rank מגיע ל-100 ביום שבו המניה רושמת שיא של 52 שבועות ב-implied volatility, ול-0 ביום שבו היא רושמת שפל חדש, שכן הקריאה של היום היא עצמה אחת מנקודות הקצה של הטווח. ה-IV percentile מגיע לעיתים רחוקות לאחד משני הקצוות, כיוון שהסשן של היום נכלל במכנה.
מדוע ה-IV rank שלי השתנה מבלי שה-IV זז?
חלון הזמן מתקדם בכל סשן מסחר. כאשר זינוק ישן יוצא מטווח 52 השבועות האחרונים, ערך השיא במכנה מתעדכן כלפי מטה וה-rank עולה, גם אם ה-IV של היום נותר ללא שינוי. IV crush מתאר את ההפתעה הנפוצה האחרת, הירידה ב-IV עצמו מיד לאחר פרסום דוחות כספיים.
כל פאנל כאן נושא את שאילתת ה-SQL המדויקת תחתיו. החליפו את ה-ticker בכל אחד מהם כדי לקבל ציון עבור נייר אחר בטרמינל Strasmore.