Strasmore Research
학습 Matt Connor작성자 Matt Connor · data as of August 9, 2026 · refreshed weekly

시가총액 계산 시 사용하는 주식 수 구분 방법

시가총액은 발행주식수(shares outstanding)에 주가를 곱하여 산출합니다. EPS 산출용 가중평균주식수나 지수 산정용 유동주식수와는 개념이 다르므로 주의해야 합니다. 보고서상 수치가 최신인지 확인하는 방법과 각 지표의 차이를 명확히 설명합니다.

시가총액(Market cap)은 주가에 주식 수를 곱한 값이며, 여기서 중요한 질문은 어떤 주식 수를 사용할 것인가입니다. 표준적인 답변은 발행주식수(shares outstanding)입니다. 이는 기업이 발행한 주식 중 자사주로 매입하여 소각하지 않은 모든 주식을 의미하며, 가장 최근 분기 보고서나 연례 보고서 표지에 기재된 수치를 기준으로 합니다. 이와 혼동하기 쉬운 두 가지 수치로 주당순이익(EPS) 산출을 위해 존재하는 가중평균주식수(weighted average share count)와 지수 제공업체가 가중치를 산정할 때 사용하는 유동주식수(free float)가 있습니다.

시가총액은 어떤 주식 수를 사용하는가?

발행주식수는 특정 시점의 주식 수입니다. 이는 내부자, 펀드, 인덱스 추종자 및 기타 모든 투자자가 보유한 주식을 포함하여 해당 날짜에 존재하는 총 주식 수를 의미합니다. 기업은 각 분기 및 연례 보고서 표지에 이 수치를 기재하며, 보고서가 다루는 기간이 끝난 후 몇 주 뒤의 날짜가 기록됩니다. 시가총액은 이 발행주식수에 최신 주가를 곱한 값입니다. 주가가 50달러이고 발행주식수가 2억 주라면 시가총액은 100억 달러가 되며, 주가가 55달러가 되면 동일한 2억 주를 기준으로 시가총액은 110억 달러가 됩니다.

가중평균주식수는 다른 방식으로 산출됩니다. 이는 손익계산서에 기재되며 주당순이익(EPS)을 의미 있게 만들기 위해 존재합니다. 분기 중에 발행된 주식은 해당 분기의 절반 동안만 발행주식 상태였으므로, 기본 가중평균주식수는 각 주식이 존재했던 기간의 비율만큼 가중치를 부여합니다. 희석(diluted) 버전은 옵션, 제한조건부주식(RSU), 워런트, 전환사채 등이 전환될 경우 발행될 주식까지 포함합니다. 두 수치 모두 이미 종료된 기간에 대한 평균치이며, 특정 단일 날짜의 주식 수를 나타내지는 않습니다.

누군가의 말을 그대로 믿는 대신 직접 불일치를 측정해 볼 수 있습니다. 공시된 시가총액을 당일 종가로 나누면 그 이면에 있는 주식 수를 역산할 수 있습니다.

조회보고된 희석 주식 수 대비 회복된 주식 수
모든 수치 뒤에 숨겨진 정확한 SQL
WITH vendor AS
(
    SELECT
        ticker,
        argMax(toFloat64(market_cap), date)             AS mkt_cap,
        argMax(toFloat64(price), date)                  AS px,
        argMax(formatDateTime(date, '%b %e, %Y'), date) AS priced_on
    FROM global_markets.stocks_ratios
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'JPM', 'XOM')
      AND price > 0
      AND market_cap > 0
    GROUP BY ticker
),
filed AS
(
    SELECT
        ticker,
        argMax(toFloat64(diluted_shares_outstanding), (filing_date, period_end))   AS diluted,
        argMax(formatDateTime(period_end, '%b %e, %Y'), (filing_date, period_end)) AS period_covered
    FROM
    (
        SELECT
            arrayJoin(tickers) AS ticker,
            filing_date,
            period_end,
            diluted_shares_outstanding
        FROM global_markets.stocks_income_statements
        WHERE hasAny(tickers, ['AAPL', 'MSFT', 'NVDA', 'KO', 'JPM', 'XOM'])
          AND timeframe = 'quarterly'
          AND diluted_shares_outstanding > 0
    )
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'JPM', 'XOM')
    GROUP BY ticker
)
SELECT
    v.ticker                                                      AS ticker,
    round(v.mkt_cap / v.px / 1e6)                                 AS implied_shares_mm,
    round(f.diluted / 1e6)                                        AS filed_diluted_shares_mm,
    round(abs(v.mkt_cap / v.px - f.diluted) * 100 / f.diluted, 2) AS gap_pct,
    f.period_covered                                              AS period_covered,
    v.priced_on                                                   AS priced_on
