Strasmore Research
학습 Matt Connor작성자 Matt Connor · 업데이트됨 2026-10-16

0DTE 옵션 위험성 분석: 감마와 세타의 영향

0DTE(만기 당일 옵션)의 고위험 원인을 감마와 세타 관점에서 분석합니다. SPY(S&P 500 ETF) 당일 만기 계약과 한 달 만기 계약의 프리미엄 대비 변동성을 비교하며, 옵션 가격이 두 배가 되기 위해 필요한 기초자산의 움직임을 설명합니다.

0DTE 옵션의 위험성

0DTE(만기 당일 옵션)는 고위험 상품인가? 기계적으로 보면 그렇다. 당일 만기 계약은 한 달짜리 옵션이 가진 감마(gamma)와 세타(theta)를 단 하루의 세션에 압축해 놓은 것과 같다. SPY(S&P 500 ETF)가 평범한 한 주 동안 움직일 법한 변동성만으로도 옵션 프리미엄(option premium)은 두 배가 되거나 0으로 수렴할 수 있다. 그러나 개인 투자자의 계좌를 파산시키는 주범은 대개 파생상품 그 자체가 아니다. 바로 포지션 규모다. 아래 수치는 2026년 6월에 거래된 실제 SPY 계약에서 산출되었다.

0DTE 옵션이 만기가 긴 옵션보다 더 위험한 이유는 무엇인가?

0DTE 옵션은 거래 마지막 날에 있는 계약을 의미한다(DTE는 만기까지 남은 일수이며, 0DTE 옵션의 정의에 관한 입문서에서 기초 개념을 다룬다). 계약 만기가 수주가 아닌 수 시간 남았을 때 세 가지 변화가 발생한다.

회복할 시간이 없다. 30일 만기 계약은 불리한 가격 변동을 견디며 기다릴 수 있지만, 당일 만기 계약은 그럴 수 없다. 등가격(at-the-money) 0DTE 옵션 프리미엄(option price)의 모든 달러는 장 마감 시 0이 되는 시간 가치이다.

감마(gamma)가 집중된다. 델타(delta)는 기초자산이 1달러 움직일 때 옵션 가격이 변하는 민감도이며, 감마는 기초자산이 움직임에 따라 델타가 변하는 속도이다. 만기가 가까워질수록 행사가격(strike price) 주변에 감마가 쌓이며, SPY의 작은 움직임만으로도 계약의 델타가 0에서 1에 가깝게 급변할 수 있다(옵션 감마의 원리에서 메커니즘을 설명한다).

세타(theta)가 프리미엄 대비 막대하다. 세타는 시간 경과에 따라 옵션 가치가 매일 감소하는 정도를 의미한다. 당일 만기 계약의 경우 정의상 프리미엄 전체가 세타에 해당한다(옵션 세타에서 계약 기간에 따른 곡선을 다룬다).

첫 번째 패널은 이를 가격으로 보여준다. 2026년 6월의 모든 거래일 동안 등가격 SPY 콜옵션(행사가격이 SPY 종가의 0.25% 이내인 경우)을 추출하여 만기까지 남은 일수별로 그룹화하고, 평균 비용과 프리미엄을 회수하기 위해 SPY가 움직여야 하는 거리를 산출했다.

