NDX vs SPX Weekly Options Analysis

ETF proxies used: QQQ ↔ NDX, SPY ↔ SPXLast updated: 2025-08-15T19:50:04.078Z

Comparative analysis of volatility metrics between NDX and SPX weekly options

Headline KPIs

Quick comparison of QQQ vs SPY weekly options: ATM IV, put skew and IV−RV spread.

Avg Weekly ATM IV

Near-term weekly implied vol at-the-money.
QQQ
28.40%
SPY
20.70%

Avg Weekly Put Skew (−25d − ATM)

Put skew: IV(put −25 delta) minus IV(ATM).
QQQ
2.10%
SPY
1.30%

Avg IV − RV (Spread)

Difference between implied and realized over option life.
QQQ
4.80%
SPY
3.10%

Volatility Charts

Time-series: Weekly ATM IV

QQQ vs SPY, window 6m

QQQSPY

Chart Visualization

Interactive chart will appear here once connected to backend data

Coming Soon

Time-series: IV − RV spread

QQQ vs SPY, window 6m

QQQSPY

Chart Visualization

Interactive chart will appear here once connected to backend data

Coming Soon

Weekly ATM IV — Raw Data

Underlying JSON payload

{
  "metric": "weekly_atm_iv",
  "window": "6m",
  "points": [
    {
      "date": "2025-06-02",
      "qqq": 27,
      "spy": 21
    },
    {
      "date": "2025-06-09",
      "qqq": 26,
      "spy": 20
    },
    {
      "date": "2025-06-16",
      "qqq": 30,
      "spy": 24
    },
    {
      "date": "2025-06-23",
      "qqq": 29,
      "spy": 23
    },
    {
      "date": "2025-06-30",
      "qqq": 28,
      "spy": 22
    },
    {
      "date": "2025-07-07",
      "qqq": 27,
      "spy": 21
    },
    {
      "date": "2025-07-14",
      "qqq": 26,
      "spy": 20
    },
    {
      "date": "2025-07-21",
      "qqq": 30,
      "spy": 24
    },
    {
      "date": "2025-07-28",
      "qqq": 29,
      "spy": 23
    },
    {
      "date": "2025-08-04",
      "qqq": 28,
      "spy": 22
    },
    {
      "date": "2025-08-11",
      "qqq": 27,
      "spy": 21
    },
    {
      "date": "2025-08-18",
      "qqq": 26,
      "spy": 20
    }
  ],
  "lastUpdated": "2025-08-18T22:15:22.241Z"
}

IV − RV Spread — Raw Data

Underlying JSON payload

{
  "metric": "iv_rv",
  "window": "6m",
  "points": [
    {
      "date": "2025-06-02",
      "qqq": 9,
      "spy": 1
    },
    {
      "date": "2025-06-09",
      "qqq": 8,
      "spy": 0
    },
    {
      "date": "2025-06-16",
      "qqq": 12,
      "spy": 4
    },
    {
      "date": "2025-06-23",
      "qqq": 11,
      "spy": 3
    },
    {
      "date": "2025-06-30",
      "qqq": 10,
      "spy": 2
    },
    {
      "date": "2025-07-07",
      "qqq": 9,
      "spy": 1
    },
    {
      "date": "2025-07-14",
      "qqq": 8,
      "spy": 0
    },
    {
      "date": "2025-07-21",
      "qqq": 12,
      "spy": 4
    },
    {
      "date": "2025-07-28",
      "qqq": 11,
      "spy": 3
    },
    {
      "date": "2025-08-04",
      "qqq": 10,
      "spy": 2
    },
    {
      "date": "2025-08-11",
      "qqq": 9,
      "spy": 1
    },
    {
      "date": "2025-08-18",
      "qqq": 8,
      "spy": 0
    }
  ],
  "lastUpdated": "2025-08-18T22:15:22.273Z"
}

Term Structure Analysis

Term Structure — Buckets

Avg IV by tenor buckets

Tenor
QQQ
SPY
5-9 DTE
27.80%
20.30%
10-14 DTE
26.40%
19.90%
25-35 DTE
25.10%
19.20%

Methodology & Data

Data Source

yfinance via a backend service. ETF options used as proxies for index options (QQQ ≈ NDX, SPY ≈ SPX).

Proxies

ETF options used as stand-ins for index options. Differences may exist due to dividends, trading hours, microstructure, and tax treatment.

Weekly Selection

Focus on expirations within 5–14 DTE. Excludes standard monthlies to focus on "pure weeklies".

Skew Definitions

Put skew = IV(put −25d) − IV(ATM). Risk reversal = IV(call +25d) − IV(put −25d).

Realized Volatility

Annualized std of log returns over the option life (≈ sqrt(252)). Aligns realized windows to match each weekly expiry cohort.

Term Structure

Compare average IV by tenor buckets (e.g., 5–9 DTE vs 25–35 DTE). Bucket expirations by tenor for comparison.

Important Limitations

ETF vs index nuances; yfinance IV completeness/accuracy; holidays; stale quotes. Values shown here are sample data for UI scaffolding.