Strasmore Research
Обучение Matt ConnorАвтор: Matt Connor

Разница между ценовой и совокупной доходностью акций

Сравнение ценовой и совокупной доходности индекса S&P 500. Узнайте, как реинвестирование дивидендов влияет на капитал за двадцать лет и почему эти показатели дают разный результат.

Разница между ценовой доходностью (price return) и совокупной доходностью (total return) заключается в расхождении между тем, что показывает рыночный график, и тем, что фактически заработал инвестор, удерживающий позицию. Ценовая доходность учитывает только изменение стоимости актива. Совокупная доходность включает все дивиденды, реинвестированные по цене на дату ex-dividend, что позволяет каждой выплате приносить доход вместе с акциями, которые её обеспечили.

11755

Основной индекс S&P 500, который цитируют в новостях, является ценовым индексом. Его аналог по совокупной доходности включает те же компании и реинвестирует дивиденды. В течение одного года показатели выглядят почти идентично. За двадцать лет они демонстрируют совершенно разные результаты, причем разрыв между ними оказывается больше, чем можно было бы предположить исходя из годовой дивидендной доходности.

В чем разница между ценовой доходностью и совокупной доходностью?

Ценовая доходность — это отношение конечной цены к начальной минус единица. Любое значение индекса, которое показывают по телевидению, и любой ценовой график, который вы когда-либо просматривали, отражают именно этот показатель.

Совокупная доходность рассчитывается по той же формуле, но с учетом того, что каждый денежный дивиденд направляется на покупку дополнительных акций по цене на дату ex-dividend. Таблицы эффективности фондов и бенчмарки, с которыми эти фонды сравниваются, используют именно этот вариант.

11755

Гипотетический пример делает механику наглядной. Вы покупаете акцию за сто долларов, которая приносит два доллара в год, а через год продаете ее за сто пять долларов. Ценовая доходность составляет пять процентов. Совокупная доходность составляет примерно семь процентов. Первый год ничем не примечателен. Именно эффект капитализации заслуживает отдельного внимания: реинвестированные два доллара позволяют купить дробную часть акции, эта часть на следующий год приносит собственный дивиденд, и два показателя начинают расходиться с ускоряющимся темпом.

Одно уточнение перед переходом к данным. Total return swap — это производный финансовый инструмент, в рамках которого одна сторона передает другой все экономические выгоды от актива в обмен на ставку финансирования. У него с приведенным ниже индексным показателем общее только название. Остальная часть этой страницы посвящена индексам и фондам.

Насколько велик разрыв в индексе S&P 500?

Десять тысяч долларов, вложенные в крупнейший трекер S&P 500 в конце две тысячи пятого года и удерживаемые до тридцать первого июля две тысячи двадцать шестого года. Первая линия предполагает расходование каждого дивиденда в день его поступления. Вторая линия предполагает реинвестирование каждого дивиденда по цене закрытия того же дня.

ЗапросИнвестиции $10 000 в S&P 500: динамика цены против реинвестирования дивидендов, конец 2006 — июль 2026 г.
Точный SQL-код для каждого числа
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMax(toFloat64(close), window_start) AS close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2005-12-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 d
),
base AS (
    SELECT argMax(close, d) AS start_px
    FROM daily
    WHERE d <= toDate('2005-12-31')
),
year_end AS (
    SELECT toYear(d) AS year,
           argMax(close, d) AS close,
           max(d) AS last_day
    FROM daily
    WHERE d >= toDate('2006-01-01')
    GROUP BY year
),
reinvest AS (
    SELECT dv.ex_dividend_date AS d,
           log(1 + toFloat64(dv.cash_amount) / dl.close) AS log_growth
    FROM global_markets.stocks_dividends AS dv
    INNER JOIN daily AS dl ON dl.d = dv.ex_dividend_date
    WHERE dv.ticker = 'SPY'
      AND dv.cash_amount > 0
      AND dv.ex_dividend_date >= toDate('2006-01-01')
      AND dv.ex_dividend_date <= toDate('2026-07-31')
)
SELECT ye.year AS year,
       round(10000 * ye.close / any(b.start_px)) AS price_only_usd,
       round(10000 * ye.close / any(b.start_px) * exp(sum(ri.log_growth))) AS reinvested_usd,
       round(100 * (1 - exp(-sum(ri.log_growth))), 1) AS dividend_share_pct