조회만기 잔존일별 등가격(ATM) SPY 콜옵션 프리미엄 (2026년 6월)
DTE 구간평균 프리미엄손익분기 변동률(%)2배 변동률(%)델타 변동률(%)
1 day (next session)3.020.410.810.79
2-5 days4.770.641.291.25
6-10 days6.70.91.81.73
11-20 days9.021.222.432.31
21-45 days14.271.923.843.56
모든 수치 뒤에 숨겨진 정확한 SQL
WITH atm_calls AS
(
    SELECT
        days_to_expiry              AS dte,
        toFloat64(option_close)     AS premium,
        toFloat64(underlying_close) AS spot,
        toFloat64(delta)            AS dlt
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND lower(toString(option_type)) IN ('call', 'c')
      AND date >= toDate('2026-06-01')
      AND date <  toDate('2026-07-01')
      AND days_to_expiry > 0
      AND days_to_expiry <= 45
      AND iv_converged = 1
      AND volume > 0
      AND option_close > 0
      AND toFloat64(delta) BETWEEN 0.2 AND 0.8
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.0025
)
SELECT
    multiIf(dte <= 1,  '1 day (next session)',
            dte <= 5,  '2-5 days',
            dte <= 10, '6-10 days',
            dte <= 20, '11-20 days',
                       '21-45 days')                   AS dte_bucket,
    round(avg(premium), 2)                             AS avg_premium,
    round(avg(premium / spot) * 100, 2)                AS breakeven_move_pct,
    round(avg(premium / spot) * 200, 2)                AS double_move_pct,
    round(avg(premium / (dlt * spot)) * 100, 2)        AS delta_move_pct
FROM atm_calls
GROUP BY dte_bucket
ORDER BY min(dte)
직접 실행해 보기

만기가 1일 남은 계약의 평균 비용은 $3.02(SPY 가격의 0.41%)인 반면, 만기가 21~45일 남은 계약은 $14.27(1.92%)였다. breakeven_move_pct 열은 콜옵션이 지불한 비용만큼의 가치를 가지기 위해 만기 시 SPY가 행사가격보다 얼마나 높게 마감해야 하는지를 나타내며, double_move_pct는 그 두 배의 수치이다. delta_move_pct 열은 오늘을 기준으로 한 1차 근사치로, 계약의 현재 델타만으로 전체 프리미엄만큼의 수익이나 손실이 발생하는 SPY의 변동 폭을 의미한다. 다음 날 만기 계약의 경우 이 수치는 0.79%이며, 한 달 만기 계약의 경우 3.56%이다. 두 수치를 아래 만기일 패널의 일일 SPY 변동 폭과 비교해 보라.

0DTE 옵션 프리미엄이 두 배가 되거나 0이 되려면 SPY가 얼마나 움직여야 하는가?

저렴한 계약이 큰 그리스(Greeks) 값을 가질 수도 있고, 비싼 계약이 작은 그리스 값을 가질 수도 있으므로 프리미엄 1달러당 노출액을 기준으로 비교하는 것이 타당하다. 다음 패널은 동일한 2026년 6월 만기 계약에 대해 감마(gamma)와 세타(theta)를 프리미엄으로 나눈 뒤, 각 구간을 21~45일 구간의 배수로 나타낸 것이다.

조회만기 잔존일별 프리미엄 1달러당 감마(Gamma) 및 세타(Theta) (2026년 6월)
DTE 구간프리미엄 달러당 감마일일 세타(%)1개월물 대비 감마 비율1개월물 대비 세타 비율
1 day (next session)0.029551.831.828.7
2-5 days0.009317109.4
6-10 days0.00476.95.13.9
11-20 days0.00233.92.52.2
21-45 days0.00091.811
모든 수치 뒤에 숨겨진 정확한 SQL
WITH atm_calls AS
(
    SELECT
        days_to_expiry          AS dte,
        toFloat64(option_close) AS premium,
        toFloat64(gamma)        AS gma,
        toFloat64(theta)        AS tht
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND lower(toString(option_type)) IN ('call', 'c')
      AND date >= toDate('2026-06-01')
      AND date <  toDate('2026-07-01')
      AND days_to_expiry > 0
      AND days_to_expiry <= 45
      AND iv_converged = 1
      AND volume > 0
      AND option_close > 0
      AND toFloat64(delta) BETWEEN 0.2 AND 0.8
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.0025
),
ladder AS
(
    SELECT
        multiIf(dte <= 1,  '1 day (next session)',
                dte <= 5,  '2-5 days',
                dte <= 10, '6-10 days',
                dte <= 20, '11-20 days',
                           '21-45 days')       AS dte_bucket,
        min(dte)                               AS dte_lo,
        avg(gma / premium)                     AS gamma_raw,
        avg(abs(tht) / premium) * 100          AS theta_raw
    FROM atm_calls
    GROUP BY dte_bucket
)
SELECT
    dte_bucket,
    round(gamma_raw, 4)                                                                   AS gamma_per_premium_dollar,
    round(theta_raw, 1)                                                                   AS theta_pct_per_day,
    round(gamma_raw / (SELECT gamma_raw FROM ladder WHERE dte_bucket = '21-45 days'), 1)  AS gamma_ratio_vs_month_out,
    round(theta_raw / (SELECT theta_raw FROM ladder WHERE dte_bucket = '21-45 days'), 1)  AS theta_ratio_vs_month_out
