QQQ vs SPY 비교: 한국 투자자가 내는 실제 비용
QQQ vs SPY 비교: 두 ETF가 얼마나 같이 움직이는지, 한 주 가격의 원화 환산, 분배금 15% 원천징수 후 수익률, 해외주식 양도소득세와 연금저축 및 ISA 중 어디가 유리한지 데이터로 확인하세요.
QQQ vs SPY 비교는 나스닥 100을 담은 ETF와 S&P 500을 담은 ETF 사이의 선택처럼 보이지만, 한국 투자자에게 실제로 남는 질문은 조금 다릅니다. 두 상품이 서로 얼마나 겹치는지, 그리고 환전과 미국 15% 배당 원천징수, 해외주식 양도소득세, 계좌 종류를 통과한 뒤 손에 얼마가 남는지입니다. 아래 패널은 모두 저장된 쿼리 결과이고, 각 패널 아래의 SQL을 펼치면 숫자가 어떻게 세어졌는지 그대로 볼 수 있습니다.
QQQ와 SPY의 수익률은 해마다 얼마나 벌어졌나
두 ETF의 구성이 많이 겹친다면 연도별 수익률도 비슷하게 따라갑니다. 겹치지 않는 부분이 클수록 두 숫자의 간격이 벌어집니다. 아래는 각 해의 첫 거래일 종가에서 마지막 거래일 종가까지 계산한 가격수익률입니다. 분배금은 들어 있지 않습니다.
| year | qqq_return_pct | spy_return_pct |
|---|---|---|
| 2016 | 8.2 | 11.2 |
| 2017 | 30.3 | 18.48 |
| 2018 | -2.67 | -7.01 |
| 2019 | 37.27 | 28.65 |
| 2020 | 45.14 | 15.09 |
| 2021 | 28.63 | 28.79 |
| 2022 | -33.71 | -19.95 |
| 2023 | 54.84 | 24.81 |
| 2024 | 26.99 | 24 |
| 2025 | 20.4 | 16.64 |
| 2026 | 22.26 | 12.66 |
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
toString(toYear(date)) AS year,
round((toFloat64(argMaxIf(close, date, ticker = 'QQQ'))
/ toFloat64(argMinIf(close, date, ticker = 'QQQ')) - 1) * 100, 2) AS qqq_return_pct,
round((toFloat64(argMaxIf(close, date, ticker = 'SPY'))
/ toFloat64(argMinIf(close, date, ticker = 'SPY')) - 1) * 100, 2) AS spy_return_pct
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('QQQ', 'SPY')
AND date >= '2016-01-01'
AND date < today()
GROUP BY year
HAVING countIf(ticker = 'QQQ') > 0 AND countIf(ticker = 'SPY') > 0
ORDER BY year표에는 11개 연도가 들어 있습니다. 가장 오래된 2016년은 QQQ 8.2%, SPY 11.2% 로 기록됩니다. 마지막 행인 2026년은 연초부터 최근 거래일까지의 진행 중인 구간이며, QQQ 22.26%, SPY 12.66% 입니다. 선 두 개는 대체로 같은 방향으로 꺾이고, 벌어지는 폭만 해마다 달라집니다. 그 간격이 두 지수의 구성 차이가 가격으로 나타난 부분이고, 나머지는 같은 기업을 양쪽에서 중복해 담고 있는 부분입니다.
두 ETF를 모두 사면 무엇이 중복되나
나스닥 100은 나스닥에 상장된 비금융 대형주 100개를 시가총액 기준으로 담습니다. S&P 500은 금융과 에너지를 포함한 500개 종목을 담습니다. 종목 수는 다섯 배 차이지만 상위 비중은 같은 초대형 기술주 몇 개가 차지하고, 그 몇 개가 양쪽 수익률을 동시에 움직입니다. 비중이 어떤 규칙으로 계산되는지는 QQQ 구성 종목 비중 계산 방식에 정리해 두었고, 같은 S&P 500을 집중도만 다르게 담는 방식은 동일가중 S&P 500과 SPY 비교에서 볼 수 있습니다. 겹침의 결과는 하루 단위 움직임에서 바로 드러납니다.
| year | session_count | same_direction_pct | median_gap_pp |
|---|---|---|---|
| 2016 | 252 | 82.1 | 0.2 |
| 2017 | 251 | 79.3 | 0.21 |
| 2018 | 251 | 87.3 | 0.31 |
| 2019 | 252 | 88.1 | 0.23 |
| 2020 | 253 | 85.8 | 0.47 |
| 2021 | 252 | 81 | 0.34 |
| 2022 | 251 | 92 | 0.48 |
| 2023 | 250 | 84.8 | 0.29 |
| 2024 | 252 | 90.5 | 0.28 |
| 2025 | 250 | 87.6 | 0.25 |
| 2026 | 189 | 87.8 | 0.33 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH rets AS
(
SELECT
date,
ticker,
toFloat64(close) AS c,
lagInFrame(toFloat64(close)) OVER
(PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_c
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('QQQ', 'SPY')
AND date >= '2015-12-01'
AND date < today()
),
paired AS
(
SELECT
date,
anyIf(c / prev_c - 1, ticker = 'QQQ') AS qqq_ret,
anyIf(c / prev_c - 1, ticker = 'SPY') AS spy_ret
FROM rets
WHERE prev_c > 0
GROUP BY date
HAVING countIf(ticker = 'QQQ') > 0 AND countIf(ticker = 'SPY') > 0
)
SELECT
toString(toYear(date)) AS year,
count() AS session_count,
round(100 * countIf(sign(qqq_ret) = sign(spy_ret)) / count(), 1) AS same_direction_pct,
round(100 * quantileDeterministic(0.5)(abs(qqq_ret - spy_ret), toUInt32(date)), 2) AS median_gap_pp
FROM paired
WHERE toYear(date) >= 2016
GROUP BY year
ORDER BY year2026년에는 두 종목이 함께 거래된 189일 가운데 87.8% 가 같은 방향으로 끝났습니다. 같은 날 두 수익률의 차이는 중앙값 0.33퍼센트포인트였습니다. 2016년 비율은 82.1% 입니다. 이 비율이 표에 찍힌 수준이라면, 두 상품을 함께 담아도 하루 단위의 움직임은 거의 하나처럼 따라갑니다. 중앙값 간격 쪽이 분산에 실제로 기여하는 폭이고, 그 폭은 보통 1퍼센트포인트 아래에서 움직입니다. 두 ETF를 같이 보유하는 선택은 종목을 늘리는 선택이 아니라 상위 기술주 비중을 한 번 더 얹는 선택에 가깝습니다.
한 주 가격을 원화로 환산하면
한국 투자자가 가장 먼저 부딪히는 숫자는 한 주 가격입니다. 달러 금액이 먼저 정해지고, 환전이 그 위에 붙습니다.
| month | month_label | qqq_usd | spy_usd |
|---|---|---|---|
| 2025-04-01 | 2025년 4월 | 475.47 | 554.54 |
| 2025-05-01 | 2025년 5월 | 519.11 | 589.39 |
| 2025-06-01 | 2025년 6월 | 551.64 | 617.85 |
| 2025-07-01 | 2025년 7월 | 565.01 | 632.08 |
| 2025-08-01 | 2025년 8월 | 570.4 | 645.05 |
| 2025-09-01 | 2025년 9월 | 600.37 | 666.18 |
| 2025-10-01 | 2025년 10월 | 629.07 | 682.06 |
| 2025-11-01 | 2025년 11월 | 619.25 | 683.39 |
| 2025-12-01 | 2025년 12월 | 614.31 | 681.92 |
| 2026-01-01 | 2026년 1월 | 621.87 | 691.97 |
| 2026-02-01 | 2026년 2월 | 607.29 | 685.99 |
| 2026-03-01 | 2026년 3월 | 577.18 | 650.34 |
| 2026-04-01 | 2026년 4월 | 667.74 | 718.66 |
| 2026-05-01 | 2026년 5월 | 738.31 | 756.48 |
| 2026-06-01 | 2026년 6월 | 736.4 | 746.77 |
| 2026-07-01 | 2026년 7월 | 687.99 | 747.03 |
| 2026-08-01 | 2026년 8월 | 716.76 | 767.05 |
| 2026-09-01 | 2026년 9월 | 739.77 | 762.63 |
| 2026-10-01 | 2026년 10월 | 749.58 | 769.64 |
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
toString(toStartOfMonth(date)) AS month,
any(concat(toString(toYear(date)), '년 ', toString(toMonth(date)), '월')) AS month_label,
round(toFloat64(argMaxIf(close, date, ticker = 'QQQ')), 2) AS qqq_usd,
round(toFloat64(argMaxIf(close, date, ticker = 'SPY')), 2) AS spy_usd
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('QQQ', 'SPY')
AND date >= toStartOfMonth(today() - 540)
AND date < today()
GROUP BY month
HAVING countIf(ticker = 'QQQ') > 0 AND countIf(ticker = 'SPY') > 0
ORDER BY month2026년 10월 기준 마지막 종가로 QQQ는 749.58달러, SPY는 769.64달러입니다. 2025년 4월에는 각각 475.47달러와 554.54달러였습니다. 표는 19개월치를 담고 있습니다.
원화 환산은 곱셈 한 번입니다. 설명을 위해 1달러를 1,400원으로 가정하면, 위 달러 금액에 1,400을 곱한 값이 한 주를 사기 위해 필요한 원화입니다. 실제 체결 금액은 증권사 고시환율과 환전 스프레드가 얹혀 조금 달라지고, 통합증거금을 쓰면 가환율이 먼저 적용된 뒤 결제일에 정산됩니다. 두 ETF 모두 한 주 단가가 수십만원대라 소수점 매수 지원 여부가 적립식 매수의 실무를 가릅니다. 원화 기준 가격을 계속 추적하는 방법은 SPY 주가 원화 환산 글에 있습니다.
분배금: 15%를 떼기 전과 뗀 뒤
두 ETF는 분배금을 현금으로 지급합니다. 먼저 주당 금액을 연도별로 봅니다.
| year | qqq_usd | spy_usd | qqq_payout_count |
|---|---|---|---|
| 2016 | 1.2533 | 4.539 | 4 |
| 2017 | 1.3014 | 4.8021 | 4 |
| 2018 | 1.4053 | 5.1004 | 4 |
| 2019 | 1.5816 | 5.6184 | 4 |
| 2020 | 1.7365 | 5.691 | 4 |
| 2021 | 1.6968 | 5.7182 | 4 |
| 2022 | 2.1351 | 6.3207 | 4 |
| 2023 | 2.5358 | 6.6338 | 5 |
| 2024 | 2.8465 | 7.065 | 4 |
| 2025 | 2.7948 | 7.2811 | 4 |
| 2026 | 2.2977 | 5.5893 | 3 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH payouts AS
(
SELECT
ticker,
id,
any(ex_dividend_date) AS ex_date,
any(toFloat64(cash_amount)) AS amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('QQQ', 'SPY')
AND ex_dividend_date >= '2016-01-01'
AND ex_dividend_date < today()
GROUP BY ticker, id
)
SELECT
toString(toYear(ex_date)) AS year,
round(sumIf(amount, ticker = 'QQQ'), 4) AS qqq_usd,
round(sumIf(amount, ticker = 'SPY'), 4) AS spy_usd,
countIf(ticker = 'QQQ') AS qqq_payout_count
FROM payouts
GROUP BY year
ORDER BY year2025년 한 해 동안 QQQ는 주당 2.7948달러를 4회에 나눠 지급했고, SPY는 주당 7.2811달러를 지급했습니다. 두 상품의 한 주 가격 자체가 다르니 금액만으로는 비교가 되지 않습니다. 가격 대비 비율로 바꿔야 합니다.
| ticker | ttm_cash_usd | gross_yield_pct | net_yield_pct | as_of |
|---|---|---|---|---|
| SPY | 7.5827 | 0.985 | 0.837 | 2026년 10월 2일 |
| QQQ | 3.0918 | 0.412 | 0.351 | 2026년 10월 2일 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH px AS
(
SELECT
ticker,
argMax(toFloat64(close), date) AS last_close,
concat(toString(toYear(max(date))), '년 ',
toString(toMonth(max(date))), '월 ',
toString(toDayOfMonth(max(date))), '일') AS as_of
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('QQQ', 'SPY')
AND date >= today() - 30
AND date < today()
GROUP BY ticker
),
payouts AS
(
SELECT
ticker,
sum(amount) AS ttm_cash
FROM
(
SELECT
ticker,
id,
any(toFloat64(cash_amount)) AS amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('QQQ', 'SPY')
AND ex_dividend_date >= today() - 365
AND ex_dividend_date < today()
GROUP BY ticker, id
)
GROUP BY ticker
)
SELECT
px.ticker AS ticker,
round(payouts.ttm_cash, 4) AS ttm_cash_usd,
round(100 * payouts.ttm_cash / px.last_close, 3) AS gross_yield_pct,
round(100 * payouts.ttm_cash * 0.85 / px.last_close, 3) AS net_yield_pct,
px.as_of AS as_of
FROM px
INNER JOIN payouts ON px.ticker = payouts.ticker
ORDER BY gross_yield_pct DESC표는 분배금률이 높은 쪽부터 정렬했습니다. 2026년 10월 2일 종가 기준으로 SPY는 최근 12개월 주당 7.5827달러를 지급해 0.985%, QQQ는 주당 3.0918달러로 0.412% 입니다. net 열은 미국에서 15%를 원천징수한 뒤 남는 비율이고, 각각 0.837% 와 0.351% 로 내려갑니다.
여기서 한국 거주자의 계산이 한 단계 더 붙습니다. 세법은 배당소득을 원천징수 전 총액으로 잡고, 미국에 낸 15%를 외국납부세액으로 공제합니다. 국내 배당소득 원천징수율 15.4%(소득세 14%에 지방소득세 1.4%)와 비교하면 추가 부담은 그 차액 수준에서 끝납니다. 다만 이자와 배당을 합친 연간 금융소득이 2,000만원을 넘으면 금융소득종합과세 대상이 되어 다른 소득과 합산된 누진세율이 적용됩니다. 분배금 신고 흐름을 단계별로 보려면 SPY 배당금과 한국 투자자의 세금을 함께 읽으면 됩니다.
미국 상장 ETF를 직접 사면 세금은 어떻게 붙나
QQQ나 SPY를 미국 거래소에서 직접 매수하면 매도 차익은 해외주식 양도소득으로 분류됩니다. 연간 실현 손익을 통산한 뒤 250만원 기본공제를 빼고, 남은 금액에 22%(양도소득세 20%에 지방소득세 2%)를 적용해 다음 해 5월에 확정신고합니다. 2026년 10월 기준 제도이고 세법은 개정될 수 있으니, 신고 직전에는 국세청 안내와 증권사 자료로 수치를 확인하는 편이 안전합니다.
성질 두 가지가 중요합니다. 첫째, 실현하지 않은 평가이익에는 과세가 없습니다. 팔지 않고 보유하는 동안에는 과세 시점이 미뤄집니다. 둘째, 해외주식끼리는 손익통산이 됩니다. 한쪽에서 손실을 확정하면 같은 해 다른 쪽 이익과 상계됩니다.
250만원 공제는 규모를 재는 기준점이 됩니다. 1달러를 1,400원으로 가정하면 250만원은 약 1,786달러입니다. 연간 실현 차익이 이 안쪽에서 끝나는 규모라면 양도소득세는 0원이고, 거래 금액이 커질수록 공제가 차지하는 비중은 줄어듭니다. 보유 비용도 같이 셉니다. 2026년 10월 기준 공시 총보수는 QQQ가 연 0.20%, SPY가 연 0.0945%입니다. 같은 지수를 따라가는 상품 사이에서도 총보수가 어떻게 갈리는지는 SPY, VOO, SPLG 총보수 비교에 정리되어 있습니다.
국내 상장 ETF와 연금저축, ISA에서는 계산이 달라진다
국내 거래소에 상장된 나스닥 100 또는 S&P 500 추종 ETF는 세금 분류 자체가 다릅니다. 매매차익이 양도소득이 아니라 배당소득으로 과세되고(보유기간 과세, 15.4%), 250만원 기본공제가 없습니다. 일반계좌에서는 손익통산도 적용되지 않고, 금융소득종합과세 대상에 합산됩니다. 같은 지수를 담았는데 과세 항목이 바뀌는 지점입니다.
연금저축계좌와 IRP는 이 구조를 다시 뒤집습니다. 계좌 안에서 발생한 분배금과 매매차익에는 그 시점에 세금이 붙지 않고 인출할 때까지 이연되며, 55세 이후 연금으로 수령하면 3.3%에서 5.5%의 연금소득세가 적용됩니다. 납입액에는 세액공제가 따라옵니다(연금저축 연 600만원, IRP를 합쳐 900만원 한도). 대신 미국 거래소에 상장된 QQQ나 SPY를 계좌 안에 직접 담을 수는 없고, 국내 상장 ETF만 편입됩니다. 중도 인출하면 세액공제받은 원금과 운용수익에 16.5% 기타소득세가 부과됩니다.
ISA는 중간 지점에 있습니다. 계좌 내 손익을 통산한 뒤 일반형 200만원(서민형 400만원)까지 비과세, 초과분은 9.9% 분리과세입니다. 의무가입기간을 지나면 인출이 자유롭고, 만기 자금을 연금계좌로 옮기는 선택지도 남습니다. 납입 한도는 해마다 제도 개정 대상이 되어 왔으니 현재 한도는 가입 전에 확인하면 됩니다.
규모와 기간으로 경계를 정리하면 이렇습니다.
- 연간 실현 차익이 250만원 안쪽에서 움직이는 규모: 미국 상장 ETF 직접 보유가 양도소득세 0원 구간에 들어갑니다. 상품 선택 폭도 가장 넓습니다.
- 차익이 250만원을 꾸준히 넘어서는 규모: 22%와 9.9%의 차이가 커지고, ISA의 비과세 한도와 손익통산이 작동하는 구간입니다.
- 55세 이전에 자금을 쓸 계획인 짧은 보유기간: 연금계좌의 과세이연 이득이 중도 인출 과세로 상쇄됩니다.
- 10년 이상 묻어 두고 분배금을 재투자하는 긴 보유기간: 이연된 세금이 재투자 원금에 남아 복리로 쌓입니다. 위 표에서 분배금률이 높은 쪽일수록 이 효과가 큽니다.
비교를 두 질문으로 나누기
질문을 섞으면 답이 흐려집니다. 무엇을 담는가는 지수의 문제입니다. 종목 범위와 상위 비중, 그리고 위 표의 연도별 간격이 그 답입니다. 어디에 담는가는 계좌의 문제입니다. 양도소득세 22%와 250만원 공제, 배당소득 15.4%, 연금계좌의 이연, ISA의 분리과세가 그 답입니다. 세후 금액의 차이는 두 번째 질문에서 더 크게 벌어지는 경우가 많습니다.
FAQ: 자주 묻는 질문
QQQ와 SPY를 둘 다 보유하면 중복인가요?
상당 부분 겹칩니다. 나스닥 100의 상위 종목은 S&P 500 안에도 들어 있어, 두 ETF는 같은 초대형주를 양쪽에서 담습니다. 위 패널의 같은 방향 비율과 중앙값 간격이 그 중복이 하루 단위로 어떻게 나타나는지 보여줍니다.
미국 ETF 분배금에서 15%를 떼면 한국에서 또 세금을 내나요?
이중으로 전액을 더 내지는 않습니다. 국내 신고에서는 원천징수 전 총액을 배당소득으로 잡고 미국에 낸 15%를 외국납부세액으로 공제합니다. 연간 금융소득이 2,000만원을 넘으면 종합과세 대상이 되어 계산이 달라집니다.
해외주식 양도소득세 250만원 공제는 어떻게 계산하나요?
한 해에 실현한 해외주식 매매 손익을 모두 합한 뒤 250만원을 빼고, 남은 금액에 22%를 적용합니다. 손실도 같은 해 안에서 통산되며, 신고는 다음 해 5월입니다.
연금저축계좌에서 QQQ를 직접 살 수 있나요?
없습니다. 연금저축과 IRP에서는 국내 거래소에 상장된 ETF만 담을 수 있어, 나스닥 100 추종 국내 상장 ETF가 대체 수단으로 쓰입니다. 과세이연과 연금소득세는 이 경로에만 적용됩니다.
QQQ와 SPY 중 어느 쪽이 더 좋은가요?
이 글은 어느 쪽을 고르라고 말하지 않습니다. 두 ETF가 담는 종목 범위가 다르고, 위 표의 수익률 간격과 분배금률 차이가 그 차이를 숫자로 보여줍니다. 세후 금액은 상품보다 계좌 종류에서 더 크게 갈립니다.
데이터 노트
- 가격수익률은 각 해 첫 거래일 종가에서 마지막 거래일 종가까지이며 분배금을 포함하지 않습니다.
- 연도별 분배금은 배당락일 기준으로 더했고, 같은 지급 건이 중복 적재된 경우 식별자 단위로 한 번만 집계했습니다.
- 가장 최근 연도 행은 진행 중인 부분 구간입니다. 전년도와 그대로 비교하면 과소 집계됩니다.
- 분배금률의 net 열은 미국 원천징수 15%만 반영한 값입니다. 국내 신고 단계의 외국납부세액 공제와 종합과세는 들어 있지 않습니다.
- 1달러를 1,400원으로 본 금액은 계산 방법을 보여주기 위한 가정값입니다. 실제 적용환율은 증권사 고시환율로 확인하세요.
- 일별 데이터는 최근 1~2 거래일의 적재 지연이 있을 수 있습니다.
각 패널 아래에는 그 숫자를 만든 SQL이 그대로 붙어 있습니다. 기간이나 티커를 바꿔 같은 질문을 다시 세어 보고 싶으면, 스트라스모어 터미널에서 평소 쓰는 말로 물어보면 됩니다.