חישוב המהלך הצפוי מתנודתיות גלומה
למדו לחשב את המהלך הצפוי לפי מחיר, IV ומספר הימים, להבין את קיצור הדרך של straddle ולהשוות בין הטווח המתומחר לתנועות שהתרחשו בפועל.
המהלך הצפוי הוא הטווח ששוק האופציות מתמחר למניה לאורך מספר קבוע של ימים, והתנודתיות הגלומה היא הנתון שקובע אותו: מחיר המניה כפול התנודתיות הגלומה כפול השורש הריבועי של מספר הימים חלקי 365. למניה שמחירה $100 ותנודתיותה הגלומה 30% לאורך 30 ימים יש מהלך צפוי של כ-$8.60, או 8.6%, משום ש-0.30 כפול השורש הריבועי של 30 חלקי 365 שווה 0.086. זהו טווח של סטיית תקן אחת, ולא תחזית לכיוון התנועה או רמה שהמחיר אינו יכול לחצות.
כיצד לחשב את התנועה הצפויה מתנודתיות גלומה
תנודתיות גלומה היא סטיית התקן השנתית של התשואות, כפי שהיא משתמעת ממחיר האופציה. היא מוצגת תמיד כנתון שנתי. לכן, נתון של 30% מתאר טווח של שנה אחת, ויש להמיר ממנו כל תקופה קצרה יותר. התנודתיות משתנה בהתאם לשורש הריבועי של הזמן. לכן מספר הימים נמצא תחת סימן שורש ריבועי, במקום לבצע חלוקה ישירה.
תנועה צפויה = מחיר × IV × √(ימים ÷ 365)
שתי מוסכמות קובעות אם התוצאה שלכם תואמת לזו שמציג הברוקר. חלוקה במספר הימים הקלנדריים מתוך 365 היא הסטנדרט בקרב משקיעים קמעונאיים. לעומת זאת, חלק מהדסקים משתמשים במספר ימי המסחר מתוך 252. שיטה זו מניבה טווח מעט רחב יותר עבור אותה רמת IV. התוצאה היא סטיית תקן אחת, כלומר טווח המכסה כ-68% מהתוצאות בהתפלגות נורמלית. הכפלתה בשתיים נותנת טווח של שתי סטיות תקן, המכסה כ-95% מהתוצאות בקירוב.
השאלה אם ה-IV שהזנתם גבוה בכלל היא שאלה נפרדת, עם עמוד משלה: האם IV של 30% גבוה מציב נתון בודד מול ההתפלגות של השוק עצמו.
מדוע הטווח גדל לפי השורש הריבועי של מספר הימים
השאירו מניה אחת וסשן מסחר אחד קבועים, ושנו רק את אופק הזמן. כך מבנה הנוסחה מתבהר מעצמו. חוזי Apple הקרובים למחיר המימוש, מאמצע יולי 2026, מקובצים לפי משך הזמן עד לפקיעה:
ה-SQL המדויק מאחורי כל מספר
SELECT multiIf(days_to_expiry <= 7, '1 week',
days_to_expiry <= 14, '2 weeks',
days_to_expiry <= 45, '1 month',
days_to_expiry <= 120, '3 months',
days_to_expiry <= 240, '6 months',
'1 year') AS horizon,
round(avg(days_to_expiry), 0) AS avg_days,
round(100 * avg(toFloat64(implied_volatility)), 1) AS iv_pct,
round(100 * avg(toFloat64(implied_volatility)) * sqrt(avg(days_to_expiry) / 365), 2) AS expected_move_pct,
round(avg(toFloat64(underlying_close)) * avg(toFloat64(implied_volatility))
* sqrt(avg(days_to_expiry) / 365), 2) AS expected_move_usd,
round(avg(toFloat64(underlying_close)), 2) AS underlying_price,
formatDateTime(max(date), '%b %e, %Y') AS as_of
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = (SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date <= toDate('2026-07-15'))
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 1 AND 400
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY horizon
HAVING count() >= 3
ORDER BY avg_daysנכון ל-Jul 15, 2026, בקבוצת 1 week היו בממוצע 5 ימים עד לפקיעה ו-28% תנודתיות גלומה. התנועה הצפויה הייתה 3.17%, כלומר $10.41, לעומת מחיר מניה של $327.8. בקבוצת 1 year היו בממוצע 292 ימים ו-28.4% IV. התנועה הצפויה הייתה 25.44%, כלומר $83.39.
המסקנה טמונה ביחסים בין הנתונים, ולא ברמות עצמן. הכפלת מספר הימים פי ארבעה מכפילה את התנועה הצפויה פי שניים, בכל מניה ובכל רמת IV, משום שהשורש הריבועי של 4 הוא 2. מי שמחשב טווח שנתי על ידי הכפלת טווח של חודש ב-12, מגזים בהערכת הטווח השנתי בערך פי 3.5. המכפיל הנכון הוא השורש הריבועי של 12, כלומר 3.46.
קיצור דרך באמצעות straddle, ומדוע הוא מציג נתון נמוך בכ-20%
יש דרך מהירה יותר לחשב את התנועה הצפויה לפי תמחור השוק, בלי לבצע חישובים. יש לאתר את ה-straddle במחיר המניה הנוכחי: אופציית Call ואופציית Put עם אותו מחיר מימוש ואותו מועד פקיעה, ולחבר את שתי הפרמיות. חדרי מסחר רבים מציגים את הסכום הזה כתנועה הצפויה.
שתי השיטות אינן מפיקות את אותו מספר, והפער אינו מעיד על טעות באחת מהן. Straddle משלם את המרחק המוחלט שבו המניה מסיימת ביחס למחיר המימוש, ולכן המחיר שלו משקף את התנועה הממוצעת הצפויה בשוק. הנוסחה מחזירה סטיית תקן אחת. בהתפלגות נורמלית, הסטייה המוחלטת הממוצעת שווה ל-0.798 מסטיית תקן אחת. לכן ה-straddle נמוך בכ-20% מהתוצאה של הנוסחה. הכפלת מחיר ה-straddle ב-1.25, כלומר חלוקה ב-0.798, משווה בין שתי התוצאות.
ניישם זאת על הדוגמה ההיפותטית של מניה במחיר $100 שהוצגה בתחילת המאמר. הנוסחה נותנת $8.60. מחיר ה-straddle במחיר המימוש הקרוב ביותר למחיר המניה יהיה כ-$6.86, משום ש-0.798 × 8.60 = 6.86. הכפלת $6.86 ב-1.25 מחזירה אותנו ל-$8.58. שתי דרכים, מספר אחד, לאחר שמבינים איזה נתון כל אחת מהן מציגה. קריאת שרשרת אופציות מציגה היכן נמצאות שתי הפרמיות האלה.
מה התנועה הצפויה אינה אומרת
- לא מדובר בכיוון. הטווח סימטרי סביב מחיר היום, ושוק האופציות מתמחר את רוחבו, לא את הצד שאליו המחיר ינוע.
- לא מדובר בהבטחה. שיעור של 68% מבוסס על התפלגות נורמלית, ואילו תשואות בפועל כוללות זנבות עבים יותר. לכן תוצאות קיצוניות מתרחשות בתדירות גבוהה יותר מכפי שהמודל מניח.
- לא מדובר במחסום. לפי המודל, בערך חלון אחד מכל שלושה מסתיים מחוץ לטווח של סטיית תקן אחת. סיום מחוץ לטווח הוא המקרה הרגיל.
- לא מדובר בנתון קבוע. התנודתיות הגלומה מתומחרת מחדש בכל סשן, ולכן התנועה הצפויה לפקיעה נתונה מחושבת מחדש מדי יום.
מה קורה לאחר דוח כספי
מועד דוחות מתוזמן הוא הדוגמה הברורה ביותר לכך שהתנודתיות הגלומה עולה מראש ואז יורדת במושב המסחר שלאחר פרסום החדשות. דפוס זה מכונה קריסת IV. גם התנועה הצפויה מתכווצת לפי אותו לוח זמנים. הדוח של NVDA בסוף מאי 2023 פורסם לאחר נעילת המסחר במושב הראשון המוצג להלן.
ה-SQL המדויק מאחורי כל מספר
WITH
(SELECT avg(toFloat64(implied_volatility))
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date = toDate('2023-05-24')
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) AS iv_report_day,
(SELECT avg(toFloat64(underlying_close))
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date = toDate('2023-05-24')
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) AS px_report_day
SELECT date,
formatDateTime(date, '%b %e') AS session_label,
round(100 * avg(toFloat64(implied_volatility)), 1) AS iv_pct,
round(100 * avg(toFloat64(implied_volatility)) * sqrt(avg(days_to_expiry) / 365), 2) AS expected_move_pct,
round(100 * avg(toFloat64(implied_volatility)) / iv_report_day, 1) AS iv_pct_of_report_day,
round(100 * (avg(toFloat64(underlying_close)) / px_report_day - 1), 2) AS move_from_report_day_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date BETWEEN toDate('2023-05-24') AND toDate('2023-06-09')
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
HAVING count() >= 3
ORDER BY dateהתנודתיות הגלומה, שנמדדה בסמוך למחיר המימוש, עמדה על 115.1% ב-May 24, מושב המסחר שבו פורסם הדוח, עם תנועה גלומה עד לפקיעה של 30.54%. במושב המסחר הבא הגיעה אותה מדידה ל-42.9% מאותה רמה. עד Jun 9 עמדה התנודתיות הגלומה על 39.2%, והמניה הייתה במרחק של 1.71% ממחיר הסגירה שלה ביום פרסום הדוח.
השילוב הזה עומד מאחורי תלונה מוכרת. סוחר יכול לחזות נכון את כיוון התנועה בעקבות דוח כספי ועדיין להפסיד כסף על אופציה שנרכשה: נתון התנודתיות שעל בסיסו תומחר החוזה יורד ברגע שאי-הוודאות נפתרת. כיצד דוחות כספיים משפיעים על ה-greeks ממשיך את הדיון בהשפעת המהלך על הפוזיציה.
האם המהלך הצפוי תואם את המהלכים שהתממשו?
הטענה ניתנת לבדיקה, ולכן זו הבדיקה. בכל יום רביעי במהלך השנתיים עד אמצע יוני 2026, עבור שש מניות סחירות, נלקחה התנודתיות הגלומה באופציות הקרובות למחיר המימוש, עם פקיעה בעוד 25 עד 40 ימים. לאחר מכן היא הומרה למהלך צפוי לאורך הימים שלאחר מכן, ונמדד המרחק שהמניה עברה בפועל עד יום המסחר הראשון שחל לפחות 30 ימים קלנדריים מאוחר יותר.
ה-SQL המדויק מאחורי כל מספר
WITH obs AS (
SELECT underlying_symbol AS ticker,
date AS obs_date,
avg(toFloat64(implied_volatility)) AS iv,
avg(toFloat64(underlying_close)) AS spot
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('NVDA', 'AAPL', 'MSFT', 'XOM', 'SPY', 'KO')
AND date BETWEEN toDate('2024-06-12') AND toDate('2026-06-17')
AND toDayOfWeek(date) = 3
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 25 AND 40
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY ticker, obs_date
HAVING count() >= 4 AND avg(toFloat64(implied_volatility)) > 0.01
),
px AS (
SELECT underlying_symbol AS ticker,
date AS px_date,
avg(toFloat64(underlying_close)) AS close_px
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('NVDA', 'AAPL', 'MSFT', 'XOM', 'SPY', 'KO')
AND date BETWEEN toDate('2024-06-12') AND toDate('2026-07-25')
AND days_to_expiry BETWEEN 5 AND 60
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02
GROUP BY ticker, px_date
),
moves AS (
SELECT obs.ticker AS ticker,
obs.obs_date AS obs_date,
any(obs.iv) AS iv,
any(obs.spot) AS spot,
argMin(px.close_px, px.px_date) AS end_px,
min(dateDiff('day', obs.obs_date, px.px_date)) AS elapsed_days
FROM obs
INNER JOIN px ON obs.ticker = px.ticker
WHERE px.px_date >= addDays(obs.obs_date, 30)
AND px.px_date <= addDays(obs.obs_date, 36)
GROUP BY ticker, obs_date
)
SELECT ticker,
count() AS windows_tested,
round(quantileDeterministic(0.5)(100 * iv * sqrt(elapsed_days / 365), cityHash64(obs_date)), 2) AS implied_move_pct,
round(quantileDeterministic(0.5)(100 * abs(end_px / spot - 1), cityHash64(obs_date)), 2) AS realized_move_pct,
round(100 * countIf(abs(end_px / spot - 1) > iv * sqrt(elapsed_days / 365)) / count(), 1) AS realized_over_implied_pct
FROM moves
GROUP BY ticker
ORDER BY implied_move_pct DESCNVDA תימחרה את הטווח הרחב ביותר מבין שש המניות, עם מהלך גלום חציוני של 13.3% לעומת מהלך שהתממש בפועל, בחציון, של 6.77% לאורך 103 חלונות. בקצה השקט יותר, SPY תימחרה 4.37% לעומת מהלך שהתממש בפועל של 2.68%.
העמודה האחרונה היא זו שמציגה את התמונה האמיתית. טווח של סטיית תקן אחת אמור להיחרג בכ-32% מהמקרים, וזהו מדד הייחוס הנכון — לא אפס. 23.3% מתוך NVDA החלונות הסתיימו מחוץ לטווח שתומחר באמצעות האופציות, ו-24.3% מתוך SPY החלונות עשו זאת גם כן. השוו את שני החציונים זה לצד זה עבור כל מניה, ואת הפער ביניהם. הפער, בכל כיוון, הוא למעשה כל הטיעון בשאלה אם האופציות תומחרו למהלך גדול יותר מזה שהתממש בפועל. סינון המניות שנשאו את הטווחים הגלומים הרחבים ביותר הוא תרגיל אחר, ו-מניות בעלות התנודתיות הגלומה הגבוהה ביותר מדרג אותן.
הערות והגדרות נתונים
- "קרוב למחיר המימוש" פירושו מחיר מימוש הנמצא בטווח של 5% ממחיר הסגירה של נכס הבסיס באותו יום, בחוזים שבהם התנודתיות הגלומה התכנסה ושבהם נרשם מחזור שאינו אפס.
- המהלך הצפוי מחושב באמצעות ימים קלנדריים על בסיס 365 ימים לאורך כל הניתוח. המהלך שהתממש בפועל הוא המרחק באחוזים בין מחיר הסגירה במועד התצפית לבין מחיר הסגירה ביום המסחר הראשון שחל לפחות 30 ימים קלנדריים מאוחר יותר, ללא סימן.
- התצפיות שבועיות, ואילו החלונות קדימה נמשכים 30 ימים. לכן חלונות סמוכים חופפים, והספירות אינן תצפיות בלתי תלויות.
שאלות נפוצות על הטווח הצפוי
כיצד מחשבים את הטווח הצפוי מסטיית התקן הגלומה?
מכפילים את מחיר המניה בסטיית התקן הגלומה כשהיא מבוטאת כמספר עשרוני, ולאחר מכן בשורש הריבועי של מספר הימים חלקי 365. עבור מניה שמחירה 50 דולר, עם סטיית תקן גלומה של 40% לאורך 45 ימים: 50 × 0.40 × √(45 ÷ 365) = 7.02 דולר, כלומר טווח של כ-14%.
האם מחיר אסטרטגיית straddle במחיר המימוש הקרוב למחיר השוק זהה לטווח הצפוי?
הוא קרוב, אך אינו זהה. מחיר ה-straddle משקף את המהלך הממוצע הצפוי, השווה לכ-0.798 מסטיית תקן אחת. הכפלת פרמיית ה-straddle ב-1.25 משחזרת את הערך של סטיית תקן אחת שמתקבל בנוסחה.
האם מניה נשארת בתוך הטווח הצפוי שלה?
בדרך כלל כן, והמודל צופה שהוא ייכשל בכ-32% מהמקרים. בחלונות השבועיים שנבדקו לעיל, 23.3% מתוך NVDA חלונות הסתיימו מחוץ לטווח הגלום, ו-24.3% מתוך SPY חלונות עשו זאת.
מדוע הטווח הצפוי מצטמצם מיד לאחר פרסום הדוחות?
הטווח הצפוי הוא פונקציה ישירה של סטיית התקן הגלומה, וזו עולה לפני דוח מתוכנן ויורדת לאחר שהתוצאות ידועות. בלוח שלמעלה, המסחר ביום שלאחר הדוח של NVDA שיקף 42.9% מהקריאה שנרשמה ביום הדוח.
האם טווח צפוי רחב יותר הוא הזדמנות טובה יותר?
מדובר בטווח רחב יותר, ולא מעבר לכך. טווח צפוי גדול יותר פירושו ששוק האופציות מתמחר אי-ודאות רבה יותר, ולכן החוזים המגלמים את אי-הוודאות הזו יקרים יותר בהתאם. רוחב הטווח אינו אומר דבר על השאלה אם מחירו הוגן.
כל לוח כאן הוא שאילתה שמורה, ולצדה מצורף ה-SQL שלה. פתחו לוח, החליפו את הטיקר, והריצו את אותה בדיקה של סטייה גלומה לעומת סטייה ממומשת בטרמינל Strasmore.