منابع دسترسی به دادههای تاریخی نوسان ضمنی (IV)
راهنمای یافتن دادههای تاریخی نوسان ضمنی، بررسی دلایل اختلاف در سریهای 30 روزه IV، معرفی منابع رایگان و پولی و نحوه اجرای پرسوجو برای استخراج این دادهها.
دادههای تاریخی نوسان ضمنی (IV)
دادههای تاریخی نوسان ضمنی (Implied Volatility) استخراج میشوند، نه ثبت؛ همین یک واقعیت توضیح میدهد که چرا دسترسی به آنها دشوارتر از تاریخچه قیمت است. IV عددی است که از طریق معکوس کردن قیمت بازار یک اختیار در مدل قیمتگذاری به دست میآید، تا زمانی که ارزش خروجی مدل با قیمت نمایشدادهشده روی صفحه مطابقت پیدا کند. هیچ صرافی این عدد را در نوار معاملات (Tape) درج نمیکند؛ بنابراین، هر تاریخچه منتشرشده از IV، حاصل انتخابهایی در زمینه مدل، نحوه قیمتگذاری، انتخاب قرارداد و درونیابی است. همین انتخابها تفاوت اصلی میان دو سری دادهای هستند که هر دو ادعای اندازهگیری یک پدیده مشابه را دارند.
اگر ابتدا به دنبال تعریف هستید، نوسان ضمنی چیست و نوسان ضمنی چگونه محاسبه میشود سازوکار آن را پوشش میدهند. در ادامه به این میپردازیم که این تاریخچه در کجا قرار دارد و چگونه میتوان دو نسخه متفاوت از آن را از یکدیگر تشخیص داد.
چرا دسترسی به دادههای تاریخی نوسان ضمنی (IV) دشوارتر از دادههای قیمتی است؟
قیمت پایانی روزانه یک مشاهده قطعی است: معامله انجام شده (print) و تمام تأمینکنندگان داده، عدد یکسانی را گزارش میکنند. اما سطح IV حاصل یک محاسبه است و چهار ورودی این محاسبه، از منبعی به منبع دیگر متفاوت است.
- مدل: حل مدل بلک-شولز اروپایی، مدل درختی دوجملهای آمریکایی با سود تقسیمی گسسته، یا مدل اختصاصی یک تأمینکننده که فرضیات نرخ بهره و هزینه استقراض (borrow) خاص خود را دارد.
- قیمت ورودی: قیمت خرید (bid)، قیمت فروش (ask)، قیمت میانی (mid)، آخرین معامله، یا قیمت تسویه صرافی.
- قراردادهای منتخب: یک قیمت اعمال (strike) در محدوده at-the-money، یک بازه moneyness، یا فیلتر کردن بر اساس حجم یا سود باز (open-interest).
- نحوه رسیدن به سررسید ثابت: درونیابی بین دو سررسیدی که بازه 30 روزه را احاطه کردهاند، یا میانگینگیری از تمام موارد موجود در یک بازه زمانی تا سررسید.
با تغییر یکی از این ورودیها، سطح نوسان تغییر میکند. با تغییر هر چهار مورد، دو منبع معتبر ممکن است در یک جلسه معاملاتی به ارقامی با اختلاف چندین واحد نوسان برسند، بدون اینکه هیچکدام اشتباه کرده باشند.
این پراکندگی از درون یک نماد واحد آغاز میشود. جدول زیر نماد AAPL را در ژوئن 2026 بررسی میکند، تنها قراردادهایی را در نظر میگیرد که قیمت اعمال آنها در محدوده 5 درصد قیمت لحظهای (spot) است و آنها را بر اساس زمان باقیمانده تا سررسید تفکیک میکند.
کد دقیق SQL پشت هر عدد
SELECT
dte_band,
round(100 * quantileDeterministic(0.25)(iv, contract_hash), 1) AS iv_p25_pct,
round(100 * quantileDeterministic(0.50)(iv, contract_hash), 1) AS iv_median_pct,
round(100 * quantileDeterministic(0.75)(iv, contract_hash), 1) AS iv_p75_pct,
count() AS contract_day_count
FROM
(
SELECT
multiIf(days_to_expiry <= 7, '01-07d',
days_to_expiry <= 21, '08-21d',
days_to_expiry <= 45, '22-45d',
days_to_expiry <= 90, '46-90d',
days_to_expiry <= 180, '91-180d',
'181d+') AS dte_band,
toFloat64(implied_volatility) AS iv,
cityHash64(ticker) AS contract_hash,
days_to_expiry AS dte
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date >= '2026-06-01'
AND date < '2026-07-01'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry > 0
AND underlying_close > 0
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
)
GROUP BY dte_band
ORDER BY min(dte)دارایی پایه یکسان، ماه یکسان، و تنها قراردادهای نزدیک به قیمت (near-the-money). کوتاهترین بازه در این مشاهده، 01-07d، دارای میانه IV معادل 29.6% بود. طولانیترین بازه، 181d+، در سطح 28.1% قرار داشت. تنها در همان بازه نخست، صدکهای بیستوپنجم و هفتادوهفتم به ترتیب 24.9% و 35.8% بودند. شکل این نوسانات در طول سررسیدهای مختلف، ساختار زمانی (term structure) نامیده میشود و همتای آن در طول قیمتهای اعمال مختلف، کجی نوسان (volatility skew) است. هیچ عدد واحدی برای IV وجود ندارد. آنچه وجود دارد یک سطح (surface) است و هر رقم منتشرشده برای IV نماد AAPL، تنها یک خلاصه از آن است؛ همان چیزی که صفحه نوسان ضمنی AAPL ما آن را ردیابی میکند.
چرا دو نمودار IV سیروزه اعداد متفاوتی را نشان میدهند؟
یک دارایی پایه نقدشونده را در نظر بگیرید، دادههای یک سال معاملاتی را بردارید و با استفاده از همان ردیفها، IV سیروزه را به سه روش مختلف محاسبه کنید. ستون اول، قیمتهای اعمال (strike) را در محدوده 1 درصد قیمت لحظهای (spot) و سررسیدها را بین 25 تا 35 روز نگه میدارد که دقیقترین خوانش موجود است. ستون دوم، این دامنه را به 5 درصد قیمت لحظهای و 20 تا 45 روز افزایش میدهد که در صورت نیاز به پر کردن دادههای هر جلسه معاملاتی، تنظیمات پیشفرض کاربردی محسوب میشود. ستون سوم، آن مجموعه گستردهتر را بر اساس حجم قراردادها وزندهی میکند و میانگین را به سمت قیمتهای اعمالی که واقعاً معامله شدهاند، سوق میدهد.
کد دقیق SQL پشت هر عدد
WITH
near_money AS
(
SELECT
toMonday(date) AS week_start,
toFloat64(implied_volatility) AS iv,
days_to_expiry AS dte,
volume AS vol,
abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) AS moneyness
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= '2025-08-01'
AND date < '2026-08-01'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
),
weekly AS
(
SELECT
week_start,
avgIf(iv, dte BETWEEN 25 AND 35 AND moneyness < 0.01) AS tight_atm,
avg(iv) AS wide_atm,
sum(iv * vol) / sum(vol) AS volume_weighted
FROM near_money
GROUP BY week_start
HAVING countIf(dte BETWEEN 25 AND 35 AND moneyness < 0.01) > 0
)
SELECT
toString(week_start) AS week,
concat(monthName(week_start), ' ', toString(toDayOfMonth(week_start)), ', ', toString(toYear(week_start))) AS week_label,
round(100 * tight_atm, 1) AS tight_atm_pct,
round(100 * wide_atm, 1) AS wide_atm_pct,
round(100 * volume_weighted, 1) AS volume_weighted_pct,
round(100 * (greatest(tight_atm, wide_atm, volume_weighted)
- least(tight_atm, wide_atm, volume_weighted)), 1) AS spread_pp
FROM weekly
ORDER BY week_startدر نخستین هفته مورد بررسی، July 28, 2025، سه روش مذکور مقادیر 16.6%، 16.4% و 16.7% را ثبت کردند. فاصله میان بالاترین و پایینترین رقم در میان آنها 0.2 واحد درصد بود و ستون اسپرد، این شکاف را در تمام 53 هفته ردیابی میکند. هیچیک از این سه مورد، IV سیروزهی واقعی برای صندوق نیست. هر کدام به پرسش متفاوتی پاسخ میدهند و نمودار ارائهشده توسط فروشنده داده، تنها یکی از این روشهاست که فرمول محاسبه آن در برچسب نمودار ذکر نشده است.
تاریخچه نوسان ضمنی (Implied Volatility) برای هر قرارداد تا چه زمانی به عقب بازمیگردد؟
مجموعه دادههای پشت این پنلها global_markets.options_greeks است: یک ردیف برای هر قرارداد در هر روز معاملاتی، که نوسان ضمنی را در کنار دلتا، گاما، وگا، تتا و رو، به همراه قیمت اعمال (strike)، تاریخ انقضا، روزهای باقیمانده تا انقضا، نماد دارایی پایه و قیمت پایانی دارایی پایه نگه میدارد. این دادهها مربوط به پایان روز معاملاتی هستند و نه یک تصویر لحظهای از زنجیره اختیار (live chain snapshot). پنل زیر تعداد نمادهای دارایی پایه متمایزی را که در هر فصل حداقل یک ردیف IV همگرا (converged) دارند، شمارش میکند.
کد دقیق SQL پشت هر عدد
SELECT
concat(toString(toYear(date)), '-Q', toString(toQuarter(date))) AS quarter,
uniqExact(underlying_symbol) AS underlyings_covered
FROM global_markets.options_greeks
WHERE iv_converged = 1
AND volume > 0
AND underlying_symbol NOT IN ('SPCX')
AND date < '2026-07-01'
GROUP BY quarter
ORDER BY min(date)پوشش دادهها از 2014-Q2 تا 2026-Q2، در مجموع 49 فصل را در بر میگیرد و در آخرین فصل کامل نمایشدادهشده، 5799 نماد دارایی پایه دارای IV روزانه همگرا بودهاند.
هنگام پرسوجو از مجموعهای مانند این، چهار فیلتر بیشترین سهم را در پردازش دارند:
- حفظ
iv_converged = 1. حلکننده (solver) همیشه به نتیجه نمیرسد و ردیف همگرانشده، یک برازش ناموفق محسوب میشود، نه یک عدد پایین. - حفظ
volume > 0. قراردادی که هرگز معامله نشده است، دارای IV است که از یک مظنه قدیمی (stale quote) استخراج شده است. - گروهبندی بر اساس
underlying_symbol. ستونtickerکد قرارداد OCC را در خود جای داده است، بنابراین گروهبندی بر اساس آن، به جای یک ردیف برای هر شرکت، یک ردیف برای هر قیمت اعمال و تاریخ انقضا بازمیگرداند. - انتخاب آگاهانه قراردادها، نزدیک به قیمت بازار (near the money) و در محدوده زمانی مشخص تا انقضا. نادیده گرفتن این مرحله باعث میشود که چولگی (skew) و ساختار زمانی (term structure) در یک عدد واحد میانگینگیری شوند.
آیا API رایگانی برای نوسان ضمنی (Implied Volatility) وجود دارد؟
منابع رایگانی وجود دارند، اما هرکدام محدودیتهای خاص خود را دارند.
- پلتفرمهای کارگزاری، نوسان ضمنی (IV) را در زنجیرههای اختیار خود محاسبه کرده و بهصورت زنده نمایش میدهند. تاریخچه قابل دانلود در این پلتفرمها بسیار کوتاه است یا اصلاً وجود ندارد و عدد نمایشدادهشده، خروجی مدل اختصاصی همان کارگزار است، نه یک استاندارد جهانی.
- شاخصهای نوسان منتشرشده توسط بورسها، دارای تاریخچهای چنددهساله و رایگان هستند. هر شاخص، یک عدد ترکیبی واحد برای یک سبد دارایی است؛ بنابراین به پرسشهای مربوط به کل بازار پاسخ میدهد، نه داراییهای تکسهم.
- APIهای عمومی دادههای بازار عمدتاً به قیمتها محدود میشوند. دادههای یونانی (Greeks) برای هر قرارداد، تقریباً در همه جا محصولی جداگانه محسوب میشوند و سطوح رایگانِ ارائهدهندگان، معمولاً تنها یک نمای لحظهای (Snapshot) بدون آرشیو ارائه میدهند. بررسی ما از API رایگان دادههای بازار سهام نشان میدهد که سطوح رایگان در واقع چه دادههایی را در اختیار کاربر قرار میدهند.
- تاریخچه قیمتگذاریشده برای هر قرارداد، جایی است که آرشیوهای طولانیمدت تکسهم در آن قرار دارد. این دادهها بهصورت فایلهای پایان روز (EOD) به تفکیک ماه یا سال فروخته میشوند و قیمت زنجیرههای لحظهای (Realtime) بسیار بالاتر از مجموعههای تاریخی است. مطلب هزینه دادههای لحظهای بازار ساختار این فهرستهای قیمتی را تشریح میکند.
تمایز میان نمای لحظهای و دادههای پایان روز به اندازه قیمت اهمیت دارد. نمای لحظهای که در ساعت 4 بعدازظهر به وقت شرقی (ET) ثبت میشود، از هر مظنهای که در آن لحظه وجود داشته استفاده میکند. فایلی که از قیمتهای تسویه (Settlement) ساخته میشود، از ورودی کاملاً متفاوتی استفاده میکند و این دو در روزهای پرنوسان بیشترین واگرایی را دارند.
نوسان شاخصهای ترکیبی و نوسان تکسهم نیز قابل جایگزینی با یکدیگر نیستند. اختیار معامله شاخص، حرکت یک سبد را قیمتگذاری میکند که در آن، حرکات خنثیکننده اعضای سبد، نوسان کل را کاهش میدهند. اختیار معامله تکسهم، مسیر اختصاصی یک شرکت را قیمتگذاری میکند. جدول زیر نامهای شناختهشده را در طول یک ماه و با فیلترهای یکسان در کنار هم قرار میدهد.
کد دقیق SQL پشت هر عدد
SELECT
underlying_symbol AS symbol,
round(100 * quantileDeterministic(0.50)(iv, contract_hash), 1) AS median_iv_pct,
count() AS contract_day_count
FROM
(
SELECT
underlying_symbol,
toFloat64(implied_volatility) AS iv,
cityHash64(ticker) AS contract_hash
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO', 'XOM', 'TLT')
AND date >= '2026-06-01'
AND date < '2026-07-01'
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
)
GROUP BY symbol
ORDER BY median_iv_pct DESCدر طول ژوئن 2026، میانه IV برای قراردادهای نزدیک به قیمت (Near-the-money) در بازه 20 تا 45 روزه، از 38.5% در NVDA تا 10.4% در TLT، در میان 8 نماد متغیر بود. همان بازه، همان فیلترها و همان روش محاسبه. چنین رتبهبندیای تنها زمانی معتبر است که دستورالعمل محاسبه برای تمامی نمادها ثابت باقی بماند.
آیا منبع داده برای IV rank و IV percentile اهمیت دارد؟
این موضوع تعیینکننده پاسخ است. IV rank مقدار IV امروز را در برابر بالاترین و پایینترین مقادیر یک دوره بازنگری (معمولاً یکساله) میسنجد و IV percentile محاسبه میکند که چه درصدی از روزهای آن دوره، پایینتر از سطح امروز بودهاند. هر دو شاخص یک سری داده را بهطور کامل بررسی میکنند، بنابراین تغییر در سری داده، بدون هیچ تغییری در وضعیت بازار، امتیاز را جابهجا میکند. اگر IV میانگین مظنههای (mid-quote) یک کارگزار را به آرشیو مبتنی بر قیمت تسویه یک فروشنده داده متصل کنید، یک گسست دائمی در میانه دوره بازنگری ایجاد کردهاید و هر رتبهای که در طول آن محاسبه شود، تحت تأثیر این گسست قرار میگیرد. IV rank در برابر IV percentile هر دو محاسبه را بررسی میکند. همین الزام هنگام مقایسه حرکت ضمنی با حرکت تحققیافته نیز صدق میکند: نوسان تاریخی در برابر نوسان ضمنی به این جفتسازی میپردازد.
استاندارد عملیاتی، یک قاعده اصالت داده است. یک منبع، یک مدل، یک دستورالعمل انتخاب قرارداد و یک قرارداد سررسید انتخاب کنید و سپس هر چهار مورد را برای کل دوره بازنگری ثابت نگه دارید. سری دادهای که از نظر داخلی منسجم باشد و اندکی با دادههای دیگران تفاوت داشته باشد، ارزشمندتر از سری دادهای است که بهصورت تکهتکه از منابع مختلف گردآوری شده و در هر بخش با یک فروشنده همخوانی دارد.
پرسشهای متداول
دادههای تاریخی نوسان ضمنی (Implied Volatility) را از کجا میتوان دریافت کرد؟
تاریخچههای طولانی برای تکسهمها از طریق فروشندگان دادههای اختیار معامله به دست میآیند که یونانیهای (Greeks) پایان روز را بهصورت قرارداد به قرارداد و معمولاً در قالب فایلهای ماهانه یا سالانه عرضه میکنند. بورسها تاریخچه نوسان در سطح شاخص را بهصورت رایگان منتشر میکنند. پلتفرمهای کارگزاری، نوسان ضمنی (IV) لحظهای را در زنجیره اختیارها نمایش میدهند اما تاریخچه قابلدانلود اندکی دارند. پنلهای بالا بر اساس مجموعهای از دادههای روزانه برای هر قرارداد فهرستشده که با یک مدل برازش همگرا محاسبه شدهاند، اجرا میشوند.
آیا API رایگانی برای نوسان ضمنی وجود دارد؟
سطوح رایگانی که شامل یونانیهای قرارداد به قرارداد باشند، کمیاب هستند و مواردی که وجود دارند معمولاً بهجای آرشیو، یک اسنپشات لحظهای ارائه میدهند. تاریخچه نوسان شاخص، اصلیترین سری دادههای طولانی است که واقعاً رایگان است. تاریخچه عمیق تکسهمها معمولاً یک محصول پولی است.
چرا دو منبع مختلف، نوسان ضمنی متفاوتی برای یک سهم نشان میدهند؟
تفاوت در مدلهای قیمتگذاری، قیمتهای ورودی متفاوت، انتخاب قراردادهای متفاوت و درونیابی سررسیدهای متفاوت. پنل بالا سه سری 30 روزه را از یک مجموعه ردیف داده میسازد و آنها تنها در هفته اول 0.2 واحد درصد با هم اختلاف دارند؛ بنابراین وجود شکاف بین دو فروشنده داده، امری مورد انتظار است و نه یک خطا.
تاریخچه دادههای نوسان ضمنی تا چه زمانی به عقب برمیگردد؟
این موضوع به منبع بستگی دارد و آرشیوهای قرارداد به قرارداد در همه جا کوتاهتر از آرشیوهای قیمت هستند. مجموعه دادههای پشت این صفحه از 2014-Q2 آغاز شده و شامل ردیفهای روزانه برای تمامی قراردادهای همگرا از آن تاریخ تاکنون است.
هر پنل در اینجا به همراه کد SQL تولیدکننده آن ارائه شده است؛ یکی از آنها را باز کنید تا دقیقاً ببینید چه قراردادهایی در محاسبه آن عدد لحاظ شدهاند. برای ساخت سری مشابه برای نمادی دیگر، پنجرهای دیگر یا فرمولی متفاوت، آن را به زبان ساده در ترمینال Strasmore درخواست کنید.