후행 배당수익률과 선행 배당수익률 비교
후행 배당수익률은 최근 12개월 지급액을, 선행 배당수익률은 최근 선언된 배당금의 연환산액을 반영합니다. 두 스크리너의 수치가 다른 이유를 설명합니다.
후행 배당수익률과 선행 배당수익률은 같은 질문에 대한 두 가지 답이며, 차이는 전적으로 분자에 있다. 후행 배당수익률은 일반적으로 TTM(최근 12개월)으로 표기하며, 기업이 지난 1년 동안 실제로 지급한 배당금을 합산한다. 선행 배당수익률은 가장 최근에 발표된 배당금을 연간 지급 횟수만큼 곱해 산출한다. 두 방식 모두 동일한 주가로 나눈다. 최근 12개월 안에 배당금이 변경된 경우, 같은 시점에 같은 종목을 두고도 두 방식은 서로 다른 수치를 나타낸다.
이 비율의 산술은 배당수익률을 계산하는 방법에 설명되어 있다. 이 페이지에서는 분자에 어떤 배당금 수치를 넣을지, 그리고 같은 오후에 두 스크리너가 동일한 ticker(종목 코드)에 서로 다른 수익률을 표시하는 이유를 다룬다.
후행 12개월 배당수익률이란 무엇인가?
후행 수익률은 최근 365일 내 배당락일이 있었던 모든 현금 배당을 합산한 뒤, 그 합계를 현재 주가로 나눈 값이다. 배당락일은 예정된 배당금에 대한 권리가 사라진 상태로 주식 거래가 시작되는 날이다. 또한 대부분의 데이터 제공업체가 배당금을 시간상 배치할 때 사용하는 기준일이다.
후행 수치에는 추정치가 포함되지 않는다. 이미 지급된 현금의 기록이며, 주주가 실제로 수령한 금액을 측정하는 적절한 기준이다. 그러나 이러한 장점은 곧 약점이기도 하다. 후행 수익률은 더 이상 존재하지 않을 수 있는 배당을 보여준다. 한 기업이 지난달 분기 배당금을 조정했다면, 후행 기간에는 기존 배당률로 지급된 세 번의 배당금이 여전히 포함된다. 이 배당금은 앞으로 9개월 동안 더 포함될 수 있다.
선행 배당수익률이란 무엇인가?
선행 수익률은 최근 선언된 배당금을 연간 기준으로 환산한 값이다. 최근 지급액에 지급 빈도를 곱한 뒤 동일한 주가로 나눈다. 분기마다 배당하는 기업이 최근 주당 $0.50의 배당을 선언했다면 선행 배당률은 $2.00이다. 월 배당 기업이 주당 $0.25를 지급한다면 선행 배당률은 $3.00이다.
이는 하나의 관측값을 기반으로 한 전망치다. 다음 지급액이 최근 지급액과 같다고 가정한다. 선행 수익률의 장점은 최신 정보를 반영한다는 점이다. 기업이 배당금을 인상하면 첫 번째 인상된 배당금이 지급되는 즉시 새로운 배당률이 선행 수익률에 반영된다. 반면 후행 수익률은 이를 반영하는 데 4개 분기 전체가 필요하다.
대형 배당주 여덟 종목의 후행 배당수익률과 선행 배당수익률 비교
아래 표는 최근 동일 거래일의 주가를 기준으로 대형 배당주 여덟 종목에 대해 두 가지 계산을 모두 수행합니다. 후행 배당수익률 열은 최근 12개월 동안 지급된 정기 현금배당을 합산합니다. 선행 배당수익률 열은 가장 최근 배당금을 연환산하며, 해당 배당금에 등록된 지급 빈도를 사용합니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH last_px AS (
SELECT ticker,
argMax(close, window_start) AS close_price
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('ABBV', 'CVX', 'JNJ', 'KO', 'MCD', 'MSFT', 'PEP', 'PG')
AND window_start >= now() - INTERVAL 10 DAY
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker
),
paid AS (
SELECT ticker,
sum(cash_amount) AS ttm_cash,
count() AS checks_in_window,
argMax(cash_amount, ex_dividend_date) AS latest_cash,
argMax(frequency, ex_dividend_date) AS pay_frequency
FROM global_markets.stocks_dividends
WHERE ticker IN ('ABBV', 'CVX', 'JNJ', 'KO', 'MCD', 'MSFT', 'PEP', 'PG')
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date > today() - INTERVAL 1 YEAR
AND ex_dividend_date <= today()
GROUP BY ticker
)
SELECT p.ticker AS ticker,
round(toFloat64(d.ttm_cash) / toFloat64(p.close_price) * 100, 2) AS trailing_yield_pct,
round(toFloat64(d.latest_cash) * d.pay_frequency / toFloat64(p.close_price) * 100, 2) AS forward_yield_pct,
round((toFloat64(d.latest_cash) * d.pay_frequency - toFloat64(d.ttm_cash))
/ toFloat64(p.close_price) * 100, 2) AS forward_minus_trailing_pp,
d.checks_in_window AS checks_in_window,
round(toFloat64(p.close_price), 2) AS share_price
FROM last_px AS p
INNER JOIN paid AS d ON p.ticker = d.ticker
ORDER BY forward_minus_trailing_pp DESC종목은 두 계산 방식 간 차이를 기준으로 정렬했습니다. 상단의 PEP은 선행 배당수익률 4.24%, 후행 배당수익률 4.12%를 기록합니다. 하단의 MSFT은 선행 배당수익률 0.78%, 후행 배당수익률 0.77%를 기록합니다. 동일한 기업과 동일한 주가를 사용했지만, 두 방식 모두 타당합니다.
체크 수 열이 차이를 만드는 더 조용한 원인입니다. 연속 365일의 기간은 4개 분기와 같지 않습니다. 매년 배당락일이 며칠씩 달라지기 때문입니다. 5번째 배당금 지급이 포함된 기간에서는 실제 배당률이 전혀 변하지 않았더라도 후행 배당수익률이 높아집니다.
배당 리셋이 두 가지 수치에 미치는 영향
3M은 헬스케어 사업을 분리하면서 2024년에 분기 배당을 리셋했다. 26개월 말 수치는 그 시점부터 두 산정 방식의 흐름을 추적하며, 각 수치 옆에 공시된 분기 배당금도 표시한다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH px AS (
SELECT toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS month_start,
max(toDate(toTimeZone(window_start, 'America/New_York'))) AS last_day,
argMax(close, window_start) AS close_price
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'MMM'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2024-06-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY month_start
),
dv AS (
SELECT ex_dividend_date, cash_amount
FROM global_markets.stocks_dividends
WHERE ticker = 'MMM'
AND distribution_type = 'recurring'
AND frequency = 4
AND cash_amount > 0
AND ex_dividend_date >= toDate('2023-05-01')
)
SELECT formatDateTime(px.month_start, '%Y-%m') AS month,
formatDateTimeInJodaSyntax(px.month_start, 'MMM yyyy') AS month_label,
round(toFloat64(argMax(dv.cash_amount, dv.ex_dividend_date)), 2) AS declared_quarterly_usd,
round(sumIf(toFloat64(dv.cash_amount), dv.ex_dividend_date > px.last_day - INTERVAL 1 YEAR)
/ toFloat64(any(px.close_price)) * 100, 2) AS trailing_yield_pct,
round(toFloat64(argMax(dv.cash_amount, dv.ex_dividend_date)) * 4
/ toFloat64(any(px.close_price)) * 100, 2) AS forward_yield_pct,
round(abs(toFloat64(argMax(dv.cash_amount, dv.ex_dividend_date)) * 4
- sumIf(toFloat64(dv.cash_amount), dv.ex_dividend_date > px.last_day - INTERVAL 1 YEAR))
/ toFloat64(any(px.close_price)) * 100, 2) AS gap_abs_pp
FROM px, dv
WHERE dv.ex_dividend_date <= px.last_day
GROUP BY px.month_start, px.last_day
ORDER BY px.month_startJun 2024에 공시된 배당금은 $0.7였다. 당시 과거 배당률에 따른 세 번의 지급액이 후행 기간에 여전히 포함돼 있었다. 후행 배당수익률은 5.1%였다. 선행 배당수익률은 2.74%였다. 동일한 종목과 동일한 날짜에, 두 계산식의 가격은 같았지만 두 산정 방식의 수치는 2.36%포인트 차이를 보였다. 해당 월 후행 배당수익률 순으로 정렬한 화면에서는 3M이 이미 지급을 중단한 수준의 현금 배당을 기준으로 순위가 매겨졌다. 어느 수치도 틀리지 않았다. 두 수치는 서로 다른 질문에 답한다.
이후 과거 배당금이 기간에서 빠져나가면서 격차는 네 분기에 걸쳐 줄어든다. Jul 2026에는 후행 배당수익률이 1.71%, 선행 배당수익률이 1.77%로, 두 수치는 0.06%포인트 차이를 보였다. 수렴이 일반적인 상태다. 배당금이 변할 때만 격차가 벌어진다. 배당금 인상과 삭감은 시장 전반에서 이러한 변화를 다루며, 3M의 배당 기록은 지급 건별로 이를 추적한다.
월별 지급, 열두 번의 배당금과 때때로 열세 번의 배당금
Realty Income은 연중 여러 차례 월별 지급액을 소폭 인상합니다. 이에 따라 선행 연환산 배당률은 직전 연도보다 소폭 높게 유지됩니다. 지급 횟수 열은 각 시점에서 후행 기간에 실제로 포함된 지급 횟수를 집계합니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH px AS (
SELECT toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS month_start,
max(toDate(toTimeZone(window_start, 'America/New_York'))) AS last_day,
argMax(close, window_start) AS close_price
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'O'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2024-08-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY month_start
),
dv AS (
SELECT ex_dividend_date, cash_amount
FROM global_markets.stocks_dividends
WHERE ticker = 'O'
AND distribution_type = 'recurring'
AND frequency = 12
AND cash_amount > 0
AND ex_dividend_date >= toDate('2023-07-01')
)
SELECT formatDateTime(px.month_start, '%Y-%m') AS month,
formatDateTimeInJodaSyntax(px.month_start, 'MMM yyyy') AS month_label,
round(toFloat64(argMax(dv.cash_amount, dv.ex_dividend_date)), 4) AS declared_monthly_usd,
countIf(dv.ex_dividend_date > px.last_day - INTERVAL 1 YEAR) AS checks_in_window,
round(sumIf(toFloat64(dv.cash_amount), dv.ex_dividend_date > px.last_day - INTERVAL 1 YEAR)
/ toFloat64(any(px.close_price)) * 100, 2) AS trailing_yield_pct,
round(toFloat64(argMax(dv.cash_amount, dv.ex_dividend_date)) * 12
/ toFloat64(any(px.close_price)) * 100, 2) AS forward_yield_pct,
round(abs(toFloat64(argMax(dv.cash_amount, dv.ex_dividend_date)) * 12
- sumIf(toFloat64(dv.cash_amount), dv.ex_dividend_date > px.last_day - INTERVAL 1 YEAR))
/ toFloat64(any(px.close_price)) * 100, 2) AS gap_abs_pp
FROM px, dv
WHERE dv.ex_dividend_date <= px.last_day
GROUP BY px.month_start, px.last_day
ORDER BY px.month_startAug 2024에서 해당 기간에는 11회의 지급이 포함됐으며, 후행 수익률은 4.57%, 선행 수익률은 5.08%로 나타났습니다. Jul 2026에서는 선언된 월별 지급액 $0.271를 기준으로 13회의 지급이 포함됐으며, 후행 수익률은 5.49%, 선행 수익률은 5.09%로 집계돼 그 차이는 0.4포인트였습니다. 13번째 지급금이 포함되는 이동 1년 기간에서는 배당금 자체가 변하지 않아도 후행 수익률이 약 12분의 1만큼 상승합니다. 월별 배당주에서는 지급 일정을 다루며, Realty Income의 지급 기록에는 모든 지급 내역이 정리돼 있습니다.
시장 전반에서 두 산출 방식은 얼마나 차이가 나는가?
한 종목만 보면 일화에 그친다. 아래 블록은 시가총액이 10억 달러를 넘는 미국 상장 배당 지급 종목을 지급 빈도별로 묶어 두 가지 산출을 모두 실행한 결과다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH universe AS (
SELECT ticker,
argMax(price, date) AS last_price
FROM global_markets.stocks_ratios
WHERE date = (SELECT max(date) FROM global_markets.stocks_ratios)
AND price >= 5
AND market_cap >= 1000000000
GROUP BY ticker
),
paid AS (
SELECT ticker,
sum(cash_amount) AS ttm_cash,
argMax(cash_amount, ex_dividend_date) AS latest_cash,
argMax(frequency, ex_dividend_date) AS pay_frequency
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring'
AND cash_amount > 0
AND frequency IN (1, 2, 4, 12)
AND ex_dividend_date > today() - INTERVAL 1 YEAR
AND ex_dividend_date <= today()
GROUP BY ticker
)
SELECT multiIf(d.pay_frequency = 12, 'monthly',
d.pay_frequency = 4, 'quarterly',
d.pay_frequency = 2, 'semi-annual',
'annual') AS schedule,
count() AS payers,
round(quantileDeterministic(0.5)(toFloat64(d.ttm_cash) / toFloat64(u.last_price) * 100,
cityHash64(u.ticker)), 2) AS median_trailing_pct,
round(quantileDeterministic(0.5)(toFloat64(d.latest_cash) * d.pay_frequency / toFloat64(u.last_price) * 100,
cityHash64(u.ticker)), 2) AS median_forward_pct,
round(quantileDeterministic(0.5)(abs(toFloat64(d.latest_cash) * d.pay_frequency - toFloat64(d.ttm_cash))
/ toFloat64(u.last_price) * 100,
cityHash64(u.ticker)), 3) AS median_gap_pp,
round(quantileDeterministic(0.9)(abs(toFloat64(d.latest_cash) * d.pay_frequency - toFloat64(d.ttm_cash))
/ toFloat64(u.last_price) * 100,
cityHash64(u.ticker)), 3) AS p90_gap_pp,
round(100 * countIf(abs(toFloat64(d.latest_cash) * d.pay_frequency - toFloat64(d.ttm_cash))
/ toFloat64(u.last_price) * 100 >= 0.5) / count(), 1) AS pct_gap_over_half_point
FROM universe AS u
INNER JOIN paid AS d ON u.ticker = d.ticker
GROUP BY schedule
ORDER BY payers DESC가장 큰 그룹은 quarterly 지급 종목으로, 1128개 종목으로 구성된다. 이 그룹의 후행 배당수익률 중앙값은 1.93%이고, 선행 배당수익률 중앙값은 2.03%다. 중앙값 기준으로 두 방식의 차이는 0.03포인트다. 분포에는 꼬리가 있다. 이 그룹의 8.7%는 두 수익률이 최소 0.5%포인트 차이 난다. 90백분위수 기준 격차는 0.357포인트다. 3% 수익률에서 0.5%포인트는 수치의 6분의 1에 해당한다. 이는 스크리너가 종목을 포착할지 제외할지를 가를 수 있는 차이다. monthly 그룹은 21개 종목으로 구성되며, 중앙값 격차는 0.484포인트다.
수준 자체가 아니라 산출 방식에 관한 내용이라면, 양호한 배당수익률로 보는 기준에서 시장 분포를 한곳에 정리하고, 배당수익률이란 무엇인가에서 배당수익률의 비율 자체부터 설명한다.
두 스크리너가 서로 다른 배당수익률을 제시하는 이유
- 산정 방식이 다르기 때문이다. 한 제공업체는 최근 배당 선언을 연율화하고, 다른 업체는 최근 12개월의 배당금을 합산한다. 이 차이가 이 페이지에서 다루는 핵심 쟁점이다.
- 산정 기간의 위치가 다르기 때문이다. 365일 이동 기간에는 분기 배당 기업의 배당금 지급이 네 번 또는 다섯 번 포함될 수 있다. 월 배당 기업은 열두 번 또는 열세 번 포함될 수 있다.
- 특별배당 때문이다. 일회성 지급액은 1년 동안 추적 기간에 포함된다. 일부 제공업체는 이를 분자에 포함하고, 일부는 제외한다. 규모가 큰 특별배당은 추적 배당수익률을 크게 움직인다.
- 기준 가격이 다르기 때문이다. 전날 밤 종가로 계산한 수익률은 오후 2시 가격으로 계산한 수익률과 다르다.
- 회사 자체 페이지의 수치가 다르기 때문이다. 투자자관계 사이트는 거의 항상 선언된 연간 배당률을 공시한다. 이는 선행 수익률의 분자에 해당하지만, 실시간이 아닌 가격을 기준으로 하는 경우가 많다. 펀드 자료는 30일 SEC 수익률 또는 분배수익률을 제시한다. 이 역시 서로 다른 산정 방식이다.
이 수치의 산출 방식
여기서 추적 배당수익률은 각 시점의 조회일을 기준으로 직전 365일 동안 배당락일이 있었던 반복 현금배당을 합산한 뒤, 해당 세션의 종가로 나누어 계산한다. 선행 배당수익률은 가장 최근의 반복 배당금을 해당 배당금과 함께 신고된 지급 빈도로 곱한 뒤, 동일한 가격으로 나누어 계산한다. 비반복 분배금은 두 수치 모두에서 제외한다. 가격은 뉴욕 시간 기준 정규장에서 형성된 분봉 데이터를 사용한다. 특별배당을 포함하거나 다른 지급 횟수를 연율화하는 제공업체는 동일한 기초 기록을 사용하더라도 서로 다른 수치를 제시하게 된다.
후행 배당수익률과 선행 배당수익률 FAQ
TTM 배당수익률이란 무엇입니까?
TTM은 최근 12개월을 의미합니다. TTM 배당수익률은 지난 1년 동안 지급된 모든 배당금을 합산한 뒤 현재 주가로 나눈 값입니다. 따라서 예상 배당률이 아니라 이미 지급된 현금을 측정합니다.
후행 배당수익률과 선행 배당수익률 중 어느 쪽이 더 적절합니까?
어느 한쪽이 항상 정답인 것은 아닙니다. 후행 배당수익률은 주주가 지난 1년 동안 실제로 받은 금액을 측정합니다. 선행 배당수익률은 현재 공시된 배당률을 연율화해 보여줍니다. 이미 받은 배당소득을 비교하려는 투자자는 후행 수치를 사용해야 합니다. 회사가 현재 지급하는 배당률을 평가하려는 투자자는 선행 수치를 사용해야 합니다.
증권사의 배당수익률이 회사의 투자자 페이지와 다른 이유는 무엇입니까?
투자자관계 페이지는 일반적으로 공시된 연간 배당률을 표시합니다. 이는 선행 배당수익률의 분자에 해당하며, 실시간이 아닌 주가를 기준으로 하는 경우가 많습니다. 반면 증권사나 스크리너는 최근 12개월 배당금을 합산할 수 있습니다. 같은 시점에 두 수치가 모두 산술적으로 정확할 수 있습니다.
배당 삭감은 후행 배당수익률에 즉시 반영됩니까?
아닙니다. 배당 조정은 첫 번째로 줄어든 배당금이 지급되는 시점부터 선행 수치에 반영됩니다. 후행 수치에는 그 후 1년 동안 각 지급분이 하나씩 반영됩니다. 위의 3M 기간에서는 두 계산 방식의 차이가 2.36포인트였고, Jun 2024 및 0.06포인트 차이로 Jul 2026에 이르렀습니다.
위의 모든 수치는 공시된 배당 기록과 실제 거래 세션의 주가를 대상으로 한 저장된 쿼리에서 산출됩니다. 각 패널을 열어 SQL을 확인하거나 Strasmore 터미널에서 관심 있는 ticker에 동일한 두 가지 계산을 적용할 수 있습니다.