FROM vendor AS v
INNER JOIN filed AS f ON f.ticker = v.ticker
ORDER BY gap_pct DESC
Run this yourself

이들 주요 기업 전반에서 역산된 주식 수와 공시된 희석 주식 수 사이에는 0.24%에서 4.43%만큼의 차이가 존재합니다. 가장 큰 격차를 보이는 곳은 JPM로, Dec 31, 2025에 종료된 기간의 보고서상 수치인 2782백만 주와 역산된 2658백만 주가 서로 다릅니다. 분기 중 자사주를 매입하여 소각하는 기업은 분기 평균보다 적은 주식 수를 가지고 분기를 마감하게 됩니다. 두 수치 모두 정확하며, 서로 다른 질문에 답하고 있습니다.

보고서 간 주식 수는 얼마나 자주 변하는가?

두 가지 메커니즘이 보고서 사이의 주식 수 변화를 유발합니다. 자사주 매입은 주식을 소각하여 주식 수를 줄입니다. 반면 발행은 주식 수를 늘리는데, 여기에는 분기별 직원 주식 보상 행사, 유상증자, 전환사채의 주식 전환, 주식으로 대가를 지급하는 인수합병 등이 포함됩니다. 대규모 자사주 매입 프로그램은 분기마다 주식 수를 점진적으로 줄이며, 모든 주당 지표도 이에 따라 변동합니다. 배당금은 보유자의 가격 수익률 대비 총수익률에 나타나며, 자사주 매입은 여기, 즉 주식 수에 반영됩니다.

조회Apple의 분기별 기본 및 희석 주식 수
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    toString(period_end)                                                    AS quarter_end_date,
    formatDateTime(period_end, '%b %Y')                                     AS quarter_label,
    round(argMax(toFloat64(basic_shares_outstanding), filing_date) / 1e6)   AS basic_shares_mm,
    round(argMax(toFloat64(diluted_shares_outstanding), filing_date) / 1e6) AS diluted_shares_mm
FROM global_markets.stocks_income_statements
WHERE has(tickers, 'AAPL')
  AND timeframe = 'quarterly'
  AND period_end >= '2021-01-01'
  AND basic_shares_outstanding > 0
  AND diluted_shares_outstanding > 0
GROUP BY period_end
ORDER BY period_end
Run this yourself

이 기간 동안 희석 주식 수는 Mar 202116929백만 주에서 Dec 202514810백만 주로 변했습니다. 두 선은 서로 가깝게 움직이며 같은 방향으로 기울어져 있고, 그 사이의 거리는 옵션과 제한조건부주식(RSU)에 의한 오버행(잠재적 매도 물량)을 나타냅니다. 차트의 마지막 기간에는 희석 주식 수가 14810백만 주, 기본 주식 수가 14748백만 주였습니다. 이 선상의 모든 지점은 공시 시점에 이미 종료된 분기의 평균치입니다. 실시간 주가에 이 수치들을 곱하는 것은 현재의 숫자와 과거의 숫자를 혼합하는 것이며, 이는 모든 데이터 소스가 취하는 방식입니다. 이 기울기의 이면에 있는 메커니즘은 자사주 매입 대 배당에서 다룹니다.

시가총액과 지수 가중치가 일치하지 않는 이유

유동주식수(free float)는 발행주식수에서 실제 거래가 불가능한 주식을 제외한 수치입니다. 여기에는 창업자 및 가족 보유 지분, 정부 지분, 전략적 기업 간 상호출자 지분, 미가득 또는 제한된 주식이 포함됩니다. 주요 지수 제공업체는 전체 시가총액이 아닌 유동주식수를 반영한 시가총액(float adjusted market cap)을 기준으로 가중치를 부여합니다. 인덱스 펀드는 실제로 매수 가능한 주식만 살 수 있기 때문입니다. 주식 유동주식수란 무엇인가에 대한 가이드를 통해 이러한 조정이 어떻게 설정되는지 확인할 수 있습니다.