FROM ladder
ORDER BY dte_lo
직접 실행해 보기

프리미엄 1달러당 익일 만기 계약의 감마는 0.0295였고, 한 달 만기 계약은 0.0009로, 그 비율은 31.8 대 1이었다. 세타는 익일 만기 계약에서 프리미엄의 51.8%, 한 달 만기 계약에서 1.8%를 기록하여 28.7 대 1의 비율을 보였다.

장 마감 시점에 프리미엄이 두 배가 되거나 0이 되는 산술적 근거는 오직 페이오프(payoff)에서 나온다. 콜옵션의 가치는 SPY 종가에서 행사가격을 뺀 금액이거나, 아니면 0이다. 등가격(at the money)에서 매수한 경우, SPY가 행사가격보다 프리미엄의 두 배만큼 높은 가격(익일 만기 계약 기준 SPY 가격의 0.81%)으로 마감하면 가치는 두 배가 되고, 행사가격 이하로 마감하면 0이 된다. 횡보만 해도 0이 되기에 충분하다. 한 달 만기 계약은 만기 시 두 배가 되려면 행사가격보다 3.84% 높은 수준에서 마감해야 하며, SPY가 그 지점에 도달할 때까지 수주라는 시간과 중간에 매도할 수 있는 선택권이 주어진다. 페이오프는 같지만 시간의 흐름이 다르며, 그리스는 그 시간의 흐름이 중간 가격에 미치는 영향을 나타낸다.

감마가 행사가격(strike price)에 집중되는 이유

감마(gamma)는 기초자산 가격이 위치한 지점에서 정점을 찍고 양옆으로 갈수록 감소하며, 만기가 가까워질수록 그 정점은 더욱 가팔라집니다. 해당 패널은 SPY의 1% 변동에 따른 델타(delta) 변화량(감마에 SPY 가격을 곱하고 100으로 나눈 값)을 2026년 6월물 기준 등가격(at-the-money)에서 0.5% 단위로 평균하여 나타냅니다. 여기에는 현물 가격보다 높은 외가격(out-of-the-money) 콜옵션과 낮은 외가격 풋옵션이 사용되며, 동일한 행사가격에서 이들은 같은 감마 값을 가집니다.

조회행사가와의 거리에 따른 SPY 1% 변동 시 델타(Delta) 변화 (2026년 6월)
머니니스익일 델타 변화1개월물 델타 변화
-2%0.0780.071
-1.5%0.1310.077
-1%0.2240.081
-0.5%0.3720.087
0%0.4970.092
+0.5%0.3880.097
+1%0.2110.098
+1.5%0.0940.097
+2%0.0420.095
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    concat(if(half_pct > 0, '+', ''), toString(half_pct / 2), '%')  AS moneyness,
    round(avgIf(gma * spot / 100, dte <= 1), 3)                      AS next_day_delta_shift,
    round(avgIf(gma * spot / 100, dte BETWEEN 21 AND 45), 3)         AS month_out_delta_shift
