Strasmore Research
Educación Matt ConnorPor Matt Connor · data as of August 2, 2026 · refreshed weekly

Rendimiento por dividendos histórico vs. proyectado

El rendimiento histórico suma los pagos de los últimos doce meses; el proyectado anualiza el último dividendo declarado. Por eso dos screeners pueden diferir.

El rendimiento por dividendos histórico y el rendimiento por dividendos proyectado responden a la misma pregunta, y toda la diferencia está en el numerador. El rendimiento histórico, normalmente expresado como TTM por trailing twelve months, suma los dividendos que una empresa efectivamente pagó durante el último año. El rendimiento proyectado toma el pago declarado más recientemente y lo multiplica por el número de pagos anuales. Ambos se dividen entre el mismo precio por acción. Cuando un pago ha cambiado en los últimos doce meses, ambas convenciones muestran cifras diferentes para la misma acción en el mismo momento.

La aritmética de la razón corresponde a cómo calcular el rendimiento por dividendos. Esta página se ocupa de la decisión del numerador: qué cifra de dividendos utiliza una fuente y por qué dos screeners muestran rendimientos diferentes para el mismo ticker una tarde cualquiera.

¿Qué es el rendimiento por dividendo de los últimos doce meses?

El rendimiento histórico suma todos los dividendos en efectivo cuya fecha ex-dividendo se ubicó dentro de los últimos 365 días y luego divide esa suma entre el precio actual. La fecha ex-dividendo es el día en que una acción comienza a cotizar sin derecho al próximo pago. Es la fecha que utiliza la mayoría de los proveedores de datos para ubicar un dividendo en el tiempo.

Una cifra histórica no contiene estimaciones. Representa el efectivo que ya se pagó y mide lo que realmente cobró el accionista. Su debilidad es el reverso de esa fortaleza: el rendimiento histórico describe un pago que quizá ya no exista. Una empresa que ajustó su dividendo trimestral el mes pasado todavía incluye tres pagos a la tasa anterior dentro de su periodo histórico. Los seguirá incluyendo durante otros nueve meses.

¿Qué es el rendimiento por dividendo forward?

El rendimiento forward anualiza el pago declarado más reciente: el último pago multiplicado por la frecuencia de pago, dividido entre el mismo precio. Una empresa que paga dividendos trimestrales y cuyo último dividendo declarado fue de $0.50 por acción tiene una tasa forward de $2.00. Una empresa que paga dividendos mensuales de $0.25 tiene una tasa de $3.00.

Es una proyección basada en una sola observación y supone que los próximos pagos serán iguales al último. Lo que compra es actualidad. Cuando una empresa aumenta el dividendo, la nueva tasa entra en la cifra forward con el primer pago mayor, mientras que la cifra trailing necesita cuatro trimestres completos para incorporarla.

Rendimiento por dividendo histórico frente a rendimiento futuro en ocho emisores conocidos

El panel siguiente calcula ambos indicadores para ocho emisores grandes, usando el mismo precio de la sesión reciente. La columna histórica suma los dividendos en efectivo recurrentes de los últimos doce meses. La columna futura anualiza el dividendo más reciente, usando la frecuencia de pago registrada para ese dividendo.

ConsultaYield por dividendo trailing vs forward: ocho pagadoras grandes, precio de la última sesión
El SQL exacto detrás de cada cifra
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
Run this yourself

Las filas están ordenadas por la diferencia entre ambas convenciones. En la parte superior, PEP muestra un rendimiento futuro de 4.24% frente a un rendimiento histórico de 4.12%. En la parte inferior, MSFT muestra 0.78% de rendimiento futuro frente a 0.77% de rendimiento histórico. Son las mismas empresas y los mismos precios, pero se aplican dos métodos válidos.

La columna de pagos es una fuente menos visible de la divergencia. Una ventana móvil de 365 días no equivale a cuatro trimestres. Las fechas ex-dividendo varían algunos días cada año, y una ventana que incluye un quinto pago eleva el indicador histórico aunque la tasa declarada no haya cambiado.