가상의 기업을 예로 들어 두 수치를 비교해 보겠습니다. 발행주식수가 10억 주이고 주가가 40달러라면 시가총액은 400억 달러입니다. 창업자가 시장에 나오지 않는 2억 5천만 주를 블록으로 보유하고 있다면, 유동주식수는 7억 5천만 주가 되며 유동주식수 조정 가치는 300억 달러가 됩니다. 구성 종목의 유동주식수 조정 가치 합계가 30조 달러인 지수에서 이 기업의 가중치는 약 0.10%가 됩니다. 전체 400억 달러를 기준으로 가중치를 부여했다면 0.13%에 가까웠을 것입니다. 어느 쪽도 오류가 아닙니다. 시가총액은 전체 지분 가치를 나타내고, 지수 가중치는 매수 가능한 주식이 펀드 자금을 얼마나 흡수할 수 있는지를 나타냅니다.

이것이 바로 어떤 기업이 시가총액 기준으로는 시장 5위이면서 지수 가중치 기준으로는 7위 아래에 위치할 수 있는 이유입니다. 내부자 지분 집중도가 높으면 유동주식수가 줄어들고, 그에 따라 가중치도 함께 낮아집니다.

하나의 기업, 두 개의 티커

듀얼 클래스(차등의결권) 기업은 보통 의결권에 따라 구분되는 두 개의 티커 심볼을 가진 하나의 사업체입니다. 알파벳(Alphabet)이 대표적인 사례입니다. 데이터 제공업체들은 이를 두 가지 방식으로 처리하며, 두 방식 모두 타당합니다. 일부는 기업의 가치가 하나라는 관점에서 전체 기업의 시가총액을 각 클래스 티커에 동일하게 기재합니다. 다른 업체들은 클래스별로 가치를 분할하여 해당 클래스의 주식 수만 계산합니다.

조회복수 의결권 주식(Dual class) 종목 및 각 시가총액(Market cap)
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    ticker,
    round(argMax(toFloat64(market_cap), date) / 1e9, 1)                 AS market_cap_bn,
    round(argMax(toFloat64(market_cap) / toFloat64(price), date) / 1e6) AS implied_shares_mm,
    argMax(formatDateTime(date, '%b %e, %Y'), date)                     AS priced_on
FROM global_markets.stocks_ratios
WHERE ticker IN ('GOOGL', 'GOOG', 'FOXA', 'FOX')
  AND price > 0
  AND market_cap > 0
GROUP BY ticker
ORDER BY market_cap_bn DESC
Run this yourself

패널을 쌍으로 읽어보십시오. GOOGL는 시가총액 4333.1십억 달러, GOOG4322.9십억 달러를 기록하고 있습니다. 한 기업의 두 클래스가 동일한 가치를 나타내는 경우, 제공업체는 이를 합산하고 있는 것이며 해당 행의 12230백만 주는 해당 클래스의 실제 주식 수가 아니라 전체 기업의 주식 수를 단일 클래스의 가격으로 나눈 값입니다. 가치가 서로 다른 경우, 각 클래스는 별도로 계산되며 두 행의 합이 전체 기업 가치가 됩니다.

이 결과는 스크리닝과 합계에서 나타납니다. 티커 목록 전체의 시가총액을 합산하면 합산 방식으로 표기된 듀얼 클래스 기업의 경우 중복 계산이 발생합니다. 합계를 신뢰하기 전에 한 쌍을 확인하십시오. 두 행이 동일한 값을 출력한다면, 그중 하나는 합계에서 제외해야 합니다.

주식 수의 최신 여부를 확인하는 방법

모든 공시된 주식 수에는 '연령'이 있습니다. 이는 보고서가 공시될 당시 이미 종료된 기간을 다루는 보고서에서 읽어온 수치이며, 다음 보고서가 나올 때까지 유지됩니다. 지난주에 실행된 자사주 매입은 어디에도 반영되어 있지 않습니다.

조회각 주식 수 보고 기간 이후 경과 일수
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    ticker,
    toUInt32(dateDiff('day', last_period, today())) AS report_age,
    formatDateTime(last_period, '%b %e, %Y')        AS period_covered
FROM
(
    SELECT
        arrayJoin(tickers) AS ticker,
        max(period_end)    AS last_period
    FROM global_markets.stocks_income_statements
    WHERE hasAny(tickers, ['AAPL', 'MSFT', 'NVDA', 'KO', 'JPM', 'XOM', 'WMT', 'PG'])
      AND timeframe = 'quarterly'
      AND diluted_shares_outstanding > 0
    GROUP BY ticker
)
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'JPM', 'XOM', 'WMT', 'PG')
ORDER BY report_age DESC
Run this yourself