FROM
(
    SELECT
        toInt32(round((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 200)) AS half_pct,
        days_to_expiry                                                                     AS dte,
        toFloat64(gamma)                                                                   AS gma,
        toFloat64(underlying_close)                                                        AS spot
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND date >= toDate('2026-06-01')
      AND date <  toDate('2026-07-01')
      AND ((days_to_expiry > 0 AND days_to_expiry <= 1) OR days_to_expiry BETWEEN 21 AND 45)
      AND iv_converged = 1
      AND volume > 0
      AND option_close > 0
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.0225
      AND ((lower(toString(option_type)) IN ('call', 'c') AND strike_price >= underlying_close)
        OR (lower(toString(option_type)) IN ('put', 'p')  AND strike_price <  underlying_close))
)
GROUP BY half_pct
HAVING countIf(dte <= 1) > 0 AND countIf(dte BETWEEN 21 AND 45) > 0
ORDER BY half_pct
직접 실행해 보기

행사가격에서 1% 변동 시 익일 만기 계약의 델타는 0.497만큼, 한 달 만기 계약의 델타는 0.092만큼 변화했습니다. 등가격에서 2% 떨어진 지점의 수치는 각각 0.042과 0.095이었습니다. 한 선은 급격한 상승을 보이고, 다른 선은 완만한 고원 형태를 나타냅니다. 만기가 당일인 계약은 행사가격 근처에서 SPY 가격이 몇 달러만 움직여도 방향성 노출(directional exposure)이 완전히 재설정되는데, 이것이 바로 만기 시 핀 리스크(pin risk at expiration)의 배경이 되는 집중 현상입니다.

당일 만기 SPY 콜옵션의 한 달간 실제 성과

그릭스(Greeks)는 옵션 가격을 국소적으로 설명합니다. 전체적인 결과를 확인하기 위해 다음 패널은 만기별로 계약 하나씩을 추적합니다. 2026년 6월 각 SPY 만기일에 대해, 만기 전 거래일 종가와 가장 가까운 행사가격(strike price)의 콜옵션을 선정합니다. 해당일 저녁의 종가(다음 장 시작 전 화면에 표시된 가격, 갭 발생 이전)를 기록한 뒤, 만기일 종가 기준으로 계약 가치를 평가합니다. 이는 SPY 종가에서 행사가격을 뺀 값이며, SPY가 행사가격 이하로 마감할 경우 가치는 0이 됩니다. 만기 시점의 콜옵션 가치는 이것이 전부입니다.

조회등가격(ATM) SPY 콜옵션: 전일 종가 대비 만기일 종가 가치 (2026년 6월 만기 전체)
21 rows (showing 20)
만기일만기 라벨전일 종가 프리미엄만기 시 가치잔존 프리미엄(%)SPY 변동률(%)
2026-06-01Mon Jun 12.50.58230.12
2026-06-02Tue Jun 22.712.63970.4
2026-06-03Wed Jun 31.6200-1.2
2026-06-04Thu Jun 43.993.56890.53
2026-06-05Fri Jun 52.9800-2.54
2026-06-08Mon Jun 83.953.72940.46
2026-06-09Tue Jun 92.7500-0.41
2026-06-10Wed Jun 103.6100-1.74
2026-06-11Thu Jun 115.4416.483032.3
2026-06-12Fri Jun 123.53.45990.4
2026-06-15Mon Jun 153.4811.913421.54
2026-06-16Tue Jun 162.2200-0.42
2026-06-17Wed Jun 172.2300-0.69
2026-06-18Thu Jun 180.890.941060.18
2026-06-22Mon Jun 223.1500-0.44
2026-06-23Tue Jun 232.7800-1.16
2026-06-24Wed Jun 242.752.2800.3
2026-06-25Thu Jun 252.6800-0.61
2026-06-26Fri Jun 263.6100-0.2
2026-06-29Mon Jun 293.869.762531.31
모든 수치 뒤에 숨겨진 정확한 SQL
WITH spy_by_day AS
(
    SELECT
        toDate(date)                             AS d,
        medianExact(toFloat64(underlying_close)) AS spot
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND date >= toDate('2026-06-01')
      AND date <  toDate('2026-07-01')
      AND underlying_close > 0
    GROUP BY d
),
last_sessions AS
(
    SELECT
        toDate(expiration_date) AS exp_date,
        max(toDate(date))       AS prior_session
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND expiration_date >= toDate('2026-06-01')
      AND expiration_date <  toDate('2026-07-01')
      AND date >= toDate('2026-05-22')
      AND date <  expiration_date
      AND volume > 0
    GROUP BY exp_date
),
atm AS
(
    SELECT
        toDate(g.expiration_date)                                                                                AS exp_date,
        argMin(toFloat64(g.strike_price), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))        AS strike,
        argMin(toFloat64(g.option_close), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))        AS premium_before,
        argMin(toFloat64(g.underlying_close), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))    AS spy_before
    FROM global_markets.options_greeks AS g
    INNER JOIN last_sessions AS ls
        ON ls.exp_date = toDate(g.expiration_date) AND ls.prior_session = toDate(g.date)
    WHERE g.underlying_symbol = 'SPY'
      AND lower(toString(g.option_type)) IN ('call', 'c')
      AND g.date >= toDate('2026-05-22')
      AND g.date <  toDate('2026-07-01')
      AND g.volume > 0
      AND g.option_close > 0
    GROUP BY exp_date
)
SELECT
    toString(a.exp_date)                                                                   AS expiry_date,
    concat(formatDateTime(a.exp_date, '%a %b '), toString(toDayOfMonth(a.exp_date)))       AS expiry_label,
    round(a.premium_before, 2)                                                             AS premium_prior_close,
    round(greatest(s.spot - a.strike, 0.0), 2)                                             AS value_at_expiry,
    round(greatest(s.spot - a.strike, 0.0) / a.premium_before * 100, 0)                    AS pct_of_premium_left,
    round((s.spot / a.spy_before - 1) * 100, 2)                                            AS spy_move_pct
