FINRA 공매도 잔고와 상환 기간 뜻
FINRA(미국 금융산업규제기구)의 공매도 잔고 정의와 상환 기간(days to cover) 및 유통 주식수 대비 비율을 설명합니다.
공매도 잔고(Short interest)는 매도 후 아직 다시 사들이지 않은 주식의 총 수량을 의미한다. 이는 FINRA(미국 금융산업규제기구)에 격주로 보고되는 미결제 공매도 포지션의 잔액이다. 공매도 잔고는 트레이더들이 특정 주식에 대해 얼마나 부정적인 포지션을 취하고 있는지 보여주는 표준 지표이며, 상환 기간(days to cover)과 유통 주식수 대비 공매도 비율(short percent of float)이라는 두 가지 비율을 통해 파악한다. 여기에 제시된 모든 수치는 해당 규제 데이터 세트에서 추출되었으며, 각 수치의 근거가 되는 쿼리는 클릭 한 번으로 확인할 수 있다.
주식의 공매도 잔고(Short Interest)란 무엇인가?
공매도(Short sale)는 일반적인 거래 순서를 뒤집은 형태다. 공매도 투자자는 주식을 빌려 현재 가격에 매도한 후, 더 낮은 가격에 다시 매수하는 것을 목표로 한다. 주식을 다시 매수하는 행위인 '숏 커버링(Covering)'을 통해 빌린 주식을 대여자에게 반환한다. 이 과정이 완료될 때까지 포지션은 유지되며, 모든 증권사의 미결제 공매도 포지션 합계가 해당 주식의 공매도 잔고(Short interest)가 된다.
공매도 잔고는 특정 시점의 미결제 잔액을 의미하며, 대출 잔액과 유사한 개념이다. 새로운 공매도 포지션이 생기면 잔고가 증가하고, 숏 커버링이 발생하면 감소한다. 이는 특정 하루의 거래량을 나타내는 것이 아니다. 따라서 일일 공매도 거래량(Short volume)과는 구별된다. 공매도 거래량은 대부분 일상적인 마켓 메이커(market-maker)의 업무를 위한 흐름이다. 이 두 개념은 자주 혼동되므로, 공매도 잔고와 공매도 거래량의 차이에서 두 지표를 모두 확인할 수 있다. 아래의 실제 티커(Ticker) 데이터에서는 서로 다른 주식을 비교할 수 있도록 두 가지 표준화 지표를 제공한다. 바로 유통 주식수 대비 공매도 비율(Short percent of float)과 상환 소요 일수(Days to cover)이다.
공매도 정의 시 반드시 주의해야 할 위험 요소가 있다. 주가가 상승하면 공매도 포지션은 손실을 본다. 주가에는 상한선이 없으므로, 커버링되지 않은 공매도의 잠재적 손실은 무한대다. 이는 투자 금액만큼만 손실을 보는 매수(Long) 포지션과는 대조적이다.
공매도 잔고는 어떻게 측정되고 보고됩니까?
공매도 잔고(Short interest)는 거래소 피드가 아닌 규제 공시 사항입니다. FINRA Rule 4560에 따라 모든 회원 증권사는 정해진 결제일(settlement date) 기준으로 월 2회, 즉 월 중순과 월말에 장부상의 미결제 공매도 포지션을 보고해야 합니다. 이 규정은 상장 주식과 장외 거래(over-the-counter)를 포함한 모든 주식 증권을 대상으로 합니다. 또한 거래 건수가 아닌 포지션을 집계합니다. 즉, 해당 날짜 기준으로 고객과 증권사 데스크가 여전히 빌려준 주식으로 갚아야 할 잔량을 보고하며, 그 사이의 거래 내역은 반영되지 않습니다. FINRA는 결제일마다 보고된 내용을 하나의 파일로 취합합니다. 이 파일에는 종목별로 공매도 주식 수, 평균 일일 거래량(average-daily-volume), 그리고 이 두 수치를 바탕으로 산출된 상환 소요 일수(days-to-cover ratio)가 포함됩니다. FINRA 보고서 안내에서 출처의 메커니즘을 확인할 수 있으며, 가장 많은 공매도가 발생한 종목 순위에서 최신 데이터를 확인할 수 있습니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH (SELECT max(settlement_date) FROM global_markets.stocks_short_interest) AS latest
SELECT concat(monthName(latest), ' ', toString(toDayOfMonth(latest)), ', ', toString(toYear(latest))) AS latest_settlement_date,
count() AS tickers_reported,
multiIf(count() < 1000, toString(count()),
concat(toString(intDiv(count(), 1000)), ',', lpad(toString(count() % 1000), 3, '0'))) AS tickers_reported_fmt,
round(sum(si) / 1e9, 1) AS total_shares_short_b
FROM
(
SELECT ticker, max(short_interest) AS si
FROM global_markets.stocks_short_interest
WHERE settlement_date = latest
GROUP BY ticker
)June 30, 2026 결제일 기준, 해당 파일은 총 56.8 billion 주의 공매도 잔고를 보유한 22,207 티커를 포함합니다. 이는 미국 주식 시장 전체의 공매도 현황을 월 2회 스냅샷으로 보여주는 것입니다.
공매도 잔고 보고 일정
"한 달에 두 번"이라는 규정은 두 가지 규칙으로 요약됩니다. 월 중 정산은 15일에 이루어지며, 15일이 주말이나 공휴일인 경우 직전 영업일로 앞당겨집니다. 월말 정산은 해당 월의 마지막 영업일에 이루어집니다. 데이터 파일은 정산 후 며칠 또는 몇 주 후에 공개됩니다. 지난 5개월간의 모든 정산 기록과 요일, 그리고 데이터가 공개되기까지 경과된 일수는 다음과 같습니다:
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT concat(monthName(d), ' ', toString(toDayOfMonth(d)), ', ', toString(toYear(d))) AS settlement_date,
weekday,
securities_on_file,
multiIf(securities_on_file < 1000, toString(securities_on_file),
concat(toString(intDiv(securities_on_file, 1000)), ',', lpad(toString(securities_on_file % 1000), 3, '0'))) AS securities_on_file_fmt,
publication_lag_days
FROM
(
SELECT settlement_date AS d,
formatDateTime(settlement_date, '%W') AS weekday,
uniqExact(ticker) AS securities_on_file,
dateDiff('day', settlement_date, toDate(min(_ingest_time))) AS publication_lag_days
FROM global_markets.stocks_short_interest
WHERE settlement_date >= today() - INTERVAL 5 MONTH
GROUP BY settlement_date
)
ORDER BY d5개월간의 9 정산일이며, 요일 열에서 영업일 조정 내역을 확인할 수 있습니다(예를 들어, 13일로 표시된 정산은 15일 주말을 피해 앞당겨진 월 중 정산 기록임). 가장 최근의 June 30, 2026 정산은 Tuesday에 완료되었으며, 22,207 종목을 대상으로 하고 데이터 공개까지 11일이 소요되었습니다. 그 직전 기록은 16일이 소요되었습니다.
결과적으로, 오늘 확인하는 공매도 잔고 수치는 마지막 정산 시점의 포지션을 나타내며, 이는 현재로부터 1주에서 수주 전의 상태입니다 (최근 모든 기록의 지연 시간을 측정함). "현재" 공매도 잔고는 결코 현재의 상태가 아닙니다.
실례: Tesla의 공매도 잔고
정의는 티커(Ticker)와 함께 확인할 때 더 명확합니다. 지난 2년간의 모든 결제일 기준 Tesla의 데이터와 동일 파일 내 평균 일일 거래량 대비 공매도 잔고(Short Interest)는 다음과 같습니다:
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT concat(monthName(d), ' ', toString(toDayOfMonth(d)), ', ', toString(toYear(d))) AS settlement_date,
short_interest_m_shares,
avg_daily_volume_m_shares
FROM
(
SELECT settlement_date AS d,
round(max(short_interest) / 1e6, 1) AS short_interest_m_shares,
round(max(avg_daily_volume) / 1e6, 1) AS avg_daily_volume_m_shares
FROM global_markets.stocks_short_interest
WHERE ticker = 'TSLA'
AND settlement_date >= today() - INTERVAL 2 YEAR
GROUP BY settlement_date
)
ORDER BY dJune 30, 2026 결제일 기준, 평균 일일 거래량인 46 million 주에 대해 79.1 million TSLA 주가 공매도되었습니다. 2년 전 해당 잔고는 87 million이었습니다. 데이터 지점의 개수는 다음과 같습니다: 47 결제일 — 매월 2회이며, 그 외의 날짜는 포함되지 않습니다.
유통 주식수 대비 공매도 비율 및 상환 소요 일수
Days to cover (상환 소요 일수) — 즉 공매도 비율(short interest ratio)은 공매도 잔고를 일평균 거래량으로 나눈 값입니다. 이는 주식이 정상적인 속도로 거래될 때, 모든 공매도 포지션을 청산하기 위해 며칠의 거래 세션이 필요한지를 나타냅니다. 이 파일은 해당 수치를 계산하여 제공하며, 한 가지 주의할 점은 최소값이 1.00으로 설정되어 그 이하의 수치는 표시되지 않는다는 것입니다.
Short percent of float (유통 주식수 대비 공매도 비율)은 공매도 잔고를 float (유통 주식수) — 발행 주식수에서 내부자 지분, 제한 주식 및 기타 밀접 보유 블록을 제외한 수치 — 로 나눈 값입니다. 이는 거래 가능한 지분 중 얼마만큼이 공매도되었는지를 나타냅니다. 유통 주식수 설명에서 언급된 주의 사항이 하나 있습니다. 어떤 공시 보고서도 유통 주식수를 직접 보고하지 않습니다. 기업은 분기별로 shares outstanding (발행 주식수)를 보고하며, 모든 유통 주식수 수치는 데이터 제공업체가 계산한 차감 수치입니다. 아래 표는 대신 감사받은 분모인 최신 분기 보고서의 기본 발행 주식수를 사용하여 계산합니다. 유통 주식수는 발행 주식수보다 클 수 없으므로, 각 백분율은 보수적인 최솟값을 나타냅니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH (SELECT max(settlement_date) FROM global_markets.stocks_short_interest) AS latest,
shares AS
(
SELECT tk AS ticker,
argMax(basic_shares_outstanding, (filing_date, period_end)) AS shares_out
FROM global_markets.stocks_income_statements
ARRAY JOIN tickers AS tk
WHERE tk IN ('AAPL', 'KO', 'MSFT', 'NVDA', 'TSLA', 'GME')
AND timeframe = 'quarterly'
AND filing_date >= today() - INTERVAL 1 YEAR
AND basic_shares_outstanding > 0
GROUP BY tk
),
si AS
(
SELECT ticker,
max(short_interest) AS shares_short,
max(days_to_cover) AS dtc
FROM global_markets.stocks_short_interest
WHERE settlement_date = latest
AND ticker IN ('AAPL', 'KO', 'MSFT', 'NVDA', 'TSLA', 'GME')
GROUP BY ticker
)
SELECT si.ticker AS ticker,
round(si.shares_short / 1e6, 1) AS shares_short_m,
round(shares.shares_out / 1e6, 0) AS shares_outstanding_m,
multiIf(shares.shares_out < 1e9, toString(toUInt64(round(shares.shares_out / 1e6, 0))),
concat(toString(intDiv(toUInt64(round(shares.shares_out / 1e6, 0)), 1000)), ',',
lpad(toString(toUInt64(round(shares.shares_out / 1e6, 0)) % 1000), 3, '0'))) AS shares_outstanding_m_fmt,
round(100.0 * si.shares_short / shares.shares_out, 2) AS short_pct_of_shares_out,
round(si.dtc, 2) AS days_to_cover
FROM si
INNER JOIN shares ON si.ticker = shares.ticker
ORDER BY indexOf(['AAPL', 'KO', 'MSFT', 'NVDA', 'TSLA', 'GME'], si.ticker)Tesla의 다섯 번째 행을 보면, 3,225 백만 주의 발행 주식수 중 79.1 백만 주가 공매도되어 2.45%의 비율을 기록하고 있으며, 상환 소요 일수는 1.72일입니다. 이는 전형적인 대형주(mega-cap)의 형태입니다. 즉, 막대한 유동성과 거대한 주식 기반을 바탕으로 개별 수치만으로는 매우 커 보이는 주식 수를 의미합니다. NVDA는 이를 더욱 명확히 보여줍니다. 여섯 종목 중 가장 큰 공매도 잔고인 310.1 백만 주를 기록했음에도, 발행 주식수 대비 비율은 1.28%이며 상환 소요 일수는 1.99일입니다. 단순한 수치만으로는 아무것도 알 수 없습니다.
GameStop는 예외적인 사례입니다. 발행 주식수의 12.48%가 공매도되었으며, 이는 표에 있는 다른 어떤 종목보다 여러 배 높은 수치입니다. 상환 소요 일수는 10.75일입니다.
무엇을 높은 공매도 잔고(High Short Interest)로 간주하는가?
공식적인 기준치는 존재하지 않는다. "높음"은 관습적인 표현이며, 이를 객관적으로 측정하는 방법은 전체 표본을 조사하는 것이다. 최근 데이터 파일에 포함된 모든 유동성 종목(평균 일일 거래량 100만 주 이상)의 상환 소요 일수(Days to cover)는 다음과 같다:
모든 수치 뒤에 숨겨진 정확한 SQL
WITH (SELECT max(settlement_date) FROM global_markets.stocks_short_interest) AS latest
SELECT count() AS liquid_tickers,
multiIf(count() < 1000, toString(count()),
concat(toString(intDiv(count(), 1000)), ',', lpad(toString(count() % 1000), 3, '0'))) AS liquid_tickers_fmt,
round(quantileExact(0.5)(dtc), 1) AS median_days_to_cover,
round(quantileExact(0.9)(dtc), 1) AS p90_days_to_cover,
min(dtc) AS lowest_days_to_cover,
countIf(dtc >= 10) AS names_at_10_plus
FROM
(
SELECT ticker, max(days_to_cover) AS dtc, max(avg_daily_volume) AS adv
FROM global_markets.stocks_short_interest
WHERE settlement_date = latest
GROUP BY ticker
)
WHERE adv >= 10000003,202개의 유동성 종목을 조사한 결과, 상환 소요 일수의 중앙값은 2.4일이며, 상위 10% 기준(90th percentile)은 5.9일이다. 최저치는 1일로 하한선을 형성한다. 상환 소요 일수가 10일 이상인 종목은 45개에 불과하다. 며칠 정도의 수치는 일반적이지만, 두 자릿수 비율은 실제로 매도세가 과밀한 상태임을 의미한다.
다음은 다른 비율을 나타낸다. 최근 분기 공시 기록이 있는 유동성 종목을 발행 주식 수 대비 공매도 잔고 비율(Short interest as a percentage of shares outstanding)에 따라 분류하였으며, 각 구간별 상환 소요 일수의 중앙값을 함께 표기하였다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH (SELECT max(settlement_date) FROM global_markets.stocks_short_interest) AS latest,
si AS
(
SELECT ticker,
max(short_interest) AS shares_short,
max(avg_daily_volume) AS adv,
max(days_to_cover) AS dtc
FROM global_markets.stocks_short_interest
WHERE settlement_date = latest
GROUP BY ticker
HAVING adv >= 1000000
),
shares AS
(
SELECT tk AS ticker,
argMax(basic_shares_outstanding, (filing_date, period_end)) AS shares_out
FROM global_markets.stocks_income_statements
ARRAY JOIN tickers AS tk
WHERE timeframe = 'quarterly'
AND filing_date >= today() - INTERVAL 9 MONTH
AND basic_shares_outstanding > 0
GROUP BY tk
HAVING shares_out >= 10000000
),
joined AS
(
SELECT si.ticker AS ticker,
100.0 * si.shares_short / shares.shares_out AS short_pct,
si.dtc AS dtc
FROM si
INNER JOIN shares ON si.ticker = shares.ticker
WHERE 100.0 * si.shares_short / shares.shares_out <= 50
)
SELECT multiIf(short_pct < 2, 'Under 2%',
short_pct < 5, '2-5%',
short_pct < 10, '5-10%',
short_pct < 20, '10-20%',
'20%+') AS short_pct_bucket,
count() AS tickers,
round(100.0 * count() / sum(count()) OVER (), 1) AS pct_of_tickers,
round(quantileExact(0.5)(dtc), 2) AS median_days_to_cover
FROM joined
GROUP BY short_pct_bucket
ORDER BY min(short_pct)데이터의 분포는 대부분의 독자가 예상하는 것보다 넓다. 이 종목들 중 발행 주식 수 대비 공매도 비중이 2% 미만인 경우는 11.9%에 그친다. 중간 두 구간(28.6% 및 29%)이 2%에서 10% 사이의 대다수 종목을 포함한다. 8.9%개에서 169개의 종목은 20%를 상회한다. 유통 주식 수(Float)를 기준으로 측정한다면 모든 수치는 이보다 더 높게 나타날 것이다.
마지막 열은 결과값이다. 상환 소요 일수의 중앙값은 공매도 비중이 낮은 구간의 1.83일에서 가장 높은 구간의 5.37일까지 단계별로 상승한다. 서로 다른 두 가지 분모(하나는 주식 수, 다른 하나는 거래량)를 사용했음에도 결과는 동일하게 나타난다. 즉, 발행 주식 수 대비 공매도 비중이 높은 주식은 일반적으로 포지션 청산 속도도 느리다 (상환 소요 일수에 대한 상세 설명).
GameStop, 2021년 1월: 데이터로 보는 숏 스퀴즈(Short Squeeze)의 양상
높은 공매도 잔고(Short Interest)에 관한 모든 논의는 동일한 사례를 참조한다. 2020년 11월부터 2021년 3월까지 10 결제 기준 GameStop의 기록적인 수치와 각 날짜의 종가(GME의 이후 4-for-1 주식 분할 전 거래 가격)는 다음과 같다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH px AS
(
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'GME'
AND window_start >= '2020-11-01 00:00:00'
AND window_start < '2021-04-02 00:00:00'
AND toHour(toTimeZone(window_start, 'America/New_York')) BETWEEN 9 AND 15
GROUP BY day
),
si AS
(
SELECT settlement_date,
round(max(short_interest) / 1e6, 1) AS shares_short_m,
round(max(days_to_cover), 1) AS days_to_cover
FROM global_markets.stocks_short_interest
WHERE ticker = 'GME'
AND settlement_date >= '2020-11-01'
AND settlement_date <= '2021-03-31'
GROUP BY settlement_date
)
SELECT concat(monthName(si.settlement_date), ' ', toString(toDayOfMonth(si.settlement_date)), ', ', toString(toYear(si.settlement_date))) AS settlement_date,
si.shares_short_m AS shares_short_m,
si.days_to_cover AS days_to_cover,
round(px.close_px, 2) AS gme_close
FROM si
INNER JOIN px ON si.settlement_date = px.day
ORDER BY si.settlement_date상단 행에 설정된 초기 상황을 보면 다음과 같다. November 13, 2020 결제 당시 GME 공매도 수량은 67.5 million(백만) 주였으며, 상환 소요 일수(Days to cover)는 14일이었고, 주가는 $11.02로 마감되었다. 연말까지 잔고는 계속 증가했다. December 31, 2020 결제 시점의 잔고는 10 중 가장 큰 규모인 71.2 million 주였으며, 주가는 $18.81였다.
이후 상황이 반전된다. January 29, 2021 결제 시점에 주가는 $328.24로 마감되었고, 공매도 잔고는 연말 잔고의 약 3분의 1 수준인 21.4 million 주로 기록되었다. 상환 소요 일수는 최저치인 1일로 급락했다. 비율의 분자와 분모가 동시에 움직였다. 즉, 공매도 상환이 이루어지며 분자가 감소했고, 거래량이 폭증하며 분모가 증가했다. March 31, 2021 결제 시점의 잔고는 10.7 million 주였다.
가격 차트만으로는 배울 수 없는 두 가지 교훈이 있다. 첫째, 기록은 사후적이다. 주가가 $35.49일 때 촬영된 January 15, 2021 스냅샷은 통상적인 수주간의 시차를 두고 공개된다. 둘째, 낮은 상환 소요 일수가 항상 안정적인 상태를 의미하는 것은 아니다. 해당 비율은 이 사건의 가장 격동적인 구간에서 최저치에 도달했다. 이는 소규모 포지션이 아닌 폭발적인 거래량을 나타낸다. 스퀴즈의 전체 구조에서 해당 주간의 흐름을 확인할 수 있다.
공매도 잔고 FAQ
높은 공매도 잔고란 무엇인가?
공식적인 기준치는 존재하지 않는다. 가장 최근 결제일 기준, 미국 상장 유동 주식의 중앙값은 2.4일의 상환 기간(days to cover)을 나타내며, 10일 이상인 경우는 45에 불과하다. 반면, 공시 자료를 기반으로 한 유동 주식 중 발행 주식 총수의 20% 이상을 공매도하고 있는 비율은 8.9%이며, 대부분의 데스크는 이 구간을 과도한 공매도 구간으로 분류한다.
공매도 잔고 보고일은 언제인가?
한 달에 두 번 보고된다. 매월 15일(주말 또는 공휴일인 경우 직전 영업일로 앞당겨짐)과 해당 월의 마지막 영업일이다. 브로커리지(Brokerage)는 FINRA Rule 4560에 따라 해당 결제일 기준의 미결제 포지션을 보고하며, 해당 파일은 며칠 또는 몇 주 후에 공개된다. 이곳의 최신 데이터는 June 30, 2026에 결제되었으며 11일 후에 도착했다.
유동 주식 대비 공매도 비율(Short percent of float)이란 무엇인가?
공매도 잔고를 유동 주식(float, 거래 가능한 주식)으로 나눈 값이다. 공시 자료에는 유동 주식 수치가 포함되지 않으므로, 모든 공개 데이터는 벤더(vendor)의 추정치이다. 감사받은 발행 주식 총수(유동 주식보다 작을 수 없음)를 기준으로 측정했을 때, Tesla의 최신 수치는 2.45%이며 GameStop는 12.48%이다.
상환 기간(Days to cover)이란 무엇인가?
공매도 잔고를 일평균 거래량으로 나눈 값이다. 이는 모든 미결제 공매도 포지션을 다시 사들이는 데 필요한 일반적인 거래 세션을 의미한다. Tesla의 최신 수치는 1.72일이며, 해당 파일은 이 비율의 최솟값을 1.00으로 설정한다.
공매도 잔고(Short interest)와 공매도 거래량(Short volume)은 같은가?
아니다. 공매도 잔고는 결제일 기준의 미결제 포지션을 집계하며, 한 달에 두 번 측정되는 수준(level) 데이터이다. 공매도 거래량은 매일 매도된 주식 수를 집계하며, 이는 흐름(flow) 데이터이다. 이 중 상당 부분은 마켓 메이커(market-maker)의 헤징(두 데이터 모두 측정됨)에 의한 것이다.
위의 모든 패널은 저장된 쿼리(query)이다. 하단의 SQL을 열어 티커(ticker)를 교체한 후 Strasmore 터미널에서 다시 실행할 수 있다.