Dlaczego stopa dywidendy SPY jest niższa niż VOO i IVV
Analiza różnic w rentowności dywidendowej funduszy S&P 500. Wyjaśnienie mechanizmu unit investment trust oraz wpływu zjawiska cash drag na wyniki inwestycyjne funduszu SPY.
8.1
Stopa dywidendy SPY a struktura funduszu
Stopa dywidendy SPY jest o kilka punktów bazowych niższa niż w przypadku VOO oraz IVV. Różnica ta wynika z formy prawnej funduszu, a nie z decyzji zarządzających. SPY funkcjonuje jako unit investment trust – starsza struktura funduszu, która nie pozwala na reinwestowanie dywidend otrzymywanych od pięciuset spółek wchodzących w skład portfela. Dywidendy te oczekują na koncie nieoprocentowanym do momentu planowanej wypłaty. To właśnie ten przestój gotówki określa się mianem cash drag.
O ile rentowność dywidendowa SPY ustępuje VOO i IVV?
Zacznijmy od danych mierzalnych. Trzy poniższe fundusze replikują indeks S&P 500 i wszystkie wypłacają zgromadzone dywidendy akcjonariuszom raz na kwartał. Rentowność krocząca (trailing yield) stanowi tutaj sumę czterech ostatnich wypłat na akcję podzieloną przez ostatni kurs zamknięcia; jest to ta sama metoda obliczeń, którą opisano w co mierzy rentowność dywidendowa.
Dokładny kod SQL dla każdej liczby
WITH
divs AS
(
SELECT
ticker,
ex_dividend_date,
max(toFloat64(cash_amount)) AS cash_amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('SPY', 'VOO', 'IVV')
AND ex_dividend_date >= today() - 365
AND ex_dividend_date < today()
GROUP BY ticker, ex_dividend_date
),
ttm AS
(
SELECT
ticker,
sum(cash_amount) AS ttm_dividend
FROM divs
GROUP BY ticker
HAVING count() = 4
),
px AS
(
SELECT
ticker,
toFloat64(argMax(close, window_start)) AS last_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'VOO', 'IVV')
AND window_start >= today() - 15
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY ticker
),
fund_yield AS
(
SELECT
ttm.ticker AS ticker,
ttm.ttm_dividend / px.last_close * 100 AS yield_pct
FROM ttm
INNER JOIN px ON px.ticker = ttm.ticker
),
spy_yield AS
(
SELECT max(yield_pct) AS spy_pct
FROM fund_yield
WHERE ticker = 'SPY'
)
SELECT
fund_yield.ticker AS ticker,
round(fund_yield.yield_pct, 3) AS trailing_yield_pct,
round((fund_yield.yield_pct - spy_yield.spy_pct) * 100, 1) AS yield_spread_vs_spy_bps
FROM fund_yield
CROSS JOIN spy_yield
ORDER BY tickerW oparciu o cztery ostatnie wypłaty, rentowność SPY wyniosła 0.973%, podczas gdy dla VOO było to 1.033%, a dla IVV 1.054%. Oba fundusze typu open-end wykazały wyższą rentowność kroczącą niż SPY: VOO o 6 punktów bazowych, a IVV o 8.1. Punkt bazowy to jedna setna punktu procentowego, zatem cały spread widoczny na wykresie jest niewielki.
Pomiędzy dywidendami z indeksu a wypłatą z funduszu stoją dwa mechanizmy. Pierwszym z nich są opłaty. Koszty są potrącane z dochodów uzyskiwanych przez fundusz, a do akcjonariuszy trafia kwota netto po odliczeniu wskaźnika kosztów (expense ratio). Według stanu na połowę 2026 roku, SPY pobiera około 0,09% rocznie, w porównaniu do około 0,03% w przypadku VOO i IVV. Różnica w opłatach wynosi zatem około sześciu punktów bazowych, co odpowiada rzędowi wielkości różnic w rentowności przedstawionych powyżej. Rentowność brutto indeksu, przed uwzględnieniem opłat jakiegokolwiek funduszu, to wartość śledzona w rentowność dywidendowa S&P 500. Drugim mechanizmem jest pożyczanie papierów wartościowych, co zostało omówione w kolejnej sekcji.
Czym jest unit investment trust?
Unit investment trust, czyli UIT, to fundusz zarejestrowany na mocy ustawy Investment Company Act z 1940 roku, który posiada portfel o stałym składzie i nie prowadzi bieżącego zarządzania inwestycyjnego. Fundusz SPY został uruchomiony w styczniu 1993 roku w tej formie i utrzymał ją do dziś. Z takiej struktury prawnej wynikają cztery kwestie:
- Fundusz posiada składniki indeksu w proporcjach odpowiadających ich wadze w indeksie. Nie ma możliwości próbkowania indeksu, zastępowania spółek podobnymi podmiotami ani utrzymywania kontraktów futures zamiast akcji.
- Dywidendy otrzymywane od spółek portfelowych nie mogą być reinwestowane w kolejne akcje. Gromadzone są w formie gotówki.
- Gotówka ta pozostaje na nieoprocentowanym rachunku do zaplanowanego terminu dystrybucji. W okresie oczekiwania nie generuje żadnego zysku.
- Fundusz nie może wypożyczać swoich akcji podmiotom prowadzącym krótką sprzedaż. Przychody z pożyczania papierów wartościowych, które fundusze typu open-end gromadzą i w dużej mierze zwracają do funduszu, są w tym przypadku niedostępne.
Fundusze VOO oraz IVV są zorganizowane jako otwarte spółki inwestycyjne (open-end investment companies). Fundusz typu open-end może zainwestować otrzymaną dywidendę z powrotem na rynek w dniu jej wpłynięcia, utrzymywać kontrakty futures na indeks jako ekwiwalent gotówki oraz prowadzić program pożyczania papierów wartościowych, z którego przychody trafiają bezpośrednio do funduszu.
Żadna z tych informacji nie musi być przyjmowana na wiarę. Prospekt emisyjny oraz skrócony prospekt każdego funduszu wskazują strukturę prawną na pierwszych stronach; oba dokumenty są publikowane na stronie internetowej emitenta oraz składane w SEC. Należy wyszukać pełną nazwę prawną funduszu w systemie EDGAR, otworzyć prospekt i przeczytać pierwszą stronę.
Jak długo faktycznie pozostają zgromadzone środki pieniężne?
Widoczny koniec okresu utrzymywania aktywów stanowi odstęp między dwiema datami publikowanymi przez każdy fundusz. Data ex-dividend to dzień, w którym nowy nabywca przestaje być uprawniony do otrzymania nadchodzącej płatności. Data wypłaty to dzień, w którym gotówka trafia na rachunki.
Dokładny kod SQL dla każdej liczby
WITH divs AS
(
SELECT
ticker,
ex_dividend_date,
any(pay_date) AS payment_date
FROM global_markets.stocks_dividends
WHERE ticker IN ('SPY', 'VOO', 'IVV')
AND ex_dividend_date >= today() - 1095
AND ex_dividend_date < today()
AND pay_date > ex_dividend_date
GROUP BY ticker, ex_dividend_date
)
SELECT
ticker,
round(avg(dateDiff('day', ex_dividend_date, payment_date)), 1) AS avg_days_cash_held,
max(dateDiff('day', ex_dividend_date, payment_date)) AS longest_wait_days,
count() AS payout_count
FROM divs
GROUP BY ticker
ORDER BY tickerW ciągu trzech lat dystrybucji fundusz SPY potrzebował średnio 42.6 dni między datą ex-date a datą wypłaty, przy uwzględnieniu 12 wypłat, z najdłuższym okresem oczekiwania wynoszącym 47 dni. Fundusz VOO przekazywał te same środki średnio w ciągu 3.8 dni, a IVV w ciągu 4.3.
Ten odstęp stanowi jedynie końcowy etap okresu. Pięćset spółek wchodzących w skład indeksu dokonuje płatności zgodnie z własnymi kalendarzami w trakcie całego kwartału. Dywidenda otrzymana w pierwszym tygodniu kwartału pozostaje na rachunku funduszu przez resztę tego kwartału, a następnie przez okres opóźnienia płatności. Wielkość zgromadzonych środków łatwiej ocenić, analizując każdą dystrybucję z osobna.
Dokładny kod SQL dla każdej liczby
WITH
divs AS
(
SELECT
ex_dividend_date AS ex_date,
any(pay_date) AS pay_date,
max(toFloat64(cash_amount)) AS cash_amount
FROM global_markets.stocks_dividends
WHERE ticker = 'SPY'
AND ex_dividend_date >= today() - 1095
AND ex_dividend_date < today()
GROUP BY ex_dividend_date
),
px AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 1105
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
)
SELECT
toString(divs.ex_date) AS ex_date,
formatDateTime(divs.ex_date, '%b %e, %Y') AS ex_date_label,
formatDateTime(divs.pay_date, '%b %e, %Y') AS pay_date_label,
round(divs.cash_amount, 4) AS cash_amount,
round(divs.cash_amount / px.close_px * 100, 3) AS pct_of_price
FROM divs
INNER JOIN px ON px.d = divs.ex_date
ORDER BY ex_dateNajstarsza płatność w tym zestawieniu, z datą ex-date Sep 15, 2023, wyniosła 1.5832 USD na akcję, czyli 0.357% ceny funduszu w tym dniu. Najnowsza, z datą ex-date Jun 18, 2026, wyniosła 1.9035 USD na akcję, co stanowi 0.255% ceny, i dotarła do akcjonariuszy w dniu Jul 31, 2026. Biorąc pod uwagę wszystkie 12 dystrybucji w zestawieniu, każda kwartalna wypłata stanowi ułamek jednego procenta wartości funduszu. Taka jest skala omawianego niepracującego salda.
Jak duży jest koszt utrzymywania gotówki, wyrażony w punktach bazowych?
Przejdźmy do obliczeń, przyjmując liczby zaokrąglone dla uproszczenia sumy, a nie na podstawie pomiarów czy prognoz. Załóżmy, że fundusz gromadzi w ciągu roku dywidendy stanowiące 1,2% wartości aktywów i nie reinwestuje żadnej z nich. Przyjmijmy, że rynek zyskuje w tym samym roku 8%. Gotówka napływa w każdym kwartale i jest wypłacana w terminie płatności. Średnia kwota pozostaje niezaangażowana przez około pół kwartału plus opóźnienie w wypłacie, co daje 85 dni, czyli 0,23 roku. Średnie saldo nieinwestowanych środków wynosi zatem 1,2% pomnożone przez 0,23, czyli około 0,28% aktywów. Mnożąc to niepracujące saldo przez 8% zysku rynkowego, otrzymujemy utracony zwrot na poziomie około 0,02%, czyli nieco ponad dwa punkty bazowe w skali roku.
Tak wygląda charakter tego zjawiska. Mierzy się je w jednocyfrowych punktach bazowych rocznie i ujawnia się ono w całkowitej stopie zwrotu, a nie w wysokości dystrybucji. Jego kierunek jest zgodny z rynkiem. W roku, w którym indeks spada, niezaangażowana gotówka nie uczestniczy w spadku, a ta sama arytmetyka działa na korzyść posiadacza w podobnym stopniu. Fundusz typu open-end również nie ma taryfy ulgowej: utrzymuje własną gotówkę operacyjną, a jej ekwitizacja za pomocą kontraktów terminowych wiąże się z kosztami.
Rentowność a całkowita stopa zwrotu to odmienne miary
Rentowność bieżąca (trailing yield) to suma ostatnich czterech wypłat podzielona przez dzisiejszą cenę. Wskaźnik ten nie informuje o zmianie ceny w ciągu tych czterech kwartałów, a obie wartości operują w zupełnie innych skalach.
Dokładny kod SQL dla każdej liczby
WITH
px AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toFloat64(argMax(close, window_start)) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 2950
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
),
by_year AS
(
SELECT
toYear(d) AS year,
argMin(close_px, d) AS first_close,
argMax(close_px, d) AS last_close
FROM px
GROUP BY year
),
divs AS
(
SELECT
toYear(ex_date) AS year,
sum(cash_amount) AS year_dividends
FROM
(
SELECT
ex_dividend_date AS ex_date,
max(toFloat64(cash_amount)) AS cash_amount
FROM global_markets.stocks_dividends
WHERE ticker = 'SPY'
AND ex_dividend_date >= today() - 2950
GROUP BY ex_dividend_date
)
GROUP BY year
)
SELECT
by_year.year AS year,
round((by_year.last_close / by_year.first_close - 1) * 100, 2) AS price_return_pct,
round(divs.year_dividends / by_year.first_close * 100, 2) AS dividend_return_pct
FROM by_year
INNER JOIN divs ON divs.year = by_year.year
WHERE by_year.year > toYear(today() - 2950)
AND by_year.year < toYear(today())
ORDER BY yearNależy analizować obie serie danych w odniesieniu do siebie. W 2019 zmiana ceny SPY od zamknięcia pierwszej sesji do ostatniej wyniosła 28.62%, podczas gdy dywidendy wypłacone w tym roku stanowiły 2.25% ceny z początku okresu. W 2025 ta sama para wyniosła odpowiednio 16.64% oraz 1.25%. Suma tych dwóch wartości w przybliżeniu daje całkowitą stopę zwrotu, a dokładna definicja znajduje się w stopa zwrotu z ceny a całkowita stopa zwrotu. Różnica kilku punktów bazowych rentowności między dwoma funduszami typu tracker indeksu S&P 500 jest niewielkim składnikiem tego sumowania. Fundusze zaprojektowane pod kątem wyższych wypłat zachowują się inaczej: zobacz wyjaśnienie działania ETF-ów typu covered call, a w przypadku porównania nastawionego na dywidendy, SCHD kontra VOO pod kątem rentowności dywidendy.
Często zadawane pytania
Dlaczego stopa dywidendy SPY jest niższa niż VOO?
Dwa czynniki strukturalne wpływają na różnicę między dywidendami z indeksu a wypłatą dla akcjonariusza. SPY charakteryzuje się wyższym wskaźnikiem kosztów, a opłaty są potrącane z zebranych dochodów przed dokonaniem dystrybucji. SPY jest ponadto funduszem typu unit investment trust, który nie może uzyskiwać przychodów z pożyczania papierów wartościowych ani reinwestować dywidend w okresie oczekiwania na wypłatę. W ujęciu ostatnich czterech dystrybucji zmierzona różnica wyniosła 6 punktów bazowych.
Czy SPY jest funduszem typu unit investment trust?
Tak. SPDR S&P 500 ETF Trust funkcjonuje jako unit investment trust od momentu uruchomienia w styczniu 1993 roku. Struktura ta została określona w prospekcie emisyjnym funduszu, złożonym w SEC i opublikowanym przez emitenta.
Czy SPY reinwestuje pobrane dywidendy?
Nie. Fundusz typu unit investment trust nie ma możliwości reinwestowania dywidend otrzymanych z portfela. Gotówka gromadzona jest na nieoprocentowanym rachunku i wypłacana w wyznaczonym terminie dystrybucji, średnio 42.6 dni po dacie ex-dividend, biorąc pod uwagę ostatnie trzy lata.
Jaki jest koszt tzw. cash drag dla funduszu indeksowego S&P 500?
Przy założeniu stopy dywidendy na poziomie 1,2% oraz wzrostu rynku o 8%, nieinwestowane kwartalne saldo dywidendy powoduje utratę około dwóch punktów bazowych stopy zwrotu w skali roku, czyli 0,02%. Wartość ta jest niewielka, a w roku spadkowym te same niepracujące środki pieniężne działają w przeciwnym kierunku.
Kiedy SPY wypłaca dywidendę?
SPY dokonuje dystrybucji kwartalnie. Ostatnia data ex-dividend widoczna w powyższym panelu to Jun 18, 2026, a wypłata gotówki nastąpiła Jul 31, 2026, co oznacza okres oczekiwania wynoszący około sześciu tygodni.
Każda liczba na tej stronie pochodzi z zapytania zamieszczonego pod nią. Aby porównać terminy wypłat dla innych funduszy, należy zadać pytanie w języku angielskim w terminalu Strasmore.