Heston ماڈل اور Volatility Smile کی وضاحت
ایک واحد volatility نمبر پورے option chain کی قیمت کا تعین نہیں کر سکتا۔ Heston ماڈل کس طرح variance کو متحرک رکھتا ہے اور ہر پیرامیٹر smile پر کیا اثر ڈالتا ہے، جانیں۔
Heston ماڈل اور volatility کی حرکیات
Heston ماڈل ایک option pricing ماڈل ہے جو volatility کو مستقل کے بجائے بے ترتیب (random) تصور کرتا ہے۔ اس میں دو متحرک اجزاء شامل ہوتے ہیں: اسٹاک کی قیمت، اور اس قیمت کا variance، جن میں سے ہر ایک کا اپنا الگ random shock ہوتا ہے۔ بے ترتیب پن کا یہی دوسرا ذریعہ وہ عنصر ہے جو ماڈل کو volatility smile تخلیق کرنے کے قابل بناتا ہے۔ Black-Scholes کے اندر موجود مفروضہ، یعنی ایک مستقل volatility، صرف تمام strike prices پر ایک سیدھی لکیر کھینچ سکتا ہے، جبکہ حقیقت یہ ہے کہ کوئی بھی option chain کبھی بھی فلیٹ نہیں رہی۔
ایک volatility نمبر پورے option chain کے لیے کیوں کافی نہیں ہے
Implied volatility وہ volatility ان پٹ ہے جو پرائسنگ فارمولے کو اس قیمت پر لے آتا ہے جس پر کوئی option درحقیقت ٹریڈ ہو رہا ہو۔ اگر آپ ہر contract کے لیے اسے الگ سے invert کریں، جیسا کہ implied volatility کا حساب کیسے لگایا جاتا ہے کے ہمارے صفحے پر تفصیل موجود ہے، تو ایک ہی expiry پر آپ کو strike prices کے لحاظ سے ایک curve ملے گا، نہ کہ ایک یکساں سطح۔ نیچے دیا گیا پینل SPY کے ان تمام contracts کا ڈیٹا لیتا ہے جن کی میعاد ختم ہونے میں 20 سے 45 دن باقی ہیں، اور انہیں 2026 کی پہلی ششماہی کے دوران strike سے spot کے فاصلے کے لحاظ سے 2 فیصد کے bands میں تقسیم کر کے ہر band کے اندر اوسط implied volatility نکالتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
WITH
(
SELECT avg(implied_volatility)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-01-02' AND '2026-06-30'
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.01
) AS atm_iv
SELECT
concat(if(m_bucket > 0, '+', ''), toString(m_bucket), '%') AS moneyness,
round(avg(iv) * 100, 2) AS iv_pct,
round((avg(iv) - atm_iv) * 100, 2) AS iv_vs_atm_pts,
count() AS contracts
FROM
(
SELECT
implied_volatility AS iv,
toInt16(round((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 50) * 2) AS m_bucket
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-01-02' AND '2026-06-30'
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.12
)
GROUP BY m_bucket
HAVING count() >= 100
ORDER BY m_bucket-12% بینڈ، جو spot سے کافی نیچے کی strikes پر مشتمل ہے، کی اوسط implied volatility 28.05% رہی، جو اسی ونڈو کے لیے at-the-money اوسط سے 11.61 volatility پوائنٹس زیادہ ہے۔ کال سائیڈ پر +12% بینڈ کی اوسط 15.56% رہی۔ درمیان کے بینڈز اس curve کو ظاہر کرتے ہیں جس کے نام پر یہ اثر منسوب ہے، اور اس کا ایک طرف جھکاؤ volatility skew کہلاتا ہے۔ ایک ایسا ماڈل جس میں صرف ایک volatility پیرامیٹر ہو، اس میں ایسی کسی بھی صورتحال کو ایڈجسٹ کرنے کی گنجائش نہیں ہوتی: ہر strike میعاد ختم ہونے پر قیمت کے لیے ایک ہی ڈسٹری بیوشن سے پرائسنگ کرتی ہے، اور اس ماڈل کو invert کرنے پر ہر strike پر ایک ہی نمبر حاصل ہوتا ہے، جو کہ اس کی ساخت کا حصہ ہے۔
Heston ماڈل کیا تبدیل کرتا ہے
Heston ماڈل اسٹاک کے رینڈم شاک کو برقرار رکھتا ہے اور variance کے لیے ایک دوسرا عمل شامل کرتا ہے۔ علامات کے بجائے الفاظ میں:
- اگلے لمحے اسٹاک کی حرکت ایک ڈرفٹ اور ایک رینڈم شاک کا مجموعہ ہے، جسے موجودہ variance کے مربع جزر (square root) سے اسکیل کیا جاتا ہے۔
- variance کی حرکت ایک مقررہ رفتار سے طویل مدتی سطح کی جانب کھنچاؤ ہے، جس میں اس کا اپنا شاک شامل ہوتا ہے، جسے vol-of-vol پیرامیٹر اور موجودہ variance کے مربع جزر سے اسکیل کیا جاتا ہے۔
- دونوں شاکس آپس میں منسلک (correlated) ہوتے ہیں، جس کی قدر منفی ایک اور ایک کے درمیان ہوتی ہے۔
یہ مربع جزر والی اسکیلنگ Cox-Ingersoll-Ross فارم ہے، اور یہ ایک اہم کام کرتی ہے: جیسے جیسے variance صفر کے قریب پہنچتا ہے، variance کا شاک سکڑ کر ختم ہو جاتا ہے، جو variance کو منفی ہونے سے روکتا ہے۔ جب رفتار کا دو گنا، طویل مدتی variance کے ساتھ مل کر vol-of-vol کے مربع سے تجاوز کر جائے، تو Feller کے نام سے منسوب یہ شرط variance کو سختی سے مثبت رکھتی ہے۔
Variance بذاتِ خود قابلِ مشاہدہ نہیں ہے۔ اس کا implied متبادل قابلِ مشاہدہ ہے، اور یہ ساکن نہیں رہتا۔ نیچے دیا گیا پینل 2026 کی دوسری سہ ماہی کے دوران دو ناموں کے لیے at-the-money implied volatility کو ظاہر کرتا ہے، جس میں ہر سیشن کی ایک ریڈنگ شامل ہے۔
ہر عدد کے پیچھے موجود درست SQL
SELECT
toString(date) AS session_date,
round(avgIf(implied_volatility, underlying_symbol = 'SPY') * 100, 2) AS spy_atm_iv_pct,
round(avgIf(implied_volatility, underlying_symbol = 'NVDA') * 100, 2) AS nvda_atm_iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'NVDA')
AND date BETWEEN '2026-04-01' AND '2026-06-30'
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 countIf(underlying_symbol = 'SPY') > 0
AND countIf(underlying_symbol = 'NVDA') > 0
ORDER BY dateSPY نے اس ونڈو کا آغاز 20.39% پر 2026-04-01 کو کیا اور اختتام 14.45% پر 2026-06-30 کو کیا۔ NVDA اسی 62 سیشنز کے دوران 36.83% سے 38.22% تک رہا۔ نہ تو کوئی لائن ساکن رہتی ہے اور نہ ہی کوئی ایک سمت بھاگتی ہے: دونوں گھومتی ہیں اور ایک مخصوص دائرہ کار میں واپس آتی رہتی ہیں۔ اس تصویر کے دونوں سروں کی قیمت کا تعین کرنے کے لیے ایک ابتدائی سطح، ایک طویل مدتی سطح اور ان کے درمیان کھنچاؤ کی رفتار درکار ہوتی ہے۔
Heston کے پیرامیٹرز سطح (surface) پر کیا اثر ڈالتے ہیں
Mean reversion اور long-run level ٹرم اسٹرکچر کی تشکیل کرتے ہیں
کسی option کی قدر کا انحصار اس کی مدت کے دوران متوقع اوسط variance پر ہوتا ہے، نہ کہ آج کی variance پر۔ اگلے ہفتے ختم ہونے والے کانٹریکٹ کے لیے آج کی variance اس اوسط پر حاوی ہوتی ہے؛ جبکہ ایک سال بعد ختم ہونے والے کانٹریکٹ کے لیے long-run level کا اثر زیادہ ہوتا ہے۔ speed پیرامیٹر یہ طے کرتا ہے کہ توقعات کتنی تیزی سے ان دونوں کے درمیان سفر کرتی ہیں، جو یہ متعین کرتا ہے کہ کیلنڈر کے ابتدائی حصے سے آخری حصے تک implied volatility کا ڈھلوان (slope) کتنا تیز ہوگا۔
ہر عدد کے پیچھے موجود درست SQL
SELECT
tenor,
round(avgIf(implied_volatility, underlying_symbol = 'SPY') * 100, 2) AS spy_iv_pct,
round(avgIf(implied_volatility, underlying_symbol = 'NVDA') * 100, 2) AS nvda_iv_pct
FROM
(
SELECT
implied_volatility,
underlying_symbol,
days_to_expiry,
multiIf(
days_to_expiry <= 7, '1 to 7 days',
days_to_expiry <= 21, '8 to 21 days',
days_to_expiry <= 45, '22 to 45 days',
days_to_expiry <= 90, '46 to 90 days',
days_to_expiry <= 180, '91 to 180 days',
'181 to 365 days') AS tenor
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'NVDA')
AND date BETWEEN '2026-01-02' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 1 AND 365
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.02
)
GROUP BY tenor
HAVING countIf(underlying_symbol = 'SPY') > 0
AND countIf(underlying_symbol = 'NVDA') > 0
ORDER BY min(days_to_expiry)1 to 7 days بکٹ میں موجود Near-the-money SPY کانٹریکٹس کی اوسط 17.05% رہی، جبکہ 181 to 365 days بکٹ میں یہ 18.77% تھی۔ اسی عرصے کے دوران NVDA نے دونوں بکٹس میں بالترتیب 41.22% اور 44.94% پر ٹریڈ کیا۔ ایک یک-نکاتی (one-number) ماڈل ہر tenor کی قیمت ایک ہی volatility سے اخذ کرتا ہے۔ Heston ماڈل ابتدائی اور آخری حصوں کو ان کی اپنی سطحیں دیتا ہے، جبکہ speed پیرامیٹر ان کے درمیان کی شکل کو کنٹرول کرتا ہے۔ ان میں سے مزید curves ہمارے IV term structure صفحے پر موجود ہیں۔
Vol of vol سمائل (smile) کو موڑتی ہے
Vol of vol دراصل خود variance کی volatility ہے۔ اگر اسے صفر پر سیٹ کیا جائے تو variance ایک ہموار راستے پر چلتی ہے: ٹرم اسٹرکچر میں ڈھلوان تو ہو سکتی ہے، لیکن strikes کے درمیان سمائل فلیٹ ہو جاتی ہے۔ اسے بڑھانے سے ایکسپائری پر قیمت کی تقسیم (distribution) کے دونوں کناروں (tails) کا وزن بڑھ جاتا ہے، جس سے spot سے دور والی strikes کی قیمت spot کے قریب والی strikes سے بڑھ جاتی ہے۔ عملی طور پر variance کتنا سفر کرتی ہے، اس کا انحصار underlying پر ہوتا ہے، اور نیچے دیا گیا پینل اس سفر کی براہِ راست پیمائش کرتا ہے۔
ہر عدد کے پیچھے موجود درست SQL
SELECT
symbol,
round(min(daily_iv) * 100, 2) AS low_iv_pct,
round(max(daily_iv) * 100, 2) AS high_iv_pct,
round((max(daily_iv) - min(daily_iv)) * 100, 2) AS swing_pts
FROM
(
SELECT
underlying_symbol AS symbol,
date,
avg(implied_volatility) AS daily_iv
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO')
AND date BETWEEN '2026-01-02' AND '2026-06-30'
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
)
GROUP BY symbol
ORDER BY swing_pts DESCAMZN نے پینل میں سب سے وسیع رینج کا احاطہ کیا: at-the-money implied volatility کم از کم 28.21% اور زیادہ سے زیادہ 74.42% رہی، جو چھ ماہ کے دوران 46.22 volatility پوائنٹس کا فرق ہے۔ KO نے سب سے کم، یعنی 10.75 پوائنٹس کے ساتھ سب سے تنگ رینج کا احاطہ کیا۔ Vega، جو کہ volatility کے لیے قیمت کی حساسیت ہے اور جسے ہمارے vega صفحے پر بیان کیا گیا ہے، سطح (surface) کی پیمائش کرتا ہے۔ Stochastic volatility کے تحت، دو کانٹریکٹس جن کا vega ایک جیسا ہو، وہ اس وقت مختلف رویہ اختیار کر سکتے ہیں جب سطح کے بجائے اس کی شکل تبدیل ہو۔
Correlation سمائل کو skew میں جھکا دیتی ہے
اسٹاک کے جھٹکے (shock) اور variance کے جھٹکے کے درمیان باہمی تعلق (correlation) ایک متوازن سمائل کو غیر متوازن (lopsided) بنا دیتا ہے۔ منفی correlation کے تحت، جن راستوں پر اسٹاک گرتا ہے، انہی پر variance بڑھتی ہے، اور ایکسپائری پر تقسیم کا بائیں جانب والا حصہ (left tail) دائیں حصے کے مقابلے میں زیادہ وزن رکھتا ہے۔ اس صورت میں، spot سے مساوی فاصلے پر موجود put-side کی implied volatility، call-side کی implied volatility سے زیادہ قیمت پر ہوتی ہے۔
ہر عدد کے پیچھے موجود درست SQL
SELECT
underlying_symbol AS symbol,
round(avgIf(iv, ratio <= 0.95) * 100, 2) AS otm_put_iv_pct,
round(avgIf(iv, ratio >= 1.05) * 100, 2) AS otm_call_iv_pct,
round((avgIf(iv, ratio <= 0.95) - avgIf(iv, ratio >= 1.05)) * 100, 2) AS put_minus_call_pts
FROM
(
SELECT
underlying_symbol,
implied_volatility AS iv,
toFloat64(strike_price) / toFloat64(underlying_close) AS ratio
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO')
AND date BETWEEN '2026-01-02' AND '2026-06-30'
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.20
)
GROUP BY underlying_symbol
HAVING countIf(ratio <= 0.95) > 0
AND countIf(ratio >= 1.05) > 0
ORDER BY put_minus_call_pts DESC2026 کی پہلی ششماہی کے دوران، SPY نے پینل میں سب سے بڑا فرق دکھایا: spot سے کم از کم 5 فیصد نیچے والی strikes کی اوسط 27% رہی، جبکہ spot سے کم از کم 5 فیصد اوپر والی strikes کے لیے یہ 14.76% تھی، جو کہ 12.23 volatility پوائنٹس کا فرق ہے۔ دوسری جانب، MSFT نے اسی پیمائش پر 3.9 پوائنٹس درج کیے۔ ہر underlying کے لیے ایک correlation پیرامیٹر ہی اس جھکاؤ (tilt) کی پوری رینج کا احاطہ کرتا ہے۔
Starting variance سطح کا تعین کرتی ہے
پانچواں پیرامیٹر وہ variance ہے جہاں سے ماڈل آج شروع ہوتا ہے۔ یہ اس کی شکل کو زیادہ تبدیل کیے بغیر پوری سطح کو اوپر یا نیچے لے جاتا ہے، یہی وجہ ہے کہ اسے سب سے زیادہ بار ری-فٹ (refit) کیا جاتا ہے: یہ ماڈل کو مارکیٹ کی موجودہ سطح پر برقرار رکھتا ہے جبکہ باقی چار پیرامیٹرز جیومیٹری کو سنبھالتے ہیں۔
ماڈل کیا خریدتا ہے، اور اس کی قیمت کیا ہے
یہ خریداری ایک ایسی سطح ہے جو پانچ قابلِ تشریح اعداد سے دو سمتوں میں مڑتی ہے، جس کی قیمت کا تعین تیزی سے کیا جاتا ہے۔ Heston ماڈل ایک characteristic function اور ایک عددی integral کے ذریعے European options کی قدر کا تعین کرتا ہے، جس میں کسی simulation کی ضرورت نہیں ہوتی، اور یہی وجہ ہے کہ ایک سیکنڈ کے چھوٹے سے حصے میں پوری chain کو فٹ کرنا ممکن ہو جاتا ہے۔ اس کے اخراجات کو واضح طور پر بیان کرنا ضروری ہے۔
- یہ پانچ parameters کیلیبریٹ کیے جاتے ہیں، جنہیں مارکیٹ میں نظر آنے والی option prices کے مطابق فٹ کیا جاتا ہے، نہ کہ کسی اور چیز سے ماپا جاتا ہے۔
- کیلیبریشن ایک وقتی تصویر (snapshot) کی مانند ہے۔ کل دوبارہ فٹ کرنے پر یہ اعداد تبدیل ہو جاتے ہیں، جس کا مطلب ہے کہ ماڈل کے constants مستقل نہیں ہیں۔
- پیرامیٹرز کا ایک سیٹ شاذ و نادر ہی ہر expiry پر بیک وقت فٹ بیٹھتا ہے۔ بہت مختصر مدت کے لیے دیکھے جانے والے smiles اس variance process کی نسبت زیادہ تیزی سے مڑتے ہیں۔
- مارکیٹ میں قیمتوں میں خلا (gap) آتا ہے۔ یہاں variance اور spot دونوں مسلسل حرکت کرتے ہیں، اور کسی بھی خلا کو فٹ کیے گئے اعداد کے ذریعے جذب کرنا پڑتا ہے۔
وولٹیلیٹی کے صفحات سے آنے والے قارئین کے لیے ایک انتباہ اہم ہے۔ Variance process ان حرکیات (dynamics) کو بیان کرتا ہے جو options کی قیمت طے کرتی ہیں، جو کہ اس وولٹیلیٹی سے مختلف شے ہے جو ایک اسٹاک بعد میں realise کرتا ہے۔ ان دونوں کے درمیان فرق implied volatility versus realised volatility کا موضوع ہے۔
جہاں ماڈل اب بھی ناکام ہے
ہر خامی کے لیے توسیعی ماڈلز موجود ہیں۔ Bates ماڈل Heston کی variance کو برقرار رکھتا ہے اور پرائس پروسیس میں jumps کا اضافہ کرتا ہے، جس سے short-dated smile مزید نمایاں ہو جاتی ہے۔ Rough volatility ماڈلز رینڈم variance کو برقرار رکھتے ہیں اور اس کے ڈرائیور کو معیاری Brownian motion سے زیادہ rough راستوں سے بدل دیتے ہیں، جس سے یہ ماڈلز بہت قلیل مدتی (very short end) ڈیٹا سے بہتر مطابقت رکھتے ہیں۔ تاہم، ان میں سے کوئی بھی calibration کے مسئلے کو حل نہیں کرتا: دونوں میں ایسے پیرامیٹرز کا اضافہ ہوتا ہے جنہیں پہلے ایک لمحے (moment) کے مطابق فٹ کرنا پڑتا ہے اور بعد ازاں دوبارہ فٹ کرنا پڑتا ہے۔
اکثر پوچھے گئے سوالات
Heston ماڈل سادہ الفاظ میں کیا ہے؟
یہ option pricing کا ایک ایسا ماڈل ہے جس میں volatility بے ترتیب (random) ہوتی ہے۔ Variance اپنا ایک الگ راستہ اختیار کرتی ہے جو طویل مدتی سطح کی طرف مائل رہتا ہے، اور اس کی بے ترتیب پن کا تعلق اسٹاک کی نقل و حرکت سے ہوتا ہے۔ یہی وجہ ہے کہ یہ ماڈل ایک سیدھی لکیر کے بجائے خم دار volatility smile کی قیمت کا تعین کرنے کی صلاحیت رکھتا ہے۔
Black-Scholes ماڈل ایک فلیٹ volatility smile کیوں دیتا ہے؟
یہ ماڈل ایک مستقل volatility کو فرض کرتا ہے، جو میعاد ختم ہونے پر قیمت کے لیے ایک ہی تقسیم (distribution) طے کر دیتا ہے۔ ہر strike کی قیمت اسی ایک تقسیم سے نکالی جاتی ہے، اور فارمولے کو الٹ کر دیکھنے پر ہر strike پر ایک ہی volatility حاصل ہوتی ہے۔ یہ فلیٹ لکیر مفروضے کا نتیجہ ہے، نہ کہ مارکیٹ کے بارے میں کوئی دریافت۔
Heston ماڈل کے پانچ پیرامیٹرز کا کیا مطلب ہے؟
Starting variance آج کی سطح کا تعین کرتی ہے۔ Long-run variance یہ طے کرتی ہے کہ وقت کے ساتھ variance کس سطح کی طرف کھنچی چلی جائے گی، اور mean-reversion کی رفتار یہ طے کرتی ہے کہ یہ کھنچاؤ کتنی تیزی سے عمل میں آئے گا۔ Vol of vol اس smile کے خم کا تعین کرتی ہے، اور دونوں جھٹکوں (shocks) کے درمیان باہمی تعلق (correlation) اس کے جھکاؤ کو طے کرتا ہے۔
کیا Heston ماڈل حقیقی option قیمتوں پر پورا اترتا ہے؟
یہ عام طور پر volatility surface کے درمیانی حصے پر کافی حد تک درست بیٹھتا ہے، لیکن بہت قلیل مدتی (short end) صورتحال میں اسے مشکلات کا سامنا ہوتا ہے، جہاں دیکھی گئی smiles اس کے variance عمل کی اجازت سے کہیں زیادہ تیزی سے مڑتی ہیں۔ نیز، fitted پیرامیٹرز ہر دن تبدیل ہوتے رہتے ہیں، جس کی وجہ سے calibration ایک بار کا عمل نہیں بلکہ ایک مسلسل دہرائی جانے والی مشق بن جاتی ہے۔
اوپر دیا گیا ہر پینل اس SQL کے ساتھ آتا ہے جس نے اسے تیار کیا ہے، اور یہ کسی دوسرے نام یا ونڈو پر استعمال کے لیے تیار ہے۔ آپشنز ڈیٹا کے بارے میں ان میں سے کوئی بھی سوال سادہ انگریزی میں پوچھنے کے لیے، Strasmore ٹرمینل کھولیں۔