Qué efecto tiene un reinicio del dividendo en las dos lecturas

3M reinició su dividendo trimestral en 2024, junto con la separación de su negocio de atención médica. Los finales de mes de 26 que aparecen abajo siguen ambas convenciones desde ese momento, con el pago trimestral declarado junto a ellas.

Consulta3M (MMM): yield por dividendo trailing vs forward en cada cierre mensual tras un reajuste del pago
El SQL exacto detrás de cada cifra
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_start
Run this yourself

En Jun 2024, el pago declarado fue de $0.7, mientras tres pagos a la tasa anterior todavía permanecían dentro de la ventana móvil. El rendimiento trailing era de 5.1%. El rendimiento forward era de 2.74%. Las dos convenciones quedaron separadas por 2.36 puntos en una misma acción y en un mismo día, con el mismo precio bajo ambas fracciones. Una pantalla ordenada por rendimiento trailing ese mes clasificó a 3M según efectivo que ya había dejado de pagar a esa tasa. Ninguna cifra era incorrecta; responden preguntas diferentes.

La columna de brecha se cierra durante cuatro trimestres a medida que los pagos anteriores salen de la ventana. Para Jul 2026, las lecturas eran de 1.71% trailing y 1.77% forward, una diferencia de 0.06 puntos. La convergencia es el estado normal. La brecha solo se abre cuando cambia el pago, algo que los aumentos y recortes de dividendos cubren en todo el mercado, mientras que el historial de dividendos de 3M registra cada pago.

Pagadores mensuales, doce pagos y a veces trece

Realty Income aumenta su pago mensual en pequeños pasos varias veces al año. Esto mantiene su tasa futura ligeramente por encima de la del año anterior. La columna de pagos cuenta cuántos pagos contiene realmente la ventana móvil en cada lectura.

ConsultaRealty Income (O): yield por dividendo trailing vs forward en cada cierre mensual, dos años
El SQL exacto detrás de cada cifra
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_start
Run this yourself

En Aug 2024, la ventana contenía 11 pagos. Registró 4.57% en los últimos doce meses frente a 5.08% a futuro. En Jul 2026, contenía 13 pagos con una tasa mensual declarada de $0.271. Registró 5.49% en los últimos doce meses frente a 5.09% a futuro, una diferencia de 0.4 puntos. Un año móvil que incluye un decimotercer pago eleva la cifra de los últimos doce meses aproximadamente en una doceava parte, sin cambios en el dividendo mismo. Acciones con dividendos mensuales explica el calendario, y Historial de pagos de Realty Income enumera cada pago.

¿Qué tan separadas están las convenciones en el mercado?

Una acción es solo una anécdota. El bloque siguiente calcula ambas métricas para todos los emisores que cotizan en Estados Unidos, con una capitalización de mercado superior a $1,000 millones, agrupados según la frecuencia con la que pagan.

ConsultaDiferencia entre el yield por dividendo trailing y forward, por calendario de pagos
El SQL exacto detrás de cada cifra
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
Run this yourself

El grupo más grande es el de los emisores quarterly, con 1128 nombres. Su rendimiento trailing mediano es de 1.93%, frente a un rendimiento forward mediano de 2.03%. En la mediana, ambas convenciones quedan separadas por 0.03 puntos porcentuales. La distribución tiene una cola: 8.7% de ese grupo presentan una diferencia de al menos medio punto porcentual, y la diferencia en el percentil noventa es de 0.357 puntos. Medio punto sobre un rendimiento de 3% equivale a una sexta parte del valor. Esa diferencia puede determinar que un filtro muestre una acción o la excluya. El grupo monthly, con 21 nombres, registra una diferencia mediana de 0.484 puntos.

