Końcowa a prognozowana rentowność dywidendy
Końcowa rentowność obejmuje dywidendy wypłacone w ostatnich dwunastu miesiącach, a prognozowana annualizuje ostatnią wypłatę. Sprawdź, skąd wynikają różnice między skanerami.
Końcowa rentowność dywidendy i prognozowana rentowność dywidendy odpowiadają na to samo pytanie. Cała różnica znajduje się w liczniku. Końcowa rentowność, zwykle oznaczana jako TTM (trailing twelve months), uwzględnia łączną wartość dywidend faktycznie wypłaconych przez spółkę w ciągu ostatniego roku. Prognozowana rentowność wykorzystuje ostatnio ogłoszoną wypłatę i mnoży ją przez liczbę wypłat w ciągu roku. W obu przypadkach dzieli się tę wartość przez tę samą cenę akcji. Jeżeli w ciągu ostatnich dwunastu miesięcy zmieniła się wysokość wypłaty, obie konwencje pokazują różne wartości dla tej samej spółki w tym samym momencie.
Arytmetyka tego wskaźnika została przedstawiona w jak obliczyć rentowność dywidendy. Niniejsza strona dotyczy wyboru wartości powyżej linii ułamkowej: tego, którą wartość dywidendy źródło umieściło w liczniku oraz dlaczego dwa screenery pokazują ten sam ticker przy dwóch różnych rentownościach w to samo popołudnie.
Czym jest rentowność dywidendy za ostatnie dwanaście miesięcy?
Rentowność krocząca uwzględnia każdą dywidendę pieniężną z datą ex-dividend przypadającą w ciągu ostatnich 365 dni, a następnie dzieli ich sumę przez bieżącą cenę. Data ex-dividend to dzień, w którym akcje zaczynają być notowane bez prawa do najbliższej wypłaty. Jest to również data wykorzystywana przez większość dostawców danych do umiejscowienia dywidendy w czasie.
Wartość krocząca nie zawiera żadnych szacunków. Odzwierciedla środki pieniężne, które już zostały wypłacone, i pokazuje, ile faktycznie otrzymał właściciel akcji. Słabość tej miary jest odwrotną stroną jej zalety: rentowność za ostatnie dwanaście miesięcy opisuje wypłatę, która może już nie obowiązywać. Spółka, która w ubiegłym miesiącu zmieniła wysokość kwartalnej dywidendy, nadal ma w swoim kroczącym okresie trzy wypłaty według wcześniejszej stawki i będzie je uwzględniać jeszcze przez kolejne dziewięć miesięcy.
Czym jest forward dividend yield?
Forward yield annualizuje najnowszą zadeklarowaną wypłatę: ostatnią wypłatę mnoży się przez częstotliwość wypłat i dzieli przez tę samą cenę. W przypadku spółki wypłacającej dywidendę kwartalnie, której najnowsza zadeklarowana wypłata wynosi $0.50 na akcję, forward rate wynosi $2.00. W przypadku spółki wypłacającej dywidendę miesięcznie w wysokości $0.25 wynosi on $3.00.
Jest to projekcja oparta na jednej obserwacji i zakłada, że kolejne wypłaty będą odpowiadać ostatniej. Jej zaletą jest szybkość odzwierciedlania zmian. Gdy spółka podnosi dywidendę, nowa stawka wpływa na forward figure wraz z pierwszą wyższą wypłatą, podczas gdy trailing figure potrzebuje czterech pełnych kwartałów, aby ją uwzględnić.
Krocząca a prognozowana stopa dywidendy dla ośmiu spółek regularnie wypłacających dywidendy
Poniższe zestawienie przedstawia oba obliczenia dla ośmiu dużych spółek, przy zastosowaniu tej samej ceny z ostatniej sesji. Kolumna krocząca sumuje regularne dywidendy pieniężne z ostatnich dwunastu miesięcy. Kolumna prognozowana annualizuje ostatnią wypłatę, wykorzystując podaną dla niej częstotliwość wypłat.
Dokładny kod SQL dla każdej liczby
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 DESCWiersze uporządkowano według różnicy między obiema metodami. Na górze PEP wskazuje prognozowaną stopę dywidendy na poziomie 4.24% wobec kroczącej stopy wynoszącej 4.12%. Na dole MSFT wskazuje 0.78% prognozowanej stopy wobec 0.77% kroczącej. Te same spółki, te same ceny, dwie uzasadnione metody.
Źródłem rozbieżności, które łatwiej przeoczyć, jest kolumna z wypłatami. Kroczące 365 dni nie oznacza tego samego co cztery kwartały. Daty ex-dividend przesuwają się każdego roku o kilka dni, a okres obejmujący piątą wypłatę podnosi kroczącą wartość, mimo że zadeklarowana stawka w ogóle się nie zmieniła.
Co zmiana dywidendy oznacza dla obu ujęć
3M zmieniła wysokość kwartalnej dywidendy w 2024 r., równocześnie z wydzieleniem działalności w sektorze ochrony zdrowia. Końce okresów 26 miesięcy od tego momentu pokazują oba ujęcia, wraz z zadeklarowaną kwartalną wypłatą.
Dokładny kod SQL dla każdej liczby
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_startW Jun 2024 zadeklarowana wypłata wynosiła $0.7, podczas gdy w kroczącym oknie nadal uwzględniano trzy wypłaty według starej stawki. Rentowność krocząca wynosiła 5.1%. Rentowność forward wynosiła 2.74%. Oba ujęcia różniły się o 2.36 punktów procentowych w przypadku jednej spółki, jednego dnia i identycznej ceny w obu mianownikach. Ranking sortowany według rentowności kroczącej przypisywał w tym miesiącu 3M środki pieniężne, których spółka nie wypłacała już według tej stawki. Żadna z tych wartości nie była błędna. Odpowiadały one na różne pytania.
Kolumna różnicy zmniejsza się następnie przez cztery kwartały, gdy stare wypłaty wypadają z okna. Do Jul 2026 wartości wynosiły 1.71% w ujęciu kroczącym i 1.77% w ujęciu forward, przy różnicy 0.06 punktów procentowych. Zbieżność jest stanem końcowym. Rozbieżność pojawia się tylko wtedy, gdy zmienia się wypłata. Zagadnienie to obejmuje podwyżki i obniżki dywidend w całym rynku, a historia dywidendy 3M przedstawia każdą wypłatę.
Płatności miesięczne, dwanaście wypłat, a czasem trzynaście
Realty Income podnosi miesięczną wypłatę małymi krokami kilka razy w roku. Dzięki temu bieżąca stawka terminowa pozostaje nieznacznie wyższa niż rok wcześniej. Kolumna „wypłaty” pokazuje, ile wypłat faktycznie obejmuje roczne okno kroczące w każdym odczycie.
Dokładny kod SQL dla każdej liczby
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_startW Aug 2024 okno obejmowało 11 wypłat, co oznaczało 4.57% wypłat w ujęciu kroczącym wobec 5.08% wypłat w ujęciu terminowym. W Jul 2026 obejmowało 13 wypłat przy zadeklarowanej miesięcznej stawce wynoszącej $0.271, co oznaczało 5.49% wypłat w ujęciu kroczącym wobec 5.09% wypłat w ujęciu terminowym, z różnicą 0.4 punktów. Rok kroczący obejmujący trzynastą wypłatę podnosi wartość kroczącą o około jedną dwunastą, bez zmiany samej dywidendy. Akcje wypłacające dywidendy miesięcznie przedstawiają harmonogram, a Historia wypłat Realty Income zawiera informacje o każdej wypłacie.
Jak duże są różnice między konwencjami stosowanymi na rynku?
Jedna spółka to tylko przykład. Poniżej przedstawiono oba obliczenia dla każdej spółki wypłacającej dywidendę, notowanej w USA, o wartości rynkowej przekraczającej 1 mld USD. Spółki pogrupowano według częstotliwości wypłat.
Dokładny kod SQL dla każdej liczby
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 DESCNajwiększą grupę stanowią spółki wypłacające dywidendy quarterly, obejmującą 1128 podmiotów. Mediana rentowności historycznej wynosi w niej 1.93%, a mediana rentowności prognozowanej 2.03%. Przy medianie obie konwencje różnią się o 0.03 punktów procentowych. Rozkład ma długi ogon: 8.7% tej grupy wykazuje różnicę wynoszącą co najmniej pół punktu procentowego, a różnica na poziomie dziewięćdziesiątego percentyla wynosi 0.357 punktów. Pół punktu przy rentowności na poziomie 3% stanowi jedną szóstą tej wartości. Może to decydować o tym, czy skaner wskaże daną spółkę, czy ją pominie. Grupa monthly, obejmująca 21 podmiotów, wykazuje medianę różnicy na poziomie 0.484 punktów.
Jeśli chodzi o poziom, a nie metodę, co uznaje się za dobrą rentowność dywidendy przedstawia rozkład rynkowy w jednym miejscu, natomiast czym jest rentowność dywidendy wyjaśnia sam wskaźnik.
Dlaczego dwa skanery podają różne rentowności dywidendy?
- Konwencja. Jeden dostawca annualizuje ostatnią deklarację, a drugi sumuje wypłaty z ostatnich dwunastu miesięcy. To właśnie ta rozbieżność jest przedmiotem dalszej części tej strony.
- Położenie okna. Kroczące 365 dni może obejmować cztery albo pięć wypłat w przypadku spółki wypłacającej dywidendę kwartalnie oraz dwanaście albo trzynaście wypłat w przypadku spółki wypłacającej ją co miesiąc.
- Dywidendy nadzwyczajne. Jednorazowa wypłata pozostaje w oknie kroczącym przez rok. Niektórzy dostawcy uwzględniają ją w liczniku, a inni ją wyłączają. Wysoka dywidenda nadzwyczajna może znacząco zmienić wartość kroczącej rentowności.
- Cena bazowa. Rentowność obliczona na podstawie wczorajszego kursu zamknięcia różni się od rentowności obliczonej na podstawie kursu z godziny 14:00.
- Własna strona spółki. Strony relacji inwestorskich niemal zawsze publikują zadeklarowaną roczną stawkę, która stanowi licznik prognozowanej rentowności, często w odniesieniu do ceny, która nie jest aktualizowana w czasie rzeczywistym. Karty funduszy podają 30-dniową rentowność SEC albo rentowność dystrybucji, czyli kolejne dwie odmienne konwencje.
Jak obliczane są te wartości
Rentowność krocząca jest tutaj obliczana jako suma regularnych dywidend pieniężnych z datą ex-dividend przypadającą w okresie 365 dni kończącym się w dniu każdego odczytu, podzielona przez kurs zamknięcia z tej sesji. Rentowność prognozowana jest obliczana przez pomnożenie ostatniej regularnej wypłaty przez częstotliwość wypłat wskazaną w dokumentach dotyczących tej wypłaty, a następnie podzielenie wyniku przez tę samą cenę. Wypłaty nieregularne są wyłączone z obu wartości. Ceny pochodzą z minutowych danych dla regularnej sesji w czasie nowojorskim. Dostawcy, którzy uwzględniają dywidendy nadzwyczajne albo annualizują inną wypłatę, uzyskują inne wartości na podstawie tych samych danych źródłowych.
Najczęściej zadawane pytania dotyczące kroczącej i prognozowanej rentowności dywidendy
Czym jest rentowność dywidendy TTM?
TTM oznacza ostatnie dwanaście miesięcy. Rentowność dywidendy TTM jest obliczana przez zsumowanie wszystkich dywidend wypłaconych w ostatnim roku i podzielenie tej kwoty przez bieżącą cenę akcji. Wskaźnik ten mierzy środki pieniężne, które już wypłacono, a nie stopę oczekiwaną w przyszłości.
Która rentowność dywidendy jest lepsza: krocząca czy prognozowana?
Żadna z nich nie jest uniwersalnie właściwa. Rentowność krocząca mierzy kwotę otrzymaną przez posiadacza akcji w ostatnim roku, natomiast rentowność prognozowana przedstawia aktualną zadeklarowaną stopę w ujęciu rocznym. Przy porównywaniu dochodu już otrzymanego właściwa jest wartość krocząca. Przy ocenie stopy wypłacanej obecnie przez spółkę właściwa jest wartość prognozowana.
Dlaczego mój broker pokazuje inną rentowność dywidendy niż strona relacji inwestorskich spółki?
Strony relacji inwestorskich zazwyczaj publikują zadeklarowaną roczną stopę, czyli licznik prognozowanej rentowności, często w odniesieniu do ceny, która nie jest aktualizowana w czasie rzeczywistym. Broker lub screener może natomiast sumować dywidendy z ostatnich dwunastu miesięcy. Obie wartości mogą być w tym samym momencie poprawne pod względem arytmetycznym.
Czy obniżka dywidendy od razu znajduje odzwierciedlenie w rentowności kroczącej?
Nie. Zmiana stopy wpływa na wartość prognozowaną od momentu wypłaty pierwszej niższej dywidendy, natomiast na wartość kroczącą wpływa stopniowo, wraz z każdą kolejną wypłatą w następnym roku. W przedstawionym przedziale 3M obie konwencje różniły się o 2.36 punktów w Jun 2024 oraz o 0.06 punktów w Jul 2026.
Każda przedstawiona wartość jest wynikiem zapisanego zapytania dotyczącego złożonych raportów o dywidendach i rzeczywistych cen z sesji. W dowolnym panelu można wyświetlić zapytanie SQL lub wykonać te same dwa obliczenia dla obserwowanego tickera w terminalu Strasmore.