일평균 거래량(ADV)의 정의와 계산 방법
일평균 거래량(Average daily volume, ADV)은 특정 기간 동안 하루에 거래된 주식의 평균 수량입니다. 이는 숏 커버 기간(days to cover)과 상대 거래량(relative volume)을 산출하는 분모이자 유동성을 판단하는 핵심 지표로 활용됩니다.
일평균 거래량(ADV)의 정의와 활용
일평균 거래량(Average daily volume, ADV)은 가장 많이 사용되지만 정작 제대로 정의하는 사람이 드문 지표입니다. 이는 특정 기간 동안 하루에 거래된 주식의 평균 수량을 의미합니다. ADV는 숏 커버 기간(days to cover)을 산출하는 분모이자, 상대 거래량(relative volume)의 기준점이며, 모든 종목 검색기에서 유동성을 판단하는 척도로 사용됩니다. 즉, 이러한 모든 수치는 ADV를 산출할 때 내린 암묵적인 선택들, 예컨대 어떤 기간을 설정할지, 어떤 장중 세션을 포함할지, 거래량 기준을 주식 수로 할지 금액으로 할지에 따라 그 결과값이 달라집니다. 본 페이지에서는 ADV를 올바르게 정의하고, 산술적 계산 과정을 직접 살펴본 뒤, 실제 시장 데이터를 통해 각 선택이 미치는 영향을 측정합니다.
일평균 거래량 측정
2026년 6월 11일부터 7월 10일까지 20회의 정규장 세션 동안, 익숙한 네 종목과 의도적으로 거래량이 적은 한 종목을 선정했습니다. 주식 수, 거래 대금, 그리고 (추후 분석을 위한) 정규장 외 거래 비중은 다음과 같습니다.
| 티커 | 일평균 거래량(ADV, 백만 주) | 일평균 거래대금(십억 달러) | 시간외 거래 비중(%) | 거래 세션 |
|---|---|---|---|---|
| SPY | 46.01 | 34.19 | 18.3 | 20 |
| MU | 42.01 | 44.49 | 12.1 | 20 |
| AAPL | 41.47 | 12.24 | 6.9 | 20 |
| KO | 12.4 | 1.01 | 6.6 | 20 |
| CATO | 0.05 | 0 | 0.2 | 20 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_day AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS rth_shares,
sumIf(toFloat64(close) * toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS rth_dollars,
sum(toFloat64(volume)) AS all_shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MU', 'KO', 'CATO')
AND window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
GROUP BY ticker, et_date
)
SELECT ticker,
round(avg(rth_shares) / 1e6, 2) AS adv_shares_m,
round(avg(rth_dollars) / 1e9, 2) AS adv_dollars_bn,
round(100 * (sum(all_shares) - sum(rth_shares)) / sum(all_shares), 1) AS extended_hours_pct,
count() AS sessions
FROM per_day
GROUP BY ticker
ORDER BY adv_shares_m DESC이 표는 본 페이지의 핵심 논지를 담고 있습니다. MU와 AAPL은 일평균 거래량이 각각 42.01백만 주와 41.47백만 주로 거의 비슷하지만, 거래 대금 기준으로는 각각 일평균 44.49십억 달러와 12.24십억 달러로 큰 차이를 보입니다. 주식 수는 활동성을 측정하고, 달러는 자금 규모를 측정합니다. 상위권에서는 순위가 뒤바뀌기도 합니다. SPY는 주식 수 기준(20회 세션 동안 총 46.01백만 주)으로 1위를 차지하는 반면, MU는 이 표에서 거래 대금 기준 1위를 기록합니다. 하위권의 CATO은 일평균 0.05백만 주가 거래되는데, 거래 대금은 십억 달러 단위에서 0로 표시될 만큼 미미합니다. 이러한 종목은 단 한 건의 기관 주문이 그날의 전체 거래량이 될 수 있는 시장이며, 거래 비용이 일반적인 수준과는 완전히 다른 차원에서 결정됩니다.
일평균 거래량(ADV) 계산 방법
산술 방식은 매우 단순합니다. 선택한 기간 동안의 일일 거래량을 모두 합산한 뒤, 해당 일수로 나누면 됩니다. 코카콜라(KO)의 정규장 거래량을 기준으로 한 일주일(2026년 7월 6일~10일)간의 누적 합계와 평균 계산 결과는 다음과 같습니다.
| 세션 날짜 | 거래량(백만 주) | 5일 합계(백만) | ADV(백만) | ADV 1%(천 주) |
|---|---|---|---|---|
| 2026-07-06 | 10.7 | 52.8 | 10.6 | 106 |
| 2026-07-07 | 12.1 | 52.8 | 10.6 | 106 |
| 2026-07-08 | 10.7 | 52.8 | 10.6 | 106 |
| 2026-07-09 | 11 | 52.8 | 10.6 | 106 |
| 2026-07-10 | 8.3 | 52.8 | 10.6 | 106 |
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT session_date,
shares_m,
round(sum(shares_m) OVER (), 1) AS five_day_total_m,
round(avg(shares_m) OVER (), 1) AS adv_m,
round(avg(shares_m) OVER () * 0.01 * 1000, 0) AS one_pct_of_adv_k
FROM (
SELECT formatDateTime(toDate(toTimeZone(window_start, 'America/New_York')), '%Y-%m-%d') AS session_date,
round(sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'KO'
AND window_start >= toDateTime('2026-07-06 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
GROUP BY session_date
)
ORDER BY session_date5일간의 거래량인 10.7 + 12.1 + 10.7 + 11 + 8.3백만 주를 합산하면 총 52.8백만 주가 됩니다. 이를 5로 나누면 KO의 5거래일 ADV인 10.6백만 주가 산출됩니다. 20거래일 ADV 역시 동일한 방식으로 20일간의 데이터를 합산하여 계산하며, 이는 첫 번째 표에 기재된 수치와 같습니다. 평균값이 가리는 정보에 주목할 필요가 있습니다. 2026-07-07에는 12.1백만 주, 2026-07-10에는 8.3백만 주가 체결되었으며, ADV는 이러한 일일 변동성을 하나의 수치로 평탄화합니다. 마지막 열은 포지션 규모 산정을 위한 예시를 보여줍니다. KO의 ADV 중 1퍼센트는 약 106천 주로, 이는 단일 주문이 당일 전체 거래량에서 유의미한 비중을 차지하기 시작하는 규모를 의미합니다.
윈도우는 선택의 문제이며, ADV가 과거 데이터를 얼마나 빨리 잊을지 결정한다
20거래일(한 달간의 거래일)이 일반적인 관례이지만, 10일, 30일, 65일, 90일 기준도 널리 사용된다. 윈도우는 평균거래량(ADV, Average Daily Volume)이 과거 데이터를 얼마나 빨리 잊을지 결정한다. MU는 2026년의 생생한 사례로, 연중 주가 흐름이 급격히 재평가되면서 1개월 ADV와 1분기 ADV가 봄 내내 서로 다른 신호를 보냈던 종목이다. 관련 내용은 6월 심층 분석에서 확인할 수 있다. 다음은 동일한 7개월 동안 두 가지 윈도우를 동시에 적용하여 측정한 동일 종목의 데이터이다.
| 날짜 | 20일 세션 ADV(백만) | 90일 세션 ADV(백만) |
|---|---|---|
| 2025-12-10 | 21.3 | 19.9 |
| 2025-12-15 | 20.3 | 20.1 |
| 2025-12-18 | 20.7 | 20.2 |
| 2025-12-23 | 20 | 20.7 |
| 2025-12-29 | 20.7 | 20.8 |
| 2026-01-02 | 22.2 | 21.3 |
| 2026-01-07 | 24.5 | 22 |
| 2026-01-12 | 26 | 22.5 |
| 2026-01-15 | 26.2 | 22.5 |
| 2026-01-21 | 26.9 | 23 |
| 2026-01-26 | 28.5 | 23.4 |
| 2026-01-29 | 30.5 | 23.7 |
| 2026-02-03 | 31.9 | 23.9 |
| 2026-02-06 | 32.6 | 24.4 |
| 2026-02-11 | 34.1 | 24.7 |
| 2026-02-17 | 35 | 24.9 |
| 2026-02-20 | 32.5 | 25 |
| 2026-02-25 | 32 | 25.4 |
| 2026-03-02 | 30.2 | 25.4 |
| 2026-03-05 | 28.4 | 25.8 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sum(toFloat64(volume)) AS day_shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2025-08-01 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY et_date
),
rolled AS (
SELECT et_date,
avg(day_shares) OVER (ORDER BY et_date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS adv20,
avg(day_shares) OVER (ORDER BY et_date ROWS BETWEEN 89 PRECEDING AND CURRENT ROW) AS adv90,
row_number() OVER (ORDER BY et_date) AS rn,
count() OVER () AS total_rows
FROM daily
)
SELECT formatDateTime(et_date, '%Y-%m-%d') AS date,
round(adv20 / 1e6, 1) AS adv_20_session_m,
round(adv90 / 1e6, 1) AS adv_90_session_m
FROM rolled
WHERE rn > 90 AND (rn % 3 = total_rows % 3)
ORDER BY et_date2025-12-10에 두 윈도우는 20거래일 기준 21.3백만 주, 90거래일 기준 19.9백만 주로 일치했다. 그러나 2026-04-14이 되자 각각 45.6백만 주와 31.9백만 주로 수치가 갈라졌다. 동일한 종목의 동일한 날짜에 두 개의 '공식' ADV가 존재하게 된 것이다. 이로 인해 특정 윈도우를 기준으로 설정된 모든 스크리너, 커버리지 일수(days-to-cover), 상대 거래량(relative-volume) 지표는 다른 윈도우를 기준으로 한 동일한 도구와 서로 다른 값을 나타냈다. 2026-07-10에 이르러 두 수치는 다시 42백만 주 대 41.9백만 주로 수렴했다. 재평가된 거래량 수준이 긴 윈도우 기간에도 반영되었기 때문이다. 두 데이터 소스가 특정 종목의 ADV에 대해 서로 다른 값을 제시할 때, 가장 먼저 의심해야 할 것은 윈도우 설정이며, 두 번째는 시간 외 거래량 포함 여부이다.
거래량 급증 직후 일평균거래량(ADV)의 변화
위 차트가 이를 암시하고 있으며, 여기에서 그 수치를 측정합니다. 2026년 MU에서 발생한 가장 급격한 거래량 충격, 즉 직전 20거래일 평균인 ADV를 가장 크게 상회한 세션을 선택하여, 해당 일 직전 스크리너에 나타난 ADV와 한 달 후의 수치를 비교합니다.
| 이벤트 날짜 | 이벤트 당일 거래량(백만 주) | 이벤트 전 20일 ADV(백만) | 이벤트 대비 이전 ADV(배) | 이벤트 후 20일 ADV(백만) | ADV 변동률(%) |
|---|---|---|---|---|---|
| 2026-03-19 | 64.7 | 28.7 | 2.3 | 45 | 57 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sum(toFloat64(volume)) AS day_shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MU'
AND window_start >= toDateTime('2025-11-01 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY et_date
),
ranked AS (
SELECT et_date, day_shares,
day_shares / avg(day_shares) OVER (ORDER BY et_date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS shock_ratio,
row_number() OVER (ORDER BY et_date) AS rn
FROM daily
),
biggest AS (
SELECT et_date, day_shares, shock_ratio
FROM ranked
WHERE rn > 20 AND et_date >= toDate('2026-01-01')
ORDER BY shock_ratio DESC, et_date ASC
LIMIT 1
),
before AS (
SELECT avg(day_shares) AS adv FROM (
SELECT day_shares FROM daily WHERE et_date < (SELECT et_date FROM biggest) ORDER BY et_date DESC LIMIT 20
)
),
after AS (
SELECT avg(day_shares) AS adv FROM (
SELECT day_shares FROM daily WHERE et_date >= (SELECT et_date FROM biggest) ORDER BY et_date ASC LIMIT 20
)
)
SELECT formatDateTime((SELECT et_date FROM biggest), '%Y-%m-%d') AS event_date,
round((SELECT day_shares FROM biggest) / 1e6, 1) AS event_day_shares_m,
round((SELECT adv FROM before) / 1e6, 1) AS adv_20_before_m,
round((SELECT shock_ratio FROM biggest), 1) AS event_vs_prior_adv_x,
round((SELECT adv FROM after) / 1e6, 1) AS adv_20_after_m,
round(100 * ((SELECT adv FROM after) / (SELECT adv FROM before) - 1), 0) AS adv_shift_pct2026-03-19에 MU는 64.7백만 주의 거래량을 기록했으며, 이는 이전 ADV인 28.7백만 주의 2.3배에 달하는 수치입니다. 이후 20거래일 동안의 후행 ADV는 평균 45백만 주를 기록했으며, 이는 분모가 57%만큼 급증했음을 의미합니다. ADV를 기반으로 산출되는 모든 수치가 이에 따라 변동했습니다. 상대 거래량(relative volume) 수치는 (기준값이 커짐에 따라) 축소되었고, 공매도 잔고 커버 기간(days to cover) 역시 (분모가 커짐에 따라) 줄어들었으나, 실제 포지션에는 아무런 변화가 없었습니다. MU의 경우 거래량 증가세가 지속되었으며, 이 충격은 일회성 사건이 아닌 재평가(re-rating)의 신호였습니다. 그러나 메커니즘은 동일합니다. 거래량이 급증한 구간 이후, ADV는 해당 주식의 평소 습관이 아닌 그 사건 자체를 정확히 한 윈도우 길이만큼 측정하게 됩니다.
유동성의 기준과 측정
'일간 수백만 달러'는 거래 가능성을 판단할 때 흔히 사용하는 대략적인 기준입니다. 다음은 최근 20거래일 중 최소 15일 이상 거래된 모든 미국 상장 종목을 일평균거래대금(ADV) 순으로 나열한 실제 분포입니다.
| 종목명 | 25분위(백만) | 중앙값(백만) | 75분위(백만) | 90분위(백만) | 99분위(백만) | 1백만 이상 종목 | 1천만 이상 종목 | 1억 이상 종목 | 10억 달러 이상 종목 |
|---|---|---|---|---|---|---|---|---|---|
| 10864 | 0.33 | 2.2 | 20.4 | 113.7 | 1333 | 6515 | 3535 | 1166 | 130 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH per_ticker AS (
SELECT ticker, avg(day_dollars) AS adv_dollars
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sumIf(toFloat64(close) * toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS day_dollars
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
AND match(ticker, '^[A-Z]+$')
GROUP BY ticker, et_date
)
GROUP BY ticker
HAVING count() >= 15
)
SELECT count() AS names,
round(quantileDeterministic(0.25)(adv_dollars, cityHash64(ticker)) / 1e6, 2) AS p25_m,
round(quantileDeterministic(0.50)(adv_dollars, cityHash64(ticker)) / 1e6, 1) AS median_m,
round(quantileDeterministic(0.75)(adv_dollars, cityHash64(ticker)) / 1e6, 1) AS p75_m,
round(quantileDeterministic(0.90)(adv_dollars, cityHash64(ticker)) / 1e6, 1) AS p90_m,
round(quantileDeterministic(0.99)(adv_dollars, cityHash64(ticker)) / 1e6, 0) AS p99_m,
countIf(adv_dollars >= 1e6) AS names_above_1m,
countIf(adv_dollars >= 10e6) AS names_above_10m,
countIf(adv_dollars >= 100e6) AS names_above_100m,
countIf(adv_dollars >= 1e9) AS names_above_1bn
FROM per_ticker총 10864개 종목 중 중앙값에 해당하는 종목의 일간 거래대금은 2.2백만 달러이며, 미국 시장의 절반은 이보다 적은 거래대금을 기록합니다. 전체의 4분의 1은 0.33백만 달러 미만으로 거래됩니다. 75분위수는 20.4백만 달러, 90분위수는 113.7백만 달러, 99분위수는 1333백만 달러에 위치합니다. 주요 임계치를 기준으로 보면, 일간 거래대금 1백만 달러를 넘는 종목은 6515개, 1천만 달러를 넘는 종목은 3535개, 1억 달러를 넘는 종목은 1166개이며, 10억 달러를 상회하는 종목은 단 130개에 불과합니다. 금융권의 분석 대상은 거의 전적으로 마지막 그룹에 집중되어 있으나, 상장 주식의 중앙값에 해당하는 종목은 이와는 완전히 다른 성격의 상품입니다.
ADV가 다른 수치를 결정하는 방식
- Days to cover(숏 커버링 소요 기간) = 공매도 잔고(short interest) ÷ ADV(일평균 거래량). 거래량이 급증하면 공매도 포지션에 변화가 없어도 분모인 ADV가 커지면서 비율이 축소됩니다.
- Relative volume(상대 거래량) = 당일 거래 속도 ÷ ADV. 같은 수치지만 역할은 반대입니다. 여기서는 ADV가 돌파해야 할 기준선 역할을 합니다.
- 유동성 스크리닝("ADV 100만 주 이상 종목만"), 모든 백테스트와 스크리너에는 이 기준이 포함되어 있으며, 생존 편향(survivorship bias)이 조용히 뒤따릅니다. 종목들은 가장 극적인 거래량을 기록한 주간에 이러한 스크리닝에 진입하게 됩니다.
- 포지션 규모 산정, 기관 투자자들이 하루 ADV의 수 퍼센트 내에서만 거래하는 관행 때문에 대형 펀드는 특정 소형주를 보유할 수 없습니다. 포지션을 구축하거나 청산하는 데 전체 시장 거래량의 몇 주 치가 필요하기 때문입니다.
Days to cover의 사례는 실제 수치로 확인해 볼 가치가 있습니다. "공식" 수치조차 누군가의 ADV 선택을 내포하고 있기 때문입니다. FINRA(미국 금융산업규제기구)는 자체적인 거래량 분모(모든 거래소, 각자의 보고 기간, 최솟값 1.0, 데이터 산출 방식 참조)를 기준으로 Days to cover를 발표합니다. 이 페이지의 20거래일 정규장 ADV로 동일한 비율을 재계산하면 결과는 달라집니다.
| 티커 | 공매도 주식 수(백만) | FINRA ADV(백만) | FINRA DTC | RTH 20일 평균 거래량(백만) | 재산출 DTC |
|---|---|---|---|---|---|
| KO | 49.6 | 24.1 | 2.06 | 12.4 | 4 |
| MU | 31.7 | 60.3 | 1 | 42 | 0.75 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH our_adv AS (
SELECT ticker, avg(day_shares) AS adv
FROM (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sumIf(toFloat64(volume), formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') >= '09:30'
AND formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') < '16:00') AS day_shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('MU', 'KO')
AND window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
GROUP BY ticker, et_date
)
GROUP BY ticker
),
si AS (
SELECT ticker,
max(short_interest) AS short_interest,
max(avg_daily_volume) AS finra_adv,
max(days_to_cover) AS finra_dtc
FROM global_markets.stocks_short_interest
WHERE settlement_date = '2026-06-30' AND ticker IN ('MU', 'KO')
GROUP BY ticker
)
SELECT si.ticker AS ticker,
round(si.short_interest / 1e6, 1) AS shares_short_m,
round(si.finra_adv / 1e6, 1) AS finra_adv_m,
round(si.finra_dtc, 2) AS finra_days_to_cover,
round(our_adv.adv / 1e6, 1) AS rth_adv_20_session_m,
round(si.short_interest / our_adv.adv, 2) AS days_to_cover_recomputed
FROM si
INNER JOIN our_adv ON si.ticker = our_adv.ticker
ORDER BY ticker공매도 잔고는 같지만 분모가 두 개입니다. KO의 경우, FINRA는 24.1백만 주의 거래량을 기준으로 2.06일로 보고합니다. 반면 이 페이지의 12.4백만 주 정규장 ADV를 적용하면, 동일한 49.6백만 주의 공매도 포지션은 4일이 되어 거의 두 배로 늘어납니다. MU의 경우, 발표된 수치는 보고된 최솟값인 1에 머물러 있지만, 재계산하면 0.75일이 됩니다. 어느 쪽 수치도 틀린 것은 아니며, 단지 서로 다른 분모를 사용했을 뿐입니다. 여기서 얻을 수 있는 교훈은 일반적입니다. ADV를 분모로 사용하는 모든 비율은 누군가가 설정한 특정 기간과 세션 선택을 조용히 반영하고 있다는 점입니다.
옵션에도 평균거래량(ADV)이 적용되는가?
옵션 트레이더들은 동일한 개념을 사용하되 한 가지 차이점을 둡니다. 거래량은 계약 수로 집계되며, 표준 주식 옵션 계약은 100주를 기초자산으로 합니다. 주식과 동일하게 20거래일을 기준으로 네 개의 옵션 테이프(option tapes)를 활용하며, 계약 수를 주식 환산 노출도(share-equivalent exposure)로 변환합니다.
| 기초자산 | 일일 평균 계약 수(천) | 주식 환산 수량(백만) | 거래 세션 |
|---|---|---|---|
| SPY | 12543.2 | 1254.3 | 20 |
| AAPL | 1265.1 | 126.5 | 20 |
| MU | 804.7 | 80.5 | 20 |
| KO | 64.6 | 6.5 | 20 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH daily AS (
SELECT multiIf(ticker LIKE 'O:SPY2%', 'SPY', ticker LIKE 'O:AAPL2%', 'AAPL', ticker LIKE 'O:MU2%', 'MU', 'KO') AS underlying,
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
sum(toFloat64(volume)) AS contracts
FROM global_markets.options_minute_aggs
WHERE (ticker LIKE 'O:SPY2%' OR ticker LIKE 'O:AAPL2%' OR ticker LIKE 'O:MU2%' OR ticker LIKE 'O:KO2%')
AND window_start >= toDateTime('2026-06-11 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-11 00:00:00', 'America/New_York')
GROUP BY underlying, et_date
)
SELECT underlying,
round(avg(contracts) / 1e3, 1) AS avg_daily_contracts_k,
round(avg(contracts) * 100 / 1e6, 1) AS share_equivalent_m,
count() AS sessions
FROM daily
GROUP BY underlying
ORDER BY avg_daily_contracts_k DESC규모의 차이는 주식 표와 비교할 수 없을 정도로 큽니다. SPY의 옵션 테이프는 일평균 12543.2천 계약, 즉 1254.3백만 주 상당의 노출도를 기록했는데, 이는 SPY 자체의 46.01백만 주 ADV보다 훨씬 큰 수치입니다. 반면 KO는 정반대의 양상을 보입니다. 64.6천 계약(6.5백만 주 상당)으로, 해당 종목의 12.4백만 주 ADV를 밑돕니다. 옵션 유동성은 소수의 기초자산에 집중되며, 행사가격(strike price)과 만기일별로 분산될수록 유동성은 더욱 희박해집니다. 따라서 이와 같은 총계 수치는 특정 계약 하나가 거래되는 규모를 과대평가할 수 있으므로, 옵션 주문 규모를 결정하기 전에는 반드시 계약별 거래량과 미결제약정(open interest)을 확인해야 합니다.
실무자처럼 ADV 읽기
정의를 아는 것과 이를 활용하는 것 사이의 간극을 좁히는 세 가지 습관이 있다. ADV를 달러 기준 ADV와 함께 확인한다. 첫 번째 표는 거래량은 비슷하지만 거래 대금은 큰 차이를 보이는 두 종목을 보여주며, 실제 주문 집행 시 중요한 것은 거래 대금이다. 이벤트 직후의 ADV를 맹신하지 않는다. 충격 패널은 이에 대한 수치를 제시한다. 한 차례의 대규모 거래는 한 달 만에 분모인 57%를 변화시키며, 해당 급등세가 기간 내에서 사라질 때까지 상대 거래량(relative volume)과 커버 기간(days to cover)을 기계적으로 왜곡시킨다. 달력에 맞춰 ADV를 점검한다. 옵션 만기일, 리밸런싱일, 지수 변경일은 모든 종목의 거래량을 일시에 부풀린다(특히 위칭 데이(witching days)가 가장 심하다). 따라서 시장 전체의 거래량이 급증한 날의 데이터는 특정 종목의 개별적인 상황을 설명해주지 못한다.
일평균 거래량(ADV) FAQ
적절한 일평균 거래량은 어느 정도입니까?
10864개 미국 종목을 대상으로 20거래일 동안 측정한 결과, 달러 기준 중앙값 ADV는 2.2백만 달러였습니다. 3535개 종목은 일일 거래대금이 1천만 달러를 넘었으며, 10억 달러를 상회한 종목은 130개에 불과했습니다. 개인 투자자 규모의 주문에서는 주식 수가 아닌 달러 금액이 유용한 기준이 되며, 1천만 달러 이상 그룹에 속한 종목들은 소규모 주문으로 인해 가격이 변동되지 않고 거래됩니다.
일평균 거래량은 어떻게 계산합니까?
선택한 기간의 일일 거래량을 모두 더한 뒤 해당 일수로 나눕니다. 2026년 7월 6일부터 10일까지 KO의 5거래일 거래량 합계는 52.8백만 주이며, 이를 5로 나누면 ADV는 10.6백만 주가 됩니다. 20일 ADV도 동일한 산술 방식을 20거래일에 적용합니다.
ADV는 어떤 기간을 기준으로 측정합니까?
가장 일반적으로는 20거래일(약 한 달)을 사용하지만, 10일, 30일, 65일, 90일 기준도 통용됩니다. 거래량에 충격이 발생하면 각 기간별 수치는 서로 크게 달라집니다. 2026-04-14 기준, MU의 20일 ADV는 45.6백만 주였으나 같은 날 90일 ADV는 31.9백만 주를 기록했습니다. 출처를 비교하기 전에 측정 기간을 확인하십시오.
ADV에 장전(premarket) 및 장후(after-hours) 거래량이 포함됩니까?
출처에 따라 다르며, 본 페이지의 수치는 정규장 거래량만을 포함합니다. 동일한 20거래일 동안 측정한 결과, 연장 거래 시간대의 거래 비중은 SPY 전체 거래량의 18.3%, AAPL의 6.9%, 거래량이 적은 CATO의 경우 0.2%를 차지했습니다. 연장 거래 가이드에서 세부 세션을 확인할 수 있습니다.
ADV는 주식 수 기준입니까, 달러 기준입니까?
전통적으로는 주식 수를 사용하지만, 종목 간 유동성을 비교할 때는 달러 기준 ADV가 더 정확한 지표입니다. 동일한 20거래일 동안 MU와 AAPL의 일평균 거래량은 각각 42.01백만 주와 41.47백만 주로 거의 비슷했으나, 달러 기준 ADV는 각각 44.49십억 달러와 12.24십억 달러로 큰 차이를 보였습니다. 주식 수는 같아도 유동성 규모는 매우 다릅니다.
모든 수치는 버전이 관리되는 저장 쿼리에서 산출됩니다. 각 패널 하단의 SQL을 확장하거나 Strasmore 터미널에서 원하는 티커와 기간을 설정하여 직접 계산할 수 있습니다.