VIX 정의와 측정 방식 설명
VIX는 S&P 500 옵션 가격에서 산출된 30일 예상 변동성입니다. 15 또는 30 수준의 일간 변동폭 의미와 VIX 상품 비용을 확인하세요.
VIX는 S&P 500 지수 옵션이 향후 30일간의 움직임에 대해 청구하는 가격을 연율화된 백분율로 요약한 단일 숫자입니다. VIX가 16 근처이면 지수의 일간 변동폭이 약 1%임을 의미하고, 32 근처이면 약 2%에 해당합니다. 이는 누군가 발표하는 예측이 아니라 실시간 옵션 호가에서 읽어낸 가격입니다.
VIX가 실제로 측정하는 것
Cboe는 S&P 500 지수 옵션의 호가를 바탕으로 VIX를 산출하며, 30일 후 시점을 전후하는 두 개의 만기를 혼합합니다. 계산 과정에서 단일 등가격(ATM) 계약을 선택하지 않습니다. 외가격(OTM) 풋과 콜의 전체 스트립을 훑어 각 옵션에 행사가 제곱의 역수로 가중치를 부여하고, 이를 분산 수치로 합산한 후 제곱근을 취해 연율화합니다. 이러한 구성에서 두 가지 속성이 도출됩니다.
- 스트립 통계량입니다. 극단적 외가격 풋은 실질적인 비중을 가지므로, VIX 수준은 심층 하방 보호 비용이 다른 모든 요소에 비해 얼마나 비싸졌는지를 추적합니다. 이러한 형태는 변동성 스큐에서 다룹니다.
- 영구적으로 30일 선행합니다. 날짜가 지남에 따라 계산은 만기를 넘나들며 롤링되며, 개별 옵션처럼 지수 자체가 더 짧은 기간으로 노후화되지 않습니다.
지수 자체는 매수하거나 매도할 수 없습니다. 거래되는 것은 선물, 해당 선물의 옵션, 그리고 이를 기반으로 한 상장지수상품(ETP)이며, 이 페이지에서 대부분의 혼란이 시작되는 지점입니다.
당사의 옵션 기록은 상장된 계약을 종목별로 다루므로, 아래 모든 패널은 Cboe가 공식 지수에 반영하는 SPX 계약이 아닌 S&P 500 추적 펀드인 SPY를 측정합니다. 기초 지수는 동일하고 산술 방식도 동일합니다. 수준은 공식 VIX와 매 호가 일치하지는 않지만 근접하게 움직이며, 이 페이지가 주목하는 것은 그 형태입니다. 동일한 측정의 단일 종목 버전은 내재변동성에 설명되어 있습니다.
모든 수치 뒤에 숨겨진 정확한 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 month13개월 차트 기간 동안 월평균치는 July 2025에 13.5%로 시작하여 July 2026에 14%로 마감했습니다. March 2026는 21.2%로 이 두 값보다 훨씬 높습니다. 해당 월 내 개별 계약 체결 가격은 13.6%에서 33.3% 사이에 분포했는데, 이는 단일 헤드라인 숫자가 숨기는 첫 번째 사실입니다. 즉, 지수는 결코 균일하지 않은 스트립에 대한 평균값입니다.
VIX 수준을 예상 일간 변동폭으로 전환하기
VIX는 연율화되어 있으며, 트레이더들은 이를 16으로 나누어 일간 수치로 변환합니다. 16은 1년의 대략적인 미국 거래일 수인 252의 제곱근이며, 변동성은 시간의 제곱근에 비례하여 확장됩니다. 16이라는 수치는 1%로 나누어지므로, 시장은 지수가 일반적인 거래일마다 양방향으로 약 1% 움직일 것으로 가격에 반영하고 있습니다. 32라는 수치는 2%를 의미합니다. 1주일 기준으로 보려면 연간 수치를 52의 제곱근인 약 7.2로 나눕니다.
이 간편법에는 두 가지 주의사항이 따릅니다. 일간 수치는 1표준편차 움직임으로, 정규분포상 대략 3번 중 2번의 거래일에서 발생하며, 나머지 3분의 1은 이 범위를 벗어납니다. 또한 이 수치는 옵션이 청구하는 가격일 뿐, 실제 지수가 보인 움직임과는 별개의 양입니다.
모든 수치 뒤에 숨겨진 정확한 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에 옵션은 0.84%의 평균 거래일 변동폭을 가격에 반영했지만, 실제 지수 평균은 0.33%로 0.51포인트의 차이를 보였습니다. July 2026에는 내재된 수치가 0.88%였던 반면 실현된 수치는 0.61%였습니다. 이 지속적인 차이에는 변동성 위험 프리미엄이라는 이름이 있으며, 이는 꼬리 위험을 감수하는 옵션 매도자들이 챙기는 보상입니다. 이 차이는 혼란한 시기에는 좁아지며, 옵션 가격이 반영했던 속도보다 더 빠르게 움직임이 발생하면 역전될 수 있습니다.
30일은 곡선 위의 한 점일 뿐
VIX의 30일 기간은 선택일 뿐 자연 상수가 아닙니다. 옵션은 당일부터 수년 후까지 모든 만기에 존재하며, 각각 고유한 내재변동성을 지닙니다. 전체 집합이 기간 구조입니다.
모든 수치 뒤에 숨겨진 정확한 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)해당 거래일의 근월물 계약은 0-7 days 구간에서 9.6%의 가격을 보였으며, 180+ days 구간에서는 17.3%까지 상승했습니다. 이러한 상향 기울기 곡선은 평온한 시장의 일반적인 형태입니다. 하락장 동안에는 일반적으로 곡선의 앞부분이 뒷부분보다 높아지며, VIX 호가만으로는 이러한 현상을 전혀 알 수 없습니다. 이 곡선의 가장 앞부분은 그 자체로 하나의 시장이며, 0DTE 옵션에서 자세히 다룹니다.
세 가지 흔한 오해
"공포 지수"라는 별명이 대부분의 문제를 야기합니다. VIX는 주식 하락장에서 상승하는 경우가 많아 그 꼬리표가 붙었지만, 그 수준은 여전히 옵션 가격이며, 그 순간에 헤지를 위해 비용을 지불하는 사람들에 의해 결정됩니다. 높은 수치는 현재 헤징 비용이 얼마인지를 기록할 뿐입니다. 움직임이 언제 도래할지에 대한 방향이나 시점 정보는 포함하지 않습니다.
두 번째 오해는 높은 수치를 옵션 매수 신호로, 낮은 수치를 옵션 매도 신호로 간주하는 것입니다. 위 패널은 이러한 간편법이 신뢰할 수 없는 이유를 보여줍니다. 옵션 보유자에게 중요한 것은 지불한 수준 대비 지수가 실제로 보여준 움직임이며, 역사적으로 높은 수준 이후에는 혼란이 지나간 후 변동성이 더 빠르게 붕괴하는 패턴이 뒤따랐습니다. 이 패턴은 IV 크러시에서 설명됩니다.
세 번째는 변동성이 높을수록 더 높은 수익을 제공한다는 가정입니다. 장기 주식 데이터는 반복적으로 반대의 결과를 보여주었으며, 이는 저변동성 이상 현상의 주제입니다.
VIX 상품과 보유 비용
지수를 직접 보유할 수 없기 때문에 상장지수상품(ETP)이 대신합니다. 일반적인 상품은 VIX 선물을 보유하고 이를 지속적으로 롤오버합니다. 평온한 시기에는 일반적으로 먼 만기의 선물이 가까운 만기보다 높은 가격에 거래되므로, 각 롤마다 더 저렴한 계약을 매도하고 더 비싼 계약을 매수하게 됩니다. 매일 반복되면 이 산술적 차이는 매수 후 보유 포지션에 대해 복리 효과로 작용하여, 주가에 지속적인 하락 추세로 나타납니다. 이 패턴은 극적인 단일 거래일보다는 일반적인 거래일에서 관찰됩니다.
모든 수치 뒤에 숨겨진 정확한 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의 중간 거래일 변동폭은 -1.038%였으며, 같은 기간 SPY는 0.226%였습니다. 2026(6월 30일까지의 일부 연도)에는 VXX의 중간 거래일 변동폭이 -0.169%였습니다. 패널의 모든 연도에서 변동성 상품의 중간값은 음수입니다. 여기서는 의도적으로 일간 변동률을 사용했는데, 원시 가격 선은 반복적인 액면병합으로 인해 왜곡되어 상품을 매우 좋게 보이게 할 수 있기 때문입니다. 이러한 상품은 단기 투자 도구로 설계되었으며, 롤 비용은 결함이 아니라 설계상의 특징입니다.
FAQ
VIX가 20이라는 것은 무엇을 의미하나요?
VIX가 20이라는 것은 S&P 500 옵션이 향후 1년간 지수가 연율 기준 약 20% 움직일 것으로 가격에 반영하고 있음을 의미합니다. 16으로 나누면 일반적인 거래일마다 약 1.25%의 상승 또는 하락 움직임이 예상됩니다. 이 수치는 예상 움직임의 크기를 설명할 뿐 방향에 대해서는 아무것도 말해주지 않습니다.
VIX는 공포 지수인가요?
VIX는 향후 30일간의 S&P 500 옵션 보호 비용을 측정합니다. 과거 주식 하락장에서 상승한 경우가 많아 그 별명이 붙었지만, 여전히 감정 조사나 예측이 아닌 가격입니다. 또한 계산되는 30일 기간을 넘어서는 범위를 갖지 않습니다.
정상적인 VIX 수준은 얼마인가요?
역사적 수치는 대부분 10대 중후반에서 20대 사이에 머물렀으며, 시장 스트레스 시기에 일시적으로 훨씬 더 높은 수준으로 치솟았습니다. 참고점으로, 위 패널에서 July 2026의 SPY 등가격 내재변동성(약 30일) 평균은 14%였습니다.
VIX를 살 수 있나요?
지수는 계산식일 뿐 증권이 아니므로 매수할 수 없습니다. 익스포저는 VIX 선물, 해당 선물의 옵션, 또는 이를 보유한 상장지수상품(ETP)을 통해 얻을 수 있으며, 각각 현물 지수가 아닌 선물 곡선을 추종합니다. 이러한 상품의 롤 비용은 위에 차트로 표시되어 있습니다.
VIX를 예상 일간 변동폭으로 어떻게 변환하나요?
VIX 수준을 1년의 약 252거래일의 제곱근인 16으로 나눕니다. 16 수준은 약 1%의 일반적인 거래일 변동폭을, 24 수준은 약 1.5%를 의미합니다. 이는 1표준편차 수치이므로, 이를 벗어나는 움직임은 드문 일이 아니라 흔한 일입니다.
위의 모든 패널은 해당 SQL을 저장하고 있습니다. 계산을 검토하려면 패널을 열거나, Strasmore 터미널에서 선택한 기초 자산에 대해 동일한 측정을 실행하십시오. 롤링 기간 동안 하나의 펀드에 대한 이 측정에 대해서는 SPY 내재변동성을 참조하십시오.