FROM year_end AS ye, reinvest AS ri, base AS b
WHERE ri.d <= ye.last_day
GROUP BY ye.year, ye.close
ORDER BY year
Run this yourself

Линия, учитывающая только изменение цены, заканчивается на отметке $59956. Линия с реинвестированием заканчивается на отметке $85775. На долю дивидендов приходится 30.1% от этого итогового баланса, и ни одна часть этой суммы не отображается на ценовом графике.

Левый край графика — это то место, где инвесторы часто совершают ошибку. В конце 2007 обе линии находились на уровнях $11755 и $11971, при этом дивиденды составляли 1.8% от баланса. Разрыв первого года, столь незначительный, легко принять за погрешность округления. Двадцать лет такой же погрешности округления, где каждый результат наслаивается на предыдущий, создают тот спред, который мы видим на правом краю графика.

Увеличивается ли разрыв со временем?

Один и тот же фонд, одна и та же дата окончания, пять разных дат начала.

ЗапросЦеновая доходность против совокупной доходности по периодам владения: S&P 500, на 31 июля 2026 г.
Точный SQL-код для каждого числа
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMax(toFloat64(close), window_start) AS close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2006-07-31')
      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 d
),
spans AS (
    SELECT y AS years,
           concat(toString(y), '-year') AS horizon,
           subtractYears(toDate('2026-07-31'), y) AS start_date
    FROM (SELECT arrayJoin([1, 3, 5, 10, 20]) AS y)
),
divs AS (
    SELECT dv.ex_dividend_date AS d,
           log(1 + toFloat64(dv.cash_amount) / dl.close) AS log_growth
    FROM global_markets.stocks_dividends AS dv
    INNER JOIN daily AS dl ON dl.d = dv.ex_dividend_date
    WHERE dv.ticker = 'SPY'
      AND dv.cash_amount > 0
      AND dv.ex_dividend_date <= toDate('2026-07-31')
),
endpoints AS (
    SELECT s.horizon AS horizon,
           s.years AS years,
           argMin(dl.close, dl.d) AS start_px,
           argMax(dl.close, dl.d) AS end_px
    FROM spans AS s, daily AS dl
    WHERE dl.d >= s.start_date
    GROUP BY s.horizon, s.years
),
reinvest AS (
    SELECT s.years AS years,
           exp(sum(dvs.log_growth)) AS factor
    FROM spans AS s, divs AS dvs
    WHERE dvs.d > s.start_date
    GROUP BY s.years
)
SELECT e.horizon AS horizon,
       round(100 * (e.end_px / e.start_px - 1), 1) AS price_return_pct,
       round(100 * (e.end_px / e.start_px * r.factor - 1), 1) AS total_return_pct,
       round(100 * (e.end_px / e.start_px) * (r.factor - 1), 1) AS dividend_points_pct
FROM endpoints AS e
INNER JOIN reinvest AS r ON e.years = r.years
ORDER BY e.years
Run this yourself

За период 1-year ценовая доходность составила 18.2% против совокупной доходности в 19.5%, что дает разницу в 1.3 процентных пункта. Временной интервал 10-year разделяет 244.3% и 304.5%, разница составляет 60.2 пункта. За период 20-year показатели равны 485% и 736.9%: разница составляет 251.9 процентных пункта.

Кривая не растет по прямой линии. Она растет так же, как и баланс, поскольку каждый реинвестированный дивиденд присоединяется к базе, на которую начисляется следующий.

Почему дивиденды за один год кажутся незначительными

Ниже представлены все календарные годы за тот же период, разделенные на изменение цены и вклад дивидендов.

ЗапросS&P 500 по календарным годам: ценовая доходность против вклада реинвестированных дивидендов
Точный SQL-код для каждого числа
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMax(toFloat64(close), window_start) AS close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2006-01-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 d
),
yearly AS (
    SELECT toYear(d) AS year,
           argMin(close, d) AS first_px,
           argMax(close, d) AS last_px
    FROM daily
    GROUP BY year
),
divs AS (
    SELECT toYear(dv.ex_dividend_date) AS year,
           exp(sum(log(1 + toFloat64(dv.cash_amount) / dl.close))) AS factor
    FROM global_markets.stocks_dividends AS dv
    INNER JOIN daily AS dl ON dl.d = dv.ex_dividend_date
    WHERE dv.ticker = 'SPY'
      AND dv.cash_amount > 0
    GROUP BY year
)
SELECT y.year AS year,
       round(100 * (y.last_px / y.first_px - 1), 1) AS price_return_pct,
       round(100 * (y.last_px / y.first_px) * (d.factor - 1), 2) AS dividend_points_pct