FROM atm AS a
INNER JOIN spy_by_day AS s
    ON s.d = a.exp_date
ORDER BY a.exp_date
직접 실행해 보기

Mon Jun 1에 해당 계약은 전날 저녁 $2.5에 마감되었고 만기일 종가에는 $0.58의 가치를 지녀 프리미엄의 23%를 기록했으며, 같은 기간 SPY는 0.12% 변동했습니다. 마지막 행인 Tue Jun 30은 SPY가 0.75% 움직이는 동안 $2.31에서 $5.3로 변했습니다. 결과별 정렬은 다음과 같습니다.

조회등가격(ATM) 콜옵션 만기 결과 (2026년 6월 만기)
결과만기일
1. Finished at or near zero (5% of the premium or less)10
2. Lost more than half1
3. Lost up to half5
4. Gained, less than doubled1
5. Doubled or better4
모든 수치 뒤에 숨겨진 정확한 SQL
WITH spy_by_day AS
(
    SELECT
        toDate(date)                             AS d,
        medianExact(toFloat64(underlying_close)) AS spot
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND date >= toDate('2026-06-01')
      AND date <  toDate('2026-07-01')
      AND underlying_close > 0
    GROUP BY d
),
last_sessions AS
(
    SELECT
        toDate(expiration_date) AS exp_date,
        max(toDate(date))       AS prior_session
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND expiration_date >= toDate('2026-06-01')
      AND expiration_date <  toDate('2026-07-01')
      AND date >= toDate('2026-05-22')
      AND date <  expiration_date
      AND volume > 0
    GROUP BY exp_date
),
atm AS
(
    SELECT
        toDate(g.expiration_date)                                                                                AS exp_date,
        argMin(toFloat64(g.strike_price), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))        AS strike,
        argMin(toFloat64(g.option_close), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))        AS premium_before
    FROM global_markets.options_greeks AS g
    INNER JOIN last_sessions AS ls
        ON ls.exp_date = toDate(g.expiration_date) AND ls.prior_session = toDate(g.date)
    WHERE g.underlying_symbol = 'SPY'
      AND lower(toString(g.option_type)) IN ('call', 'c')
      AND g.date >= toDate('2026-05-22')
      AND g.date <  toDate('2026-07-01')
      AND g.volume > 0
      AND g.option_close > 0
    GROUP BY exp_date
),
outcomes AS
(
    SELECT
        a.exp_date                                          AS exp_date,
        greatest(s.spot - a.strike, 0.0) / a.premium_before AS premium_ratio
    FROM atm AS a
    INNER JOIN spy_by_day AS s
        ON s.d = a.exp_date
)
SELECT
    tupleElement(b, 1)                                                                         AS outcome,
    countIf(o.premium_ratio >= tupleElement(b, 2) AND o.premium_ratio < tupleElement(b, 3))    AS expiries