각 주식 수가 다루는 기간의 종료일을 기준으로 측정했을 때, 여기에서 가장 오래된 수치는 WMT282일이 지났으며, 가장 최근 수치는 KO37일이 지났습니다. 회계연도 달력이 이러한 차이의 대부분을 설명합니다. 1월에 분기를 마감하는 기업은 12월에 마감하는 기업과 다른 주기를 가지며, 이 패널은 두 가지를 모두 포함합니다.

수치의 정확성을 유지하기 위해 두 가지 확인 절차가 필요합니다. 첫 번째 패널처럼 시가총액을 당일 종가로 나누어 역산된 주식 수와 마지막으로 공시된 주식 수를 비교하십시오. 1% 이상 차이가 난다면 데이터 소스가 마지막으로 읽어온 보고서가 무엇인지 확인해야 합니다. 두 번째 확인 절차는 주식 분할입니다. 주식 분할은 같은 날 아침에 주식 수를 곱하고 주가를 나누는데, 한쪽만 먼저 업데이트하는 소스는 불일치가 해소될 때까지 분할 비율만큼 잘못된 시가총액을 출력하게 됩니다.

이 주식 수들이 산출된 방식

여기에 기재된 주식 수는 공시된 손익계산서상의 기본 및 희석 가중평균주식수이며, 공시 시점이 아닌 각 보고서가 다루는 기간을 기준으로 합니다. 연령 열은 해당 기간 종료일부터 오늘까지의 일수를 측정하므로, 달력상 같은 시점이라도 1월 회계 분기가 12월 회계 분기보다 항상 더 오래된 것으로 나타납니다. 시가총액과 종가는 일일 비율 스냅샷에서 가져왔으며, 역산된 주식 수는 동일한 날짜의 시가총액을 해당 세션의 종가로 나눈 값입니다.

자주 묻는 질문(FAQ)

시가총액은 주가에 발행주식수를 곱한 것인가, 아니면 발행된 주식 수를 곱한 것인가?

발행주식수입니다. 발행된 주식(issued shares)에는 기업이 매입하여 자사주로 보유하고 있는 주식이 포함되는데, 이는 의결권과 배당권이 없으며 발행주식수에서 제외됩니다. 자사주는 재무상태표상 자본의 차감 항목으로 기재되며, 이를 포함할 경우 기업 가치가 과대평가됩니다.

발행주식수와 가중평균주식수의 차이는 무엇인가?

발행주식수는 보고서 표지에 기재된 특정 날짜의 주식 수입니다. 가중평균주식수는 보고 기간 동안 각 주식이 존재했던 기간에 따라 가중치를 부여한 평균치이며, 주식 수가 변동된 분기 동안 주당순이익(EPS)을 비교 가능하게 만들기 위해 존재합니다. 시가총액은 발행주식수를 사용하고, 주당순이익은 가중평균주식수를 사용합니다.

기업의 지수 가중치가 시가총액보다 낮은 이유는 무엇인가?

지수 제공업체는 유동주식수 조정 시가총액을 기준으로 가중치를 부여하며, 이는 거래되지 않는 블록으로 묶인 주식을 제외합니다. 창업자나 정부 지분율이 높은 기업은 유동주식수가 발행주식수보다 훨씬 낮으며, 지수 가중치도 같은 비율로 낮아집니다.

주식 수는 얼마나 자주 변하는가?

실제로는 끊임없이 변하지만, 데이터상으로는 분기마다 업데이트됩니다. 자사주 매입, 직원 주식 보상 행사, 옵션 행사, 전환사채 전환 등이 매주 주식 수를 변화시키지만, 공시된 주식 수는 다음 보고서가 나올 때만 업데이트됩니다. 그 간극이 모든 데이터 제공업체의 수치에 존재하는 '데이터의 노후화'입니다.


여기에 있는 모든 패널은 그 이면의 정확한 SQL을 포함하고 있습니다. 이 페이지에 없는 종목의 시가총액 이면의 주식 수를 확인하려면 Strasmore 터미널에서 평이한 영어로 요청하십시오.

#market cap#shares outstanding#float#index weights#fundamentals