FROM yearly AS y
INNER JOIN divs AS d ON y.year = d.year
ORDER BY year
Run this yourself

Рассматривайте эти два ряда данных вместе. Линия цены — более выразительная, она совершает резкие колебания в обоих направлениях. Линия дивидендов — более спокойная: 1.9 пунктов в 2007 году, 0.58 пункт за неполный год по июль 2026 года, и она никогда не становится главной новостью в промежуточные периоды. Ни одна отдельная строка в этой таблице не заставила бы кого-либо изменить свое мнение. Сложенные и капитализированные за 20 строки, эти же небольшие числа составляют всю дистанцию между двумя линиями на первом графике. Реинвестирование дивидендов — это также автоматическая покупка по любой цене, действующей в этот день, что близко к усреднению долларовой стоимости. По той же причине дивидендная доходность S&P 500 выглядит как скромная величина, хотя на длинных временных отрезках она значит гораздо больше, чем предполагает ее размер.

Какие акции демонстрируют наибольший разрыв?

Разрыв отражает доходность: компания, которая возвращает больше средств на каждый доллар цены, дает держателю акций больше возможностей для реинвестирования. Ниже представлены семь известных компаний за десятилетний период по тридцать первое июля две тысячи двадцать шестого года, показатели которых приведены к годовому исчислению для сопоставимости периодов.

ЗапросГодовая ценовая доходность против совокупной доходности за 10 лет: семь ведущих компаний, на 31 июля 2026 г.
Точный SQL-код для каждого числа
WITH daily AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMax(toFloat64(close), window_start) AS close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'KO', 'JNJ', 'XOM', 'PG', 'VZ', 'MSFT')
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2016-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 ticker, d
),
px AS (
    SELECT ticker,
           argMin(close, d) AS start_px,
           argMax(close, d) AS end_px
    FROM daily
    GROUP BY ticker
),
divs AS (
    SELECT dv.ticker AS ticker,
           exp(sum(log(1 + toFloat64(dv.cash_amount) / dl.close))) AS factor
    FROM global_markets.stocks_dividends AS dv
    INNER JOIN daily AS dl ON dl.ticker = dv.ticker AND dl.d = dv.ex_dividend_date
    WHERE dv.ticker IN ('SPY', 'KO', 'JNJ', 'XOM', 'PG', 'VZ', 'MSFT')
      AND dv.cash_amount > 0
      AND dv.ex_dividend_date >= toDate('2016-08-01')
      AND dv.ex_dividend_date <= toDate('2026-07-31')
    GROUP BY dv.ticker
)
SELECT px.ticker AS ticker,
       round(100 * (pow(px.end_px / px.start_px, 0.1) - 1), 2) AS price_cagr_pct,
       round(100 * (pow(px.end_px / px.start_px * divs.factor, 0.1) - 1), 2) AS total_cagr_pct,
       round(100 * (pow(px.end_px / px.start_px * divs.factor, 0.1)
                    - pow(px.end_px / px.start_px, 0.1)), 2) AS dividend_points_pct
FROM px
INNER JOIN divs ON px.ticker = divs.ticker
ORDER BY dividend_points_pct DESC
Run this yourself

VZ имеет самый широкий годовой разрыв среди 7, составляющий 5.46 процентных пункта в год: -1.51% только по цене против 3.96% с учетом реинвестирования дивидендов. MSFT находится на узком конце диапазона с показателем 1.53 пункта. Для любого, кто сравнивает графики, из этого следуют два вывода. График цены занижает показатели компании с высокими выплатами гораздо сильнее, чем компании с низкими, а любой скринер, ранжирующий бумаги по динамике цены, фактически занижает позиции плательщиков дивидендов. Именно дивидендная доходность каждой из этих компаний определяет размер ее разрыва.

