VIX কী এবং এটি আসলে কী পরিমাপ করে
VIX হলো S&P 500 options থেকে নির্ধারিত 30 দিনের implied volatility। 15 বা 30 স্তর দৈনিক কত ওঠানামা বোঝায় এবং VIX products-এর খরচ জানুন।
VIX একটি একক সংখ্যা, যা S&P 500 index options আগামী 30 দিনে বাজারের সম্ভাব্য ওঠানামার জন্য কত প্রিমিয়াম নিচ্ছে তা সংক্ষেপে প্রকাশ করে। এটি annualized percentage হিসেবে কোট করা হয়। VIX প্রায় 16 হলে সূচকে দৈনিক প্রায় 1% ওঠানামার সঙ্গে সামঞ্জস্যপূর্ণ, আর VIX প্রায় 32 হলে তা প্রায় 2% ওঠানামার সঙ্গে সামঞ্জস্যপূর্ণ। এটি কোনো প্রকাশিত পূর্বাভাস নয়; live option quotes থেকে পাওয়া একটি মূল্যসংকেত।
VIX আসলে কী পরিমাপ করে
Cboe, S&P 500 index option-এর কোট করা দামের ভিত্তিতে VIX তৈরি করে। এতে 30 calendar day পরের একটি সময়কে ঘিরে থাকা দুটি expiry একত্র করা হয়। এই হিসাব কখনও একটি at-the-money contract বেছে নেয় না। বরং out-of-the-money put ও call-এর পুরো একটি strip পর্যালোচনা করে। প্রতিটি option-কে তার strike-এর বর্গের বিপরীত অনুপাতে weight দেওয়া হয়। এরপর সেগুলো যোগ করে variance নির্ধারণ করা হয়, তার square root নেওয়া হয় এবং annualize করা হয়। এই গঠন থেকে দুটি বৈশিষ্ট্য স্পষ্ট হয়।
- এটি একটি strip statistic। অনেক দূরের out-of-the-money put-ও এতে উল্লেখযোগ্য weight বহন করে। তাই অন্যান্য option-এর তুলনায় গভীর downside protection কতটা ব্যয়বহুল হয়েছে, তার ওপরও level নির্ভর করে। এই গঠনটিই volatility skew নামে পরিচিত।
- এটি সবসময় 30 দিন forward সময়সীমা পরিমাপ করে। ক্যালেন্ডার এগোলে হিসাবটি বিভিন্ন expiry-র মধ্যে roll করে। কোনো individual option-এর মতো index-টি ধীরে ধীরে shorter horizon-এ পরিণত হয় না।
Index নিজে কেনাবেচা করা যায় না। লেনদেন হয় futures, ওই futures-এর ওপর options এবং সেগুলোর ভিত্তিতে তৈরি exchange-traded products-এ। এই পৃষ্ঠার অধিকাংশ বিভ্রান্তির শুরু এখান থেকেই।
আমাদের option records-এ exchange-listed contract-গুলো name by name অন্তর্ভুক্ত আছে। তাই নিচের প্রতিটি panel SPY, অর্থাৎ S&P 500 tracking fund, পরিমাপ করে; Cboe যে SPX contract ব্যবহার করে published index তৈরি করে, সেগুলো নয়। Underlying index একই এবং arithmetic-ও একই। তাই level-গুলো published VIX-এর কাছাকাছি থাকে, কিন্তু প্রতিটি print-এর সঙ্গে হুবহু মেলে না। এই পৃষ্ঠার মূল বিষয় হলো সেই shape। একই measurement-এর single-name সংস্করণ implied volatility-এ দেখানো হয়েছে।
| মাস | মাসের লেবেল | গড় IV (%) | সর্বনিম্ন রেকর্ড (%) | সর্বোচ্চ রেকর্ড (%) | চুক্তি |
|---|---|---|---|---|---|
| 2025-07-01 | July 2025 | 13.5 | 8.7 | 17.9 | 508 |
| 2025-08-01 | August 2025 | 12.5 | 8.8 | 18.2 | 561 |
| 2025-09-01 | September 2025 | 12.6 | 8.8 | 18.8 | 587 |
| 2025-10-01 | October 2025 | 14.7 | 11.5 | 22 | 733 |
| 2025-11-01 | November 2025 | 16.4 | 11.1 | 26.7 | 695 |
| 2025-12-01 | December 2025 | 12.8 | 9.9 | 19.2 | 660 |
| 2026-01-01 | January 2026 | 13.3 | 10.7 | 20 | 573 |
| 2026-02-01 | February 2026 | 15.8 | 12.1 | 24.9 | 742 |
| 2026-03-01 | March 2026 | 21.2 | 13.6 | 33.3 | 1136 |
| 2026-04-01 | April 2026 | 17.3 | 8.8 | 42.2 | 801 |
| 2026-05-01 | May 2026 | 14.6 | 11.8 | 20 | 740 |
| 2026-06-01 | June 2026 | 15.2 | 10.5 | 28.4 | 814 |
| 2026-07-01 | July 2026 | 14.2 | 10.7 | 19.9 | 804 |
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT toStartOfMonth(date) AS month,
formatDateTimeInJodaSyntax(toStartOfMonth(date), 'MMMM yyyy') AS month_label,
round(avg(implied_volatility) * 100, 1) AS avg_iv_pct,
round(min(implied_volatility) * 100, 1) AS lowest_print_pct,
round(max(implied_volatility) * 100, 1) AS highest_print_pct,
count() AS contracts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= toDate('2025-07-01')
AND date < toDate('2026-08-01')
AND abs(delta) BETWEEN 0.45 AND 0.55
AND days_to_expiry BETWEEN 23 AND 37
AND iv_converged
AND implied_volatility BETWEEN 0.02 AND 3
GROUP BY month
ORDER BY monthচার্টে দেখানো 13 মাসে, মাসিক average July 2025-এ 13.5% দিয়ে শুরু হয়ে July 2026-এ 14.2%-এ শেষ হয়েছে। 21.2%-এ থাকা March 2026 উভয় level-এর চেয়ে অনেক বেশি। ওই মাসে individual contract print-গুলো 13.6% থেকে 33.3% পর্যন্ত বিস্তৃত ছিল। এটিই একটি single headline number সাধারণত আড়াল করে: index এমন একটি strip-এর average, যা কখনও অভিন্ন থাকে না।
VIX-এর মাত্রাকে প্রত্যাশিত দৈনিক পরিবর্তনে রূপান্তর
VIX বার্ষিকীকৃত। ট্রেডাররা এটিকে 16 দিয়ে ভাগ করে দৈনিক মাত্রায় রূপান্তর করেন। 16 হলো 252-এর বর্গমূল, যা বছরে US trading session-এর আনুমানিক সংখ্যা। Volatility সময়ের বর্গমূলের সঙ্গে সামঞ্জস্য রেখে পরিবর্তিত হয়। VIX-এর মাত্রা 16 হলে তা ভাগ করে 1% হয়। অর্থাৎ, সাধারণ একটি trading session-এ সূচকটি যেকোনো দিকে প্রায় 1% পরিবর্তনের জন্য বাজারে মূল্য নির্ধারিত থাকে। মাত্রা 32 হলে এই পরিবর্তন 2%। এক সপ্তাহের সময়সীমার জন্য বার্ষিক মাত্রাকে প্রায় 7.2 দিয়ে ভাগ করতে হবে, যা 52-এর বর্গমূল।
এই সংক্ষিপ্ত হিসাবের ক্ষেত্রে দুটি সতর্কতা রয়েছে। দৈনিক মাত্রাটি হলো one-standard-deviation পরিবর্তন। Normal distribution অনুযায়ী, এমন পরিবর্তন প্রায় তিনটি session-এর মধ্যে দুটিতে সীমার মধ্যে থাকে; বাকি এক-তৃতীয়াংশ ওই সীমার বাইরে যায়। আর এই মাত্রাটি হলো options-এর নির্ধারিত মূল্য থেকে পাওয়া হিসাব। সূচকটি পরে বাস্তবে কতটা পরিবর্তিত হয়েছে, সেটি আলাদা বিষয়।
| মাস | মাসের লেবেল | ইমপ্লাইড দৈনিক পরিবর্তন (%) | বাস্তবায়িত দৈনিক পরিবর্তন (%) | গ্যাপ (%) | সেশন |
|---|---|---|---|---|---|
| 2025-07-01 | July 2025 | 0.84 | 0.33 | 0.51 | 22 |
| 2025-08-01 | August 2025 | 0.78 | 0.57 | 0.22 | 21 |
| 2025-09-01 | September 2025 | 0.79 | 0.41 | 0.38 | 21 |
| 2025-10-01 | October 2025 | 0.92 | 0.61 | 0.31 | 23 |
| 2025-11-01 | November 2025 | 1.02 | 0.78 | 0.25 | 19 |
| 2025-12-01 | December 2025 | 0.8 | 0.42 | 0.38 | 22 |
| 2026-01-01 | January 2026 | 0.83 | 0.44 | 0.39 | 20 |
| 2026-02-01 | February 2026 | 0.99 | 0.67 | 0.32 | 19 |
| 2026-03-01 | March 2026 | 1.33 | 0.91 | 0.42 | 22 |
| 2026-04-01 | April 2026 | 1.08 | 0.65 | 0.43 | 21 |
| 2026-05-01 | May 2026 | 0.91 | 0.54 | 0.38 | 20 |
| 2026-06-01 | June 2026 | 0.95 | 0.85 | 0.1 | 21 |
| 2026-07-01 | July 2026 | 0.89 | 0.59 | 0.3 | 22 |
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH iv AS (
SELECT toStartOfMonth(date) AS month,
avg(implied_volatility) * 100 AS iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= toDate('2025-07-01')
AND date < toDate('2026-08-01')
AND abs(delta) BETWEEN 0.45 AND 0.55
AND days_to_expiry BETWEEN 23 AND 37
AND iv_converged
AND implied_volatility BETWEEN 0.02 AND 3
GROUP BY month
),
px AS (
SELECT date, toFloat64(close) AS c
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'SPY'
AND date >= toDate('2025-06-01')
AND date < toDate('2026-08-01')
),
moves AS (
SELECT toStartOfMonth(date) AS month,
abs(c / any(c) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) - 1) * 100 AS abs_move_pct
FROM px
),
realized AS (
SELECT month,
avg(abs_move_pct) AS avg_abs_move_pct,
count() AS sessions
FROM moves
WHERE month >= toDate('2025-07-01')
GROUP BY month
)
SELECT iv.month AS month,
formatDateTimeInJodaSyntax(iv.month, 'MMMM yyyy') AS month_label,
round(iv.iv_pct / 16, 2) AS implied_daily_move_pct,
round(realized.avg_abs_move_pct, 2) AS realized_daily_move_pct,
round(iv.iv_pct / 16 - realized.avg_abs_move_pct, 2) AS gap_pct,
realized.sessions AS sessions
FROM iv
INNER JOIN realized ON iv.month = realized.month
ORDER BY monthদুটি রেখা খুব কমই একত্র হয়। July 2025-এ options-এর মূল্য নির্ধারণে গড় session-এর জন্য 0.84% ধরা হয়েছিল। কিন্তু সূচকের প্রকৃত গড় ছিল 0.33%। দুইয়ের ব্যবধান ছিল 0.51 পয়েন্ট। July 2026-এ implied figure ছিল 0.89%, যেখানে realized figure ছিল 0.59%। এই স্থায়ী ব্যবধানের একটি নাম আছে: volatility risk premium। এটি হলো tail risk বহন করার জন্য option seller-রা যে compensation সংগ্রহ করেন। অস্থিরতা বাড়লে এই ব্যবধান সংকুচিত হয়। আর options যে গতির জন্য মূল্য নির্ধারণ করেছিল, তার চেয়ে দ্রুত কোনো পরিবর্তন এলে এটি উল্টেও যেতে পারে।
ত্রিশ দিন একটি কার্ভের একটি বিন্দু
VIX-এ 30 দিনের horizon একটি নির্ধারিত পছন্দ, কোনো প্রাকৃতিক ধ্রুবক নয়। একই দিনের expiry থেকে শুরু করে কয়েক বছর পরের expiry পর্যন্ত প্রতিটি মেয়াদে option থাকে, এবং প্রতিটির নিজস্ব implied volatility থাকে। এই পুরো সেটটিই term structure। কোনো broker screen থেকে প্রতিটি expiry-এর এই সংখ্যাগুলো সংগ্রহ করতে হলে strike ও expiry-এর একটি grid বিশ্লেষণ করতে হয়। একটি option chain পড়া অংশে এই প্রক্রিয়াটি প্রতিটি column ধরে ব্যাখ্যা করা হয়েছে।
| মেয়াদ শেষ হওয়া পর্যন্ত দিনের শ্রেণি | ATM IV (%) | চুক্তি |
|---|---|---|
| 0-7 days | 9.6 | 16 |
| 8-21 days | 10.8 | 40 |
| 22-45 days | 13 | 56 |
| 46-90 days | 13.7 | 58 |
| 91-180 days | 14.9 | 42 |
| 180+ days | 17.3 | 60 |
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT multiIf(days_to_expiry <= 7, '0-7 days',
days_to_expiry <= 21, '8-21 days',
days_to_expiry <= 45, '22-45 days',
days_to_expiry <= 90, '46-90 days',
days_to_expiry <= 180, '91-180 days',
'180+ days') AS days_to_expiry_bucket,
round(avg(implied_volatility) * 100, 1) AS atm_iv_pct,
count() AS contracts
FROM global_markets.options_greeks
WHERE date = toDate('2026-07-15')
AND underlying_symbol = 'SPY'
AND abs(delta) BETWEEN 0.45 AND 0.55
AND iv_converged
AND implied_volatility BETWEEN 0.02 AND 3
GROUP BY days_to_expiry_bucket
ORDER BY min(days_to_expiry)সেই সেশনে নিকট-মেয়াদের contract-এর মূল্য ছিল 9.6%, 0-7 days bucket-এ। দূরের মেয়াদে তা বেড়ে 17.3% হয়, 180+ days-এ। এ ধরনের ঊর্ধ্বমুখী curve সাধারণত শান্ত বাজারের স্বাভাবিক চিত্র। বাজারে পতন শুরু হলে curve-এর সামনের অংশ সাধারণত পেছনের অংশের ওপরে উঠে যায়। শুধু VIX-এর একটি quote দেখলে এই পার্থক্য বোঝা যায় না। Curve-এর একেবারে সামনের অংশটি নিজেই একটি আলাদা market, যা 0DTE options অংশে বিশ্লেষণ করা হয়েছে।
তিনটি প্রচলিত ভুল ব্যাখ্যা
সবচেয়ে বেশি বিভ্রান্তি তৈরি করে “fear gauge” ডাকনামটি। শেয়ারবাজারে পতনের সময় VIX প্রায়ই বাড়ে, তাই নামটি প্রচলিত হয়েছে। তবে এর মান এখনও একটি option price, যা সেই মুহূর্তে সুরক্ষার জন্য বেশি দাম দিতে ইচ্ছুক ক্রেতাদের চাহিদায় নির্ধারিত হয়। উচ্চ reading এখন hedging-এর খরচ কত, তা দেখায়। এটি কোনো দিকনির্দেশ দেয় না এবং কোনো price move কখন ঘটতে পারে, তার সময়ও জানায় না।
দ্বিতীয় ভুল ব্যাখ্যায় উচ্চ reading-কে options কেনার সংকেত এবং নিম্ন reading-কে options বিক্রির সংকেত হিসেবে দেখা হয়। ওপরের প্যানেলটি দেখায় কেন এই সরল নিয়ম নির্ভরযোগ্য নয়। কোনো option holder-এর জন্য গুরুত্বপূর্ণ হলো, index পরে যতটা move করেছে তার তুলনায় option-এর জন্য কত level-এ দাম দেওয়া হয়েছিল। disturbance কেটে যাওয়ার পর elevated level ঐতিহাসিকভাবে দ্রুত ক্ষয়ের সঙ্গে যুক্ত হয়েছে। এই pattern-টি IV crush-এ ব্যাখ্যা করা হয়েছে।
তৃতীয় ভুল ধারণা হলো, volatility যত বেশি হবে, return-ও তত বেশি হবে। দীর্ঘমেয়াদি equity data বারবার এর বিপরীত চিত্র দেখিয়েছে। এই বিষয়টিই low volatility anomaly-এর আলোচ্য।
VIX পণ্য এবং সেগুলো ধরে রাখার খরচ
সূচকটি সরাসরি ধরে রাখা যায় না, তাই exchange-traded product তার বিকল্প হিসেবে ব্যবহৃত হয়। প্রচলিত পণ্যগুলো VIX futures ধরে রাখে এবং নিয়মিতভাবে সেগুলো পরবর্তী মেয়াদের চুক্তিতে roll করে। বাজার শান্ত থাকলে দূরের মেয়াদের futures সাধারণত কাছের মেয়াদের futures-এর চেয়ে বেশি দামে লেনদেন হয়। ফলে প্রতিটি roll-এ কম দামের চুক্তি বিক্রি করে বেশি দামের চুক্তি কিনতে হয়। প্রতিদিন এভাবে চলতে থাকলে buy-and-hold অবস্থানের বিপরীতে এই হিসাব ক্রমশ নেতিবাচক প্রভাব ফেলে। এর প্রতিফলন শেয়ারের দামে দীর্ঘস্থায়ী নিম্নমুখী প্রবণতা হিসেবে দেখা যায়। এই ধরণটি কোনো একটি নাটকীয় সেশনে নয়, বরং সাধারণ ট্রেডিং সেশনের আচরণে স্পষ্ট হয়।
| বছর | VXX মধ্যম দৈনিক পরিবর্তন (%) | SPY মধ্যম দৈনিক পরিবর্তন (%) | VXX সেশন |
|---|---|---|---|
| 2020 | -1.038 | 0.226 | 253 |
| 2021 | -0.906 | 0.134 | 252 |
| 2022 | -0.588 | -0.181 | 251 |
| 2023 | -0.971 | 0.071 | 250 |
| 2024 | -0.533 | 0.103 | 252 |
| 2025 | -0.372 | 0.133 | 250 |
| 2026 | -0.169 | 0.136 | 123 |
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH d AS (
SELECT ticker, date, toFloat64(close) AS c
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('VXX', 'SPY')
AND date >= toDate('2020-01-01')
AND date < toDate('2026-07-01')
),
r AS (
SELECT ticker,
date,
toYear(date) AS year,
(c / any(c) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) - 1) * 100 AS ret_pct
FROM d
)
SELECT year,
round(quantileDeterministicIf(0.5)(ret_pct, toUInt64(toYYYYMMDD(date)), ticker = 'VXX'), 3) AS vxx_median_daily_pct,
round(quantileDeterministicIf(0.5)(ret_pct, toUInt64(toYYYYMMDD(date)), ticker = 'SPY'), 3) AS spy_median_daily_pct,
countIf(ticker = 'VXX') AS vxx_sessions
FROM r
WHERE year >= 2020
GROUP BY year
ORDER BY year2020-এ একই সেশনগুলোতে VXX-এর median সেশনাল পরিবর্তন ছিল -1.038%, যেখানে SPY-এর ক্ষেত্রে তা ছিল 0.226%। 2026-এ, যা June 30 পর্যন্ত চলা একটি আংশিক বছর, VXX-এর median সেশনাল পরিবর্তন ছিল -0.169%। প্যানেলের প্রতিটি বছরেই volatility product-এর median নেতিবাচক ছিল। এখানে দৈনিক শতাংশ পরিবর্তন ইচ্ছাকৃতভাবে ব্যবহার করা হয়েছে, কারণ বারবার reverse split-এর কারণে raw price line বিকৃত হয় এবং পণ্যের প্রকৃত কর্মদক্ষতা অতিরঞ্জিতভাবে ভালো দেখাতে পারে। এই instrument-গুলো স্বল্পমেয়াদি ব্যবহারের জন্য তৈরি। তাই roll cost এগুলোর কোনো ত্রুটি নয়; বরং নকশারই অংশ।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
VIX 20 হলে এর অর্থ কী?
VIX 20 হলে বোঝায়, S&P 500-এর অপশনগুলোর দামে আগামী এক বছরে সূচকটির প্রায় 20% ওঠানামার প্রত্যাশা ধরা আছে, যা বার্ষিকীকৃত। এই হারকে 16 দিয়ে ভাগ করলে একটি সাধারণ ট্রেডিং সেশনে ঊর্ধ্বমুখী বা নিম্নমুখী প্রায় 1.25% পরিবর্তন দাঁড়ায়। এই সংখ্যা প্রত্যাশিত পরিবর্তনের মাত্রা বোঝায়, দিক নির্দেশ করে না।
VIX কি ভয়ের সূচক?
VIX আগামী 30 দিনে S&P 500-এর অপশন সুরক্ষার মূল্য পরিমাপ করে। অতীতে ইকুইটি বাজারে দরপতনের সময় এটি যথেষ্টবার বেড়েছে বলেই ‘ভয়ের সূচক’ নামটি প্রচলিত হয়েছে। তবে এটি একটি মূল্যসূচক, sentiment survey বা পূর্বাভাস নয়। এটি যে 30 দিনের সময়সীমার জন্য গণনা করা হয়, তার বাইরে কোনো সময়সীমা এতে নেই।
VIX-এর স্বাভাবিক স্তর কত?
ঐতিহাসিকভাবে VIX-এর রিডিং বেশিরভাগ সময় 10-এর নিম্ন ভাগ থেকে 20-এর মাঝামাঝি স্তরে থেকেছে। বাজারে চাপ তৈরি হলে স্বল্প সময়ের জন্য এটি অনেক বেশি স্তরেও উঠেছে। তুলনার জন্য, উপরের প্যানেলে 30 দিনের কাছাকাছি SPY at-the-money implied volatility-এর গড় ছিল 14.2%, July 2026 সালে।
VIX কি কেনা যায়?
VIX একটি হিসাবভিত্তিক সূচক, কোনো সিকিউরিটি নয়। তাই এটি সরাসরি কেনা যায় না। VIX futures, ওই futures-এর ওপর options অথবা সেগুলো ধরে রাখা exchange-traded products-এর মাধ্যমে এতে exposure নেওয়া যায়। এগুলোর প্রতিটি spot index-এর বদলে futures curve অনুসরণ করে। এসব পণ্যের rolling cost উপরে চার্টে দেখানো হয়েছে।
VIX থেকে প্রত্যাশিত দৈনিক পরিবর্তন কীভাবে হিসাব করবেন?
VIX-এর স্তরকে 16 দিয়ে ভাগ করুন। 16 হলো বছরে 252টি ট্রেডিং সেশনের আনুমানিক বর্গমূল্য। VIX 16 হলে একটি সাধারণ সেশনে প্রায় 1% পরিবর্তন বোঝায়। VIX 24 হলে তা প্রায় 1.5%। এটি one-standard-deviation পরিমাপ। তাই এর বাইরে থাকা পরিবর্তন অস্বাভাবিক বা বিরল নয়।
উপরের প্রতিটি প্যানেলে সংশ্লিষ্ট SQL সংরক্ষিত আছে। হিসাব যাচাই করতে যেকোনো প্যানেল খুলুন। অথবা Strasmore terminal-এ আপনার পছন্দের underlying-এর ওপর একই পরিমাপ চালান। একটি fund-এর rolling window-এ এই পরিমাপের জন্য দেখুন SPY implied volatility।