FROM
(
    SELECT arrayJoin([
        ('1. Finished at or near zero (5% of the premium or less)', -1.0, 0.05),
        ('2. Lost more than half',                                   0.05, 0.5),
        ('3. Lost up to half',                                       0.5,  1.0),
        ('4. Gained, less than doubled',                             1.0,  2.0),
        ('5. Doubled or better',                                     2.0,  1000000.0)
    ]) AS b
) AS buckets
CROSS JOIN outcomes AS o
GROUP BY outcome
ORDER BY outcome
직접 실행해 보기

총 21회의 만기 중 10회는 0 또는 0에 가깝게 마감되었고, 1회는 절반 이상의 손실을, 5회는 절반 이하의 손실을 보았습니다. 1회는 두 배 미만의 수익을, 4회는 두 배 이상의 수익을 기록했습니다. 실제로 정확히 이런 방식으로 거래하는 투자자는 없으며(대부분의 0DTE 포지션은 장중에 진입하고 청산함), 이 집계가 수익성을 보장하는 것은 아닙니다. 이 데이터가 보여주는 것은 분산(dispersion)입니다. 즉, 몇 달러의 프리미엄이 만기마다 단 하루 만에 그 가치의 일부가 되거나 몇 배로 불어났음을 의미합니다.

외가격(far strike) 옵션의 실질 비용이 높아 보이는 이유

당일 만기 옵션 중 행사가격이 현재가에서 2~3% 떨어진 외가격 옵션은 몇 센트 수준에서 거래되며, 호가 스프레드(spread) 또한 몇 센트 차이로 형성되는 경우가 많습니다. 가령 매수 호가가 0.08달러, 매도 호가가 0.12달러라면, 0.04달러의 스프레드는 중간값인 0.10달러의 40%에 달합니다. 이는 SPY(SPDR S&P 500 ETF Trust)가 전혀 움직이지 않아도 이미 비용으로 지불해야 하는 금액입니다. 반면 등가격(at-the-money) 옵션의 호가가 2.48달러에서 2.50달러라면, 이를 체결하는 데 드는 비용은 1% 미만입니다. 외가격 옵션은 델타(delta) 값이 작아 수익을 내려면 기초자산이 크게 움직여야 하며, 낮은 가격 때문에 대량 주문을 유도하기도 합니다. 달러 기준으로는 저렴해 보일지라도, 스프레드 비용과 낮은 성공 확률을 고려하면 실제로는 비싼 거래입니다.

SPX와 SPY 비교: 현금 결제, 배정(assignment) 및 오후 5시 30분 마감 시한

SPX 지수 옵션은 현금으로 결제되며 유럽형(European-style)입니다. 만기 시 계약은 결제 가치와 행사가격(strike price)의 차액을 현금으로 지급하며, 주식 인수도나 배정은 발생하지 않습니다. SPY와 QQQ 옵션은 실물 인수도가 이루어지는 미국형(American-style)입니다. 행사가격보다 1센트라도 높은 가격으로 마감된 SPY 콜옵션은 계약당 100주의 주식으로 전환되며(풋옵션은 100주 매도), 보유자는 만기일 오후 4시 장 마감 이후에도 OCC(옵션청산결제소)의 오후 5시 30분(ET 기준) 마감 시한까지 행사 지시를 제출할 수 있습니다(증권사는 이보다 이른 자체 마감 시한을 설정합니다). SPY는 장 마감 후에도 거래가 지속되므로, 장 마감 시점에는 외가격(out of the money)이었던 계약이 가격 변동으로 인해 내가격(in the money)으로 전환되어, 만기 소멸을 예상했던 매도자에게 행사될 수 있습니다. 이러한 이유로 SPY에서 0DTE(만기 당일 옵션)를 매도하는 트레이더들은 장 마감 전에 포지션을 정리하는 경향이 있으며, 많은 지수 트레이더들은 SPX 대 SPY 옵션에서 다룬 세제 혜택과 더불어 SPX를 선호합니다. 월간 SPX 계약은 만기일 아침 시가로 결제되고 주간 계약은 종가로 결제됩니다. AM 결제 옵션과 PM 결제 옵션에서 그 차이를 확인할 수 있습니다.

