Dividend Yield Trailing vs Forward: entenda
O yield trailing soma os dividendos pagos nos últimos doze meses; o forward anualiza o último declarado. Veja por que dois screeners podem divergir.
O dividend yield trailing e o dividend yield forward respond à mesma pergunta, e toda a diferença está no numerador. O yield trailing, geralmente indicado como TTM (trailing twelve months), soma os dividendos que a empresa efetivamente pagou no último ano. O yield forward usa o pagamento mais recentemente declarado e o multiplica pelo número de pagamentos anuais. Ambos dividem pelo mesmo preço da ação. Quando o pagamento mudou nos últimos doze meses, as duas convenções mostram números diferentes para a mesma ação no mesmo momento.
A matemática do índice pertence a como calcular o dividend yield. Esta página trata da escolha feita acima da linha: qual valor de dividendo a fonte colocou no numerador e por que dois screeners informam yields diferentes para o mesmo ticker em uma mesma tarde.
O que é o dividend yield dos últimos doze meses?
O yield dos últimos doze meses soma todos os dividendos em dinheiro com data ex-dividendo nos 365 dias anteriores e divide essa soma pelo preço atual. A data ex-dividendo é o dia em que a ação começa a ser negociada sem direito ao próximo pagamento. É também a data que a maioria dos provedores de dados usa para posicionar um dividendo no tempo.
Nada em um indicador baseado nos últimos doze meses é estimado. Ele registra o dinheiro que já foi pago e mostra a medida correta do que o acionista recebeu. A desvantagem é o outro lado dessa mesma característica: o yield dos últimos doze meses descreve um pagamento que pode não existir mais. Uma empresa que reajustou seu dividendo trimestral no mês passado ainda mantém três pagamentos à taxa antiga dentro da janela dos últimos doze meses. E continuará contabilizando esses pagamentos por mais nove meses.
O que é o dividend yield a termo?
O yield a termo anualiza o pagamento declarado mais recente: o último pagamento multiplicado pela frequência de pagamento, dividido pelo mesmo preço. Uma empresa que paga dividendos trimestralmente e cujo último pagamento declarado foi de US$ 0,50 por ação tem uma taxa a termo de US$ 2,00. Uma empresa que paga mensalmente US$ 0,25 por ação tem uma taxa de US$ 3,00.
Essa é uma projeção baseada em uma única observação e pressupõe que os próximos pagamentos serão iguais ao último. O que ela compra é rapidez. Quando uma empresa aumenta o dividendo, a nova taxa entra no valor a termo com o primeiro pagamento maior, enquanto o valor histórico precisa de quatro trimestres completos para incorporá-la.
Dividend yield trailing versus forward de oito pagadoras conhecidas
O painel abaixo calcula os dois indicadores para oito grandes pagadoras, usando o mesmo preço de uma sessão recente. A coluna trailing soma os dividendos em dinheiro recorrentes dos últimos doze meses. A coluna forward anualiza o pagamento mais recente, usando a frequência de pagamento informada junto com ele.
O SQL exato por trás de cada número
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 DESCAs linhas são ordenadas pela diferença entre as duas convenções. No topo, PEP apresenta um dividend yield forward de 4.24%, contra um dividend yield trailing de 4.12%. Na base, MSFT apresenta 0.78% no forward, contra 0.77% no trailing. São as mesmas empresas, com os mesmos preços e dois métodos legítimos.
A coluna de pagamentos é a fonte menos evidente da divergência. Uma janela móvel de 365 dias não é a mesma coisa que quatro trimestres. As ex-dividend dates variam alguns dias a cada ano, e uma janela que inclui um quinto pagamento eleva o indicador trailing, embora a taxa declarada não tenha mudado.
O que um reset de dividendos faz com as duas leituras
A 3M reajustou seu dividendo trimestral em 2024, junto com a separação de seu negócio de saúde. Os 26 meses seguintes mostram as duas convenções a partir desse momento, com o pagamento trimestral declarado ao lado de cada uma.
O SQL exato por trás de cada número
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_startEm Jun 2024, o pagamento declarado foi de $0.7, enquanto três pagamentos à taxa antiga ainda permaneciam na janela móvel. O yield trailing era de 5.1%. O yield forward era de 2.74%. As duas convenções ficaram 2.36 pontos percentuais distantes para a mesma ação, no mesmo dia, com o preço idêntico nas duas frações. Uma tela classificada por yield trailing naquele mês colocou a 3M com base em um valor em dinheiro que ela já havia deixado de pagar àquela taxa. Nenhum dos dois números estava errado; eles respondem a perguntas diferentes.
A coluna de diferença então se reduz ao longo de quatro trimestres, à medida que os pagamentos antigos saem da janela. Em Jul 2026, as leituras eram 1.71% trailing e 1.77% forward, com uma diferença de 0.06 pontos percentuais. A convergência é o estado normal. A diferença só aumenta quando o pagamento muda, algo que aumentos e cortes de dividendos abrange em todo o mercado, enquanto o histórico de dividendos da 3M acompanha pagamento por pagamento.
Pagamentos mensais, doze cheques e às vezes treze
A Realty Income aumenta seu pagamento mensal em pequenos passos várias vezes ao ano. Isso mantém sua taxa prospectiva ligeiramente acima da taxa do ano anterior. A coluna de cheques mostra quantos pagamentos o período móvel efetivamente contém em cada leitura.
O SQL exato por trás de cada número
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_startEm Aug 2024, o período continha 11 pagamentos. O trailing ficou em 4.57%, contra 5.08% no forward. Em Jul 2026, continha 13 pagamentos com uma taxa mensal declarada de $0.271. O trailing ficou em 5.49%, contra 5.09% no forward, uma diferença de 0.4 pontos. Um período anual móvel que inclui um décimo terceiro cheque eleva o valor trailing em cerca de um doze avos, sem nenhuma mudança no dividendo em si. Ações com dividendos mensais explica o cronograma, e o histórico de pagamentos da Realty Income lista cada cheque.
Qual é a distância entre as convenções no mercado?
Uma ação é apenas um caso isolado. O bloco abaixo calcula os dois métodos para todas as pagadoras listadas nos EUA com valor de mercado acima de US$ 1 bilhão, agrupadas pela frequência de pagamento.
O SQL exato por trás de cada número
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 DESCO maior grupo é o de pagadoras quarterly, com 1128 nomes. O yield mediano histórico é de 1.93%, contra um yield mediano projetado de 2.03%. Na mediana, os dois métodos ficam 0.03 pontos percentuais apartados. A distribuição tem uma cauda: 8.7% desse grupo apresentam uma diferença de pelo menos meio ponto percentual, e a diferença no percentil 90 é de 0.357 pontos. Meio ponto em um yield de 3% equivale a um sexto do número. Essa diferença pode fazer um filtro destacar uma ação ou deixá-la de fora. O grupo monthly, com 21 nomes, apresenta uma diferença mediana de 0.484 pontos.
Para o nível, e não para o método, o que é considerado um bom dividend yield reúne a distribuição do mercado em um só lugar, e o que é dividend yield começa pela própria razão.
Por que dois screeners informam yields de dividendos diferentes?
- A convenção. Um provedor anualiza a declaração mais recente; outro soma os últimos doze meses. Essa é a divergência discutida no restante desta página.
- Onde a janela termina. Um período móvel de 365 dias pode conter quatro ou cinco pagamentos para uma empresa que paga dividendos trimestralmente, e doze ou treze para uma que paga mensalmente.
- Dividendos extraordinários. Um pagamento único permanece na janela móvel por um ano. Alguns provedores o mantêm no numerador; outros o excluem. Um dividendo extraordinário elevado altera significativamente o valor do trailing yield.
- O preço utilizado. Um yield calculado com base no fechamento da noite anterior difere de um calculado às 14h.
- A página da própria empresa. Os sites de relações com investidores quase sempre publicam a taxa anual declarada. Esse é o numerador forward, muitas vezes comparado com um preço que não está em tempo real. As fichas dos fundos informam o SEC yield de 30 dias ou o distribution yield. São mais duas convenções diferentes.
Como esses números são calculados
O trailing yield soma os dividendos recorrentes em dinheiro cuja ex-dividend date esteja dentro dos 365 dias encerrados em cada leitura e divide o resultado pelo preço de fechamento daquela sessão. O forward yield multiplica o pagamento recorrente mais recente pela frequência de pagamento registrada para ele e divide o resultado pelo mesmo preço. Distribuições não recorrentes são excluídas de ambos. Os preços vêm de barras de minuto do pregão regular, no horário de Nova York. Provedores que incluem dividendos extraordinários ou anualizam um pagamento diferente chegam a valores distintos a partir dos mesmos registros subjacentes.
Perguntas frequentes sobre dividend yield trailing e forward
O que é dividend yield TTM?
TTM significa últimos doze meses. O dividend yield TTM soma todos os dividendos pagos no último ano e divide o total pelo preço atual da ação. Assim, mede o caixa que já foi pago, e não uma taxa esperada.
Qual é melhor: dividend yield trailing ou forward?
Nenhum dos dois é universalmente correto. O trailing mede o que o acionista recebeu no último ano. O forward mostra a taxa atualmente declarada, anualizada. Quem compara a renda já recebida deve usar o valor trailing. Quem avalia a taxa que a empresa paga hoje deve usar o valor forward.
Por que meu broker mostra um dividend yield diferente do divulgado na página de relações com investidores da empresa?
As páginas de relações com investidores geralmente divulgam a taxa anual declarada. Esse é o numerador forward, muitas vezes comparado com um preço que não é atualizado em tempo real. Um broker ou screener pode estar somando os últimos doze meses. Os dois números podem estar aritmeticamente corretos no mesmo momento.
Um corte de dividendos aparece imediatamente no dividend yield trailing?
Não. O ajuste entra no valor forward com o primeiro pagamento menor. No valor trailing, ele entra gradualmente, um pagamento por vez, ao longo do ano seguinte. Na janela de 3M acima, as duas convenções estavam separadas por 2.36 pontos em Jun 2024 e por 0.06 pontos em Jul 2026.
Todos os números acima vêm de uma consulta armazenada sobre registros de dividendos divulgados e preços reais das sessões. Abra qualquer painel para consultar o SQL ou execute os mesmos dois cálculos para um ticker que você acompanha no terminal Strasmore.