자사주 보유 상장사 10곳 중 9곳, 최근 1년 소각은 0이었다 — 전상장사 2,933곳 전수 분석

Quick Summary

자사주 매입은 '주주환원'으로 불리지만, 소각하지 않으면 회사 금고에 쌓일 뿐이다. dartlab으로 전상장사 2,933곳의 자사주 취득·소각을 전수 집계했더니, 자사주를 보유한 798곳 중 742곳(93%)이 최근 1년간 단 한 주도 소각하지 않았다.

“자사주 매입 결정” — 주가가 빠질 때 기업이 내놓는 단골 카드다. 발표가 나면 “주주환원”이라는 단어가 따라붙는다. 그런데 매입은 환원의 절반일 뿐이다. 나머지 절반, 소각이 따라오지 않으면 그 주식은 주주에게 돌아간 게 아니라 회사 금고에 들어가 있을 뿐이다.

그래서 물었다. 한국 상장사들은 자사주를 사고 나서 실제로 소각까지 하는가? dartlab으로 전상장사 2,933곳의 자기주식 취득·처분·소각을 한 번에 집계했다.

답은 분명했다. 자사주를 보유한 798곳 중 742곳(93%)이 최근 1년간 단 한 주도 소각하지 않았다.


매입과 소각은 다른 일이다

자사주를 둘러싼 행위는 셋으로 나뉜다.

  • 취득(매입) — 회사가 자기 주식을 시장에서 사들인다. 유통 물량은 줄지만, 그 주식은 회사가 보유한다.
  • 소각 — 보유한 자사주를 없앤다. 발행주식수 자체가 영구히 줄어든다. 주당 가치(EPS·배당)가 영구적으로 올라간다.
  • 처분 — 보유한 자사주를 다시 시장이나 제3자에게 판다. 줄었던 물량이 되돌아온다. 잠재적 희석이다.

핵심은 이거다. 소각해야 비로소 영구적 환원이다. 매입만 하고 보유하면, 그 자사주는 언젠가 처분될 수 있는 ‘잠재 물량’으로 남는다. 실제로 이번 집계에서 131곳이 최근 1년간 자사주를 처분(되팔기) 했다. 금고에 쌓인 자사주가 환원이 아니라는 증거다.

전상장사 2,933곳, 전수 집계

dartlab scan("capital") 은 DART 정기보고서의 자기주식 현황을 전종목에서 한 번에 읽는다. 최신 연도(당기) 기준 결과는 다음과 같다.

구분회사 수비고
전체 상장사2,933집계 대상 전수
자사주 보유 (기말 잔액 > 0)798전체의 27%
└ 그중 최근 1년 소각 0742보유사의 93%
최근 1년 자사주 취득139
└ 그중 같은 기간 소각 0110매입사의 79%
최근 1년 자사주 처분(되팔기)131잠재 희석

읽는 법은 단순하다. 자사주를 쥐고 있는 회사 10곳 중 9곳은, 가장 최근 1년 동안 그 자사주를 줄이지 않았다. 사들이기만 한 회사(139곳)로 좁혀도 5곳 중 4곳(79%)은 같은 기간 소각이 0이었다.

순환원 분류 — 적극환원은 단 7곳

dartlab은 같은 데이터로 각 회사의 순주주환원 방향도 분류한다. 배당(+1) · 자사주 매입(+1) · 최근 증자(−1) 점수의 합이다.

분류회사 수
희석형 (점수 0 미만)1,363
중립 (점수 0)1,429
환원형 (점수 1 이상)134
적극환원 (점수 2 이상)7

배당과 자사주 매입을 같은 해에 함께 하면서 증자로 희석시키지 않은 ‘적극환원’ 기업은 전체에서 단 7곳이다. 반대로, 최근 증자로 주주 지분을 희석시킨 ‘희석형’이 1,363곳으로 가장 많다. 한국 증시의 주주환원 온도가 어디쯤인지 보여주는 단면이다.

대형주도 예외가 아니다

“규모가 작은 회사들 얘기 아니냐”고 물을 수 있다. 연매출 1조 원 이상 대형주 373곳만 따로 떼어봤다.

  • 자사주 보유: 77곳
  • 그중 최근 1년 소각 0: 68곳 (88%)

대형주에서도 자사주를 쥔 곳의 열에 아홉 가까이가 최근 1년 소각이 없었다. 규모의 문제가 아니라 관행의 문제라는 뜻이다.

단, 이렇게 읽으면 안 된다

데이터는 한 방향으로만 읽으면 위험하다. 이 집계가 말하지 않는 것을 분명히 한다.

  • ‘당기’ 기준이다. 위 숫자는 가장 최근 정기보고서(당기) 기준이다. “이 회사는 역사상 한 번도 소각한 적 없다” 가 아니라 “최근 1년 동안 소각하지 않았다” 다. 여러 해에 걸쳐 소각하는 기업도 있다.
  • 매입만 했다고 곧 나쁜 게 아니다. 자사주는 주식보상(RSU·스톡옵션), 합병 신주 배정, 향후 소각 예정 등 정상적 목적으로도 보유한다. 보유 자체가 문제는 아니다.
  • 개별 회사 판단은 이력 전체를 봐야 한다. 한 해의 단면만으로 특정 기업을 단정하지 않는다. 이 글이 이름을 나열하지 않는 이유다 — 집계는 시장 전체의 구조를 말할 뿐, 개별 기업의 의도를 말하지 않는다.

이 글의 결론은 “어느 회사가 나쁘다”가 아니다. “자사주 매입 발표 건수가 아니라, 소각률을 봐야 한다” — 그 한 줄이다.

직접 확인해보라

이 글의 모든 숫자는 누구나 재현할 수 있다. dartlab을 설치하고 아래 세 줄이면 같은 표가 나온다.

import dartlab
import polars as pl

cap = dartlab.scan("capital")          # 전상장사 주주환원 (배당·자사주·증자)

# 자사주 보유 중 최근 1년 소각 0
held      = cap.filter(pl.col("자사주보유") == True).height
held_noburn = cap.filter((pl.col("자사주보유") == True) & (pl.col("자사주소각") == False)).height
print(held, held_noburn, round(100*held_noburn/held, 1))   # 798 742 93.0

검증 가능하지 않은 숫자는 신뢰할 이유가 없다. dartlab의 모든 집계는 공시 데이터에서 직접 나오고, 코드가 곧 방법론이다.


방법론 — 데이터 출처: DART 정기보고서 자기주식 현황(treasuryStock). 집계 단위: 전상장사 2,933곳, 최신 연도(당기) 기준. 취득/처분/소각 수량은 해당 보고기간의 변동분이며, ‘보유’는 기말 잔액 기준이다. 재현: dartlab.scan("capital").

본 글은 공시 데이터에 기반한 정보 제공이며, 특정 종목의 매수·매도를 권유하지 않는다.


이 글은 특정 종목의 매수·매도를 권유하지 않습니다.

양질의 기업분석을 계속 공유하기 위해 노력하고 있습니다. 도움이 되셨다면 dartlab을 후원해주세요.

Buy Me A Coffee
DartLab Product

이 글의 판단을 실제 데이터 흐름으로 옮기기

DartLab은 전자공시를 읽는 법을 코드와 데이터로 연결하기 위해 만든 제품입니다. 사업보고서 텍스트, 재무 시계열, 정기보고서 데이터를 한 흐름에서 다루도록 설계했습니다.