위험의 원인은 상품인가, 포지션 규모인가?

당일 만기 옵션(0DTE)이 현재 지수 옵션 거래의 과반을 차지합니다. Cboe는 2025년 2월 SPX 옵션 거래량 중 0DTE가 56%를 기록하며 당시 최고치를 경신했고, 2025년 3분기에는 SPX 일평균 거래량의 57%를 차지했다고 보고했습니다. 해당 거래량의 대부분은 계좌 규모의 일부만을 할당하는 트레이더들에 의해 수 분에서 수 시간 동안 보유되며, 이들에게도 앞서 언급한 메커니즘은 동일하게 적용됩니다.

계좌가 파산하는 경우 차이가 발생하는 지점은 포지션 규모입니다. 단일 계약의 성과 분포는 그리스 지표(Greeks)와 손익 구조에 의해 고정되어 있으나, 계좌 전체의 성과 분포는 해당 분포에 계약 수를 곱한 값입니다. 2달러짜리 계약은 저렴해 보입니다. 그러나 열 개를 매수하면 2,000달러가 되며, 이는 오후 4시가 되면 0원이 될 수 있습니다. 1만 달러 계좌에서 오후 한나절 만에 20%의 손실(drawdown)이 발생하는 것입니다. 20%의 손실을 회복하려면 25%의 수익이 필요합니다. 최대 낙폭(maximum drawdown) 가이드는 이러한 산술적 계산을 다루고 있으며, 옵션 거래의 위험성(how risky options trading is)은 동일한 관점을 장기 계약에도 적용합니다.

위험이 정의된 0DTE 거래의 모습

위험이 정의되었다는 것은 최대 손실액이 진입 시점에 확정되고 지불된다는 의미입니다. 초보자에게 적합한 형태는 두 가지입니다.

  • 롱 콜(long call) 또는 롱 풋(long put): 최대 손실액은 옵션 프리미엄(option premium)으로 제한되며, 위 패널들은 해당 프리미엄이 세션 동안 어떻게 변하는지 보여줍니다.
  • 데빗 버티컬 스프레드(debit vertical spread): 동일한 만기일의 한 행사가격(strike price)을 매수하고 더 먼 행사가격을 매도하는 전략입니다. 최대 손실액은 순 데빗(net debit)으로 제한되며, 최대 수익은 행사가격 간의 차액에서 해당 데빗을 뺀 금액입니다. 매도한 포지션은 비용을 낮추고 수익과 감마(gamma)를 모두 제한합니다.

크레딧 스프레드(credit spread) 역시 정의된 최대 손실액(행사가격 폭에서 크레딧을 뺀 금액)을 가지지만, 집중된 감마를 보유하면서 세타(theta) 수익을 얻습니다. SPY의 경우 매도 포지션이 배정(assignment)될 수 있습니다. 네이키드 숏 옵션(naked short options)은 손실이 전혀 정의되지 않습니다(네이키드 옵션 증거금에서 그 이유를 설명합니다). 0DTE 전략 가이드에서 각 구조가 어떻게 사용되는지 상세히 다룹니다.