Para analizar el nivel y no el método, qué se considera un buen rendimiento por dividendo presenta en un solo lugar la distribución del mercado, mientras que qué es el rendimiento por dividendo parte de la propia razón.

¿Por qué dos screeners muestran rendimientos por dividendo diferentes?

  • La convención. Un proveedor anualiza el último dividendo declarado y otro suma los últimos doce meses. Esta es la discrepancia que aborda el resto de esta página.
  • Dónde cae la ventana. Un período móvil de 365 días puede incluir cuatro o cinco pagos en el caso de una empresa que paga dividendos trimestrales, y doce o trece en el caso de una que paga mensualmente.
  • Dividendos extraordinarios. Un pago único permanece dentro de la ventana móvil durante un año. Algunos proveedores lo mantienen en el numerador y otros lo excluyen. Un dividendo extraordinario elevado puede modificar considerablemente el rendimiento trailing.
  • El precio utilizado. Un rendimiento calculado con el cierre de anoche difiere de uno calculado a las 2 p. m.
  • La propia página de la empresa. Los sitios de relaciones con inversionistas casi siempre publican la tasa anual declarada, que es el numerador forward, generalmente contra un precio que no está actualizado en tiempo real. Las fichas de fondos muestran un rendimiento SEC a 30 días o un rendimiento por distribución. Son dos convenciones adicionales.
Cómo se calculan estas cifras

El rendimiento trailing suma los dividendos recurrentes en efectivo cuya fecha ex-dividendo está dentro de los 365 días que terminan en cada lectura, y divide el resultado entre el precio de cierre de esa sesión. El rendimiento forward multiplica el pago recurrente más reciente por la frecuencia de pago registrada junto con él, y divide el resultado entre el mismo precio. Las distribuciones no recurrentes se excluyen de ambos cálculos. Los precios provienen de barras de un minuto de la sesión regular, en hora de Nueva York. Los proveedores que incluyen dividendos extraordinarios o que anualizan un pago diferente obtienen cifras distintas a partir de los mismos registros subyacentes.

Preguntas frecuentes sobre el rendimiento por dividendo trailing vs. forward

¿Qué es el rendimiento por dividendo TTM?

TTM significa últimos doce meses. El rendimiento por dividendo TTM suma todos los dividendos pagados durante el último año y divide el total entre el precio actual de la acción. Así, mide el efectivo que ya se pagó, no una tasa esperada.

¿Cuál es mejor, el rendimiento por dividendo trailing o forward?

Ninguno es el correcto en todos los casos. El rendimiento trailing mide lo que un propietario cobró durante el último año. El rendimiento forward expresa la tasa vigente declarada, anualizada. Quien compare ingresos ya recibidos necesita la cifra trailing. Quien valore la tasa que una empresa paga actualmente necesita la cifra forward.

¿Por qué mi bróker muestra un rendimiento por dividendo distinto al de la página para inversionistas de la empresa?

Las páginas de relaciones con inversionistas suelen publicar la tasa anual declarada. Esa es la base del numerador forward y, con frecuencia, se calcula contra un precio que no está actualizado en tiempo real. Un bróker o screener puede sumar, en cambio, los últimos doce meses. Ambas cifras pueden ser correctas desde el punto de vista aritmético en el mismo momento.

¿Un recorte de dividendo aparece de inmediato en el rendimiento trailing?

No. El nuevo nivel entra en la cifra forward con el primer pago menor. En la cifra trailing entra un pago a la vez durante el año siguiente. En la ventana de 3M anterior, las dos convenciones estaban separadas por 2.36 puntos en Jun 2024 y por 0.06 puntos en Jul 2026.


Todas las cifras anteriores provienen de una consulta almacenada sobre registros de dividendos presentados y precios reales de las sesiones. Abra cualquier panel para consultar el SQL o ejecute los mismos dos cálculos con un ticker que siga en la terminal de Strasmore.

#dividends#dividend yield#forward yield#ttm yield#stock screeners