Где используются различные версии показателей

  • Бенчмарки и информационные бюллетени фондов указывают совокупную доходность (total return). Индекс совокупной доходности, суффикс «TR» или примечание «с реинвестированием дивидендов» в сносках означают, что дивиденды учитываются в расчете.
  • Финансовые СМИ и котировочные терминалы используют ценовую доходность (price return). Фраза «индекс S&P 500 вырос на ноль целых четыре десятых процента» относится к изменению цены.
  • Вкладки с результатами деятельности в брокерских кабинетах обычно отображают совокупную доходность по счету, так как денежные средства фактически поступили на него. Столбец прибыли по отдельной позиции часто показывает изменение цены относительно стоимости приобретения (cost basis), что является иным показателем.
  • В бэктестах и описаниях стратегий используется та версия, которую предоставляет поставщик данных автора; именно здесь кроется причина многих случаев необоснованного завышения результатов.

Важное несоответствие возникает при сопоставлении совокупной доходности фонда с ценовым индексом. Фонд получает преимущество за счет собственных дивидендов, в то время как бенчмарк их не учитывает, что дает фонду фору, равную всей дивидендной доходности индекса. В окне 20-year, приведенном выше, эта ошибка в расчетах составляет 251.9 процентных пункта, и ни один из них не является заслугой управляющего. Корректное сравнение требует сопоставления совокупной доходности с совокупной доходностью. В том, как измеряется месячная доходность рассматривается та же арифметика на месячном уровне, а в пропуске лучших дней показано, что происходит с графиком цены, если исключить из него несколько торговых сессий.

Как формируются эти показатели
  • Цены представляют собой цены закрытия основной торговой сессии. Дивиденды — это фактически выплаченные денежные распределения, каждое из которых реинвестируется по цене закрытия на дату ex-dividend, что является стандартной практикой для построения ряда совокупной доходности.
  • Временной интервал охватывает период с декабря две тысячи пятого года по тридцать первое июля две тысячи двадцать шестого года — это период, покрываемый внутридневной историей цен, на которой основаны данные панели. Более длительный период еще больше увеличивает разрыв.
  • Фонд, отслеживающий индекс, выступает в качестве самого индекса, поэтому комиссии и влияние денежных остатков (cash drag) уже учтены в этих цифрах. Ценовая доходность за календарный год измеряется от цены закрытия первой торговой сессии года до цены закрытия последней, что исключает изменение цены в ходе первой сессии.

Часто задаваемые вопросы о ценовой доходности и совокупной доходности

Является ли S&P 500 ценовым индексом или индексом совокупной доходности?

Основной показатель — это ценовой индекс: он отслеживает рыночную стоимость компонентов и не учитывает дивиденды. Существует версия того же индекса с совокупной доходностью, которая предполагает их реинвестирование. Бенчмарки фондов обычно используют версию с совокупной доходностью, в то время как в новостных сводках чаще приводится ценовая версия.

Какой вклад вносят дивиденды в доходность S&P 500?

За период 10-year, завершившийся тридцать первого июля две тысячи двадцать шестого года, отслеживаемый здесь инструмент показал ценовую доходность 244.3% против 304.5% с учетом реинвестирования дивидендов. В рамках одного календарного года вклад значительно меньше — около 1.9 процентных пунктов в 2007.

Отображает ли мой брокерский счет ценовую доходность или совокупную доходность?

Денежные дивиденды поступают на счет, поэтому баланс уже включает их в себя. Столбец прибыли по позиции часто сравнивает текущую цену только с вашим cost basis, что является ценовой доходностью. Эти два показателя различаются ровно на сумму полученных дивидендов, если только план реинвестирования не предполагал покупку дополнительных акций в процессе.

Является ли total return swap тем же самым, что и совокупная доходность?

Нет. Total return swap — это двусторонний производный контракт, который обменивает полную экономическую выгоду от актива на ставку финансирования. Совокупная доходность в контексте индекса — это конвенция оценки эффективности. Общая терминология указывает на одну и ту же базовую идею — цена плюс доход, но как инструменты они не связаны.

Почему фонд выглядит лучше при сравнении с ценовым индексом?

Опубликованный показатель фонда включает его дивиденды, в то время как ценовой индекс исключает свои. Такое сравнение дает фонду преимущество в размере дивидендного потока бенчмарка, что составляет 251.9 процентных пунктов за период 20-year, указанный выше.


Все приведенные здесь цифры получены из сохраненного версионированного запроса по ценам закрытия и отчетным данным о дивидендах. Откройте любую панель, чтобы прочитать SQL-код, или выполните аналогичное сравнение ценовой доходности и совокупной доходности для тикера, за которым вы следите в терминале Strasmore.

#total return#dividends#s&p 500#index funds#performance