이 페이지의 다른 모든 요소인 감마, 세타, 스프레드(spread), 결제 규칙은 계약 자체의 속성이며 임의로 조절할 수 없습니다. 트레이더가 설정할 수 있는 유일한 입력값은 계약 수입니다. 규모 산정 규칙을 공개하는 트레이더들 사이에서는 단일 0DTE 포지션의 프리미엄을 계좌의 작은 고정 비율로 유지하는 것이 일반적인 관례이며, 일 퍼센트(1%)가 자주 언급되는 수치입니다. 그 규모에서는 전액 손실이 발생하더라도 몇 달간의 회복이 필요한 자산 하락(drawdown)이 아니라 일상적인 나쁜 하루 정도로 간주됩니다.

자주 묻는 질문(FAQ)

0DTE 옵션은 일반 옵션보다 위험한가?

지불한 옵션 프리미엄(option premium) 대비 위험은 더 높습니다. 2026년 6월 기준, 만기가 하루 남은 등가격(at-the-money) SPY 콜옵션은 21일에서 45일 남은 계약 대비 감마(gamma)는 31.8배, 일일 세타(theta)는 28.7배에 달하며, 시장이 불리하게 움직일 경우 회복할 시간이 없습니다. 매수 계약의 달러 기준 위험은 여전히 지불한 프리미엄으로 제한되지만, 포지션 규모에 따라 위험이 확대될 수 있습니다.

0DTE 옵션 매수 시 지불한 금액보다 더 큰 손실을 볼 수 있는가?

매수 시에는 그렇지 않습니다. 롱 콜(long call)이나 풋옵션(put option)의 최대 손실은 지불한 프리미엄으로 한정됩니다. 반면, 커버되지 않은(uncovered) 옵션을 매도할 경우 수취한 크레딧보다 훨씬 큰 손실이 발생할 수 있으며, SPY나 QQQ의 경우 내가격(in-the-money)으로 만기된 매도 옵션은 계약당 100주가 배정(assignment)됩니다. 위험이 정의된 스프레드(defined-risk spreads) 전략은 행사가격(strike price) 차이에서 크레딧을 뺀 금액으로 손실을 제한합니다.

0DTE SPY 옵션이 내가격으로 만기되면 어떻게 되는가?

0.01달러 이상 내가격 상태로 만기되면 자동으로 행사됩니다. 콜옵션은 계약당 100주의 SPY 주식 매수로, 풋옵션은 100주의 주식 매도 포지션으로 전환되며 다음 영업일에 결제됩니다. 보유자는 옵션청산결제소(OCC)의 오후 5시 30분(ET 기준) 마감 전까지 행사 여부를 결정하거나 거부할 수 있으며, 증권사는 이보다 이른 자체 마감 시한을 설정하기도 합니다. 반면 SPX 옵션은 주식 인수도 없이 현금으로 결제됩니다.

0DTE 옵션은 감마가 더 높은가?

그렇습니다. 감마는 행사가격에 집중되어 있습니다. 2026년 6월 기준, SPY가 1% 움직일 때 등가격인 익일 만기 계약의 델타(delta)는 0.497만큼 변동한 반면, 21일에서 45일 남은 계약은 0.092만큼 변동했습니다. 행사가격에서 2% 벗어난 지점에서는 익일 만기 계약의 수치가 0.042로 하락했습니다.

위험이 정의된 0DTE 거래란 무엇인가?

거래 시작 시점에 최대 손실이 고정된 거래를 의미합니다. 롱 콜이나 풋옵션(최대 손실은 지불한 프리미엄) 또는 데빗 스프레드(debit spread, 최대 손실은 순 지불액)가 이에 해당합니다. 구조가 최대 손실을 결정하며, 계약 수가 그 손실을 감당할 수 있는지를 결정합니다.


위의 모든 패널은 해당 데이터를 생성한 SQL과 함께 제공됩니다. QQQ나 다른 월물에 대해 동일한 래더(ladder)를 실행하려면 Strasmore 터미널에서 쿼리를 열고 심볼이나 날짜를 변경하십시오.

#0dte#gamma#theta#spx#risk#beginners