Как рассчитать доходность портфеля в Excel: формулы, шаблоны и ошибки

Расчёт доходности инвестиционного портфеля — ключевая задача для любого инвестора, но далеко не все умеют делать это правильно. Многие ограничиваются примитивным сравнением "купил за X, продал за Y", не учитывая комиссии, дивиденды, реинвестирование и временной фактор. Excel позволяет автоматизировать процесс, избежать ошибок и получить точные данные для анализа. В этой статье разберём не только базовые формулы, но и продвинутые методы: от простой доходности до модифицированной диетца и взвешенной по времени (TWR).

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

Вы узнаете:

  • 📊 Как рассчитать простую и сложную доходность с учётом времени владения активами.
  • 💰 Почему формула =(Цена_продажи - Цена_покупки)/Цена_покупки даёт искажённые результаты и как её улучшить.
  • 📈 Как построить график доходности портфеля с учётом пополнений и снятий средств.
  • ⚠️ Типичные ошибки при расчётах (и почему ваш Excel может врать на 10-30%).
📊 Как часто вы пересматриваете доходность своего портфеля?
Ежемесячно
Раз в квартал
Раз в год
Никогда не считал
Другой вариант

1. Базовые формулы доходности в Excel

Начнём с самого простого — расчёта доходности одной сделки. Предположим, вы купили акцию Газпрома за 250 рублей, а продали за 280 рублей. Простая доходность считается так:

= (280 - 250) / 250 * 100%

В Excel это будет выглядеть как = (B2 - A2) / A2, где A2 — цена покупки, B2 — цена продажи. Но этот метод игнорирует:

  • 🕒 Время владения (годовая доходность 10% и 10% за месяц — разные вещи).
  • 💸 Комиссии брокера (они могут съесть 1-3% доходности).
  • 📊 Дивиденды (их нужно прибавлять к конечной стоимости).

Чтобы учесть время, используйте формулу годовой доходности:

= ( (Цена_продажи / Цена_покупки) ^ (365 / Дни_владения) - 1 ) * 100%

Пример: если вы держали акцию 90 дней, формула примет вид = ( (B2/A2) ^ (365/90) - 1 ) * 100%. Это называется доходностью с учётом времени (time-weighted return).

⚠️ Внимание: Если вы держите актив менее года, annualized return (годовая доходность) будет завышена. Например, доходность 5% за месяц в годовом исчислении составит ~80%, но это не значит, что вы реально получите 80% за год.

2. Доходность портфеля с несколькими активами

Когда в портфеле несколько активов, простая средняя доходность не работает. Например, если одна акция выросла на 50%, а другая упала на 50%, средняя доходность будет 0% ((50% + (-50%)) / 2). Но на самом деле вы потеряете 25% капитала! Правильный подход — взвешенная доходность.

Формула для портфеля из n активов:

= ( (Стоимость_портфеля_конечная + Дивиденды - Вложения) / Сумма_вложений - 1 ) * 100%

В Excel это может выглядеть так:

АктивЦена покупкиКоличествоЦена продажиДивиденды
Газпром25010280500
Сбербанк20015220300
Лукойл500025500200

Итоговая формула:

= (СУММПРОИЗВ(D2:D4; E2:E4) + F5 - СУММПРОИЗВ(B2:B4; C2:C4)) / СУММПРОИЗВ(B2:B4; C2:C4) * 100%

Где:

  • D2:D4 — цены продажи,
  • E2:E4 — количество,
  • F5 — сумма дивидендов,
  • B2:B4 и C2:C4 — цены и количество при покупке.

Дивиденды и купоны по облигациям|

Комиссии брокера за покупку/продажу|

Налоги (13% для физлиц в РФ)|

Время владения активами (годовая доходность ≠ абсолютная)|

Пополнения/снятия средств (если были)-->

3. Учёт пополнений и снятий: метод денежных потоков (MWR)

Если вы регулярно вносите или снимаете деньги (например, при ДСП — долгосрочном стратегическом планировании), простая доходность искажает реальную картину. Здесь поможет модифицированная доходность Диетца (Modified Dietz Method).

Формула:

= ( (Конечная_стоимость - Начальная_стоимость - Сумма_взносов) / (Начальная_стоимость + Сумма_взносов_с_учётом_времени) ) * 100%

В Excel это реализуется так:

  1. Создайте таблицу с датами и суммами пополнений/снятий.
  2. Посчитайте "взвешенные" взносы: =СУММПРОИЗВ(Взносы; (Дни_до_конца_периода / Общее_количество_дней)).
  3. Подставьте в формулу Диетца.

Пример:

ДатаСумма (₽)ТипДни до конца
01.01.2023100 000Вложение90
15.02.202320 000Пополнение45
31.03.2023-10 000Снятие0

Формула для взвешенных взносов:

=СУММПРОИЗВ(B2:B4; D2:D4)/90
⚠️ Внимание: Метод Диетца даёт приблизительные результаты, если взносы происходят часто (например, еженедельно). Для точного расчёта используйте взвешенную по времени доходность (TWR), но она требует сложных вычислений.
Когда использовать TWR вместо MWR?

Time-Weighted Return (TWR) подходит для профессиональных управляющих, где важно отделить доходность от влияния денежных потоков (например, клиент внезапно снял крупную сумму). MWR же показывает реальную доходность для инвестора с учётом его действий. Если вы управляете своим портфелем и пополняете его по стратегии, MWR точнее отразит ваш результат.

4. Доходность с учётом дивидендов и комиссий

Дивиденды и комиссии брокера могут кардинально изменить итоговую доходность. Например, если вы получили 5% дивидендов, но заплатили 2% комиссий, реальная доходность составит ~3%. В Excel это учитывается так:

= ( (Стоимость_портфеля_конечная + Дивиденды - Комиссии) / (Стоимость_портфеля_начальная + Комиссии_при_покупке) - 1 ) * 100%

Разберём на примере:

  • 💼 Начальный портфель: 100 000 ₽ (10 акций Сбербанка по 10 000 ₽).
  • 📈 Конечная стоимость: 110 000 ₽.
  • 💰 Дивиденды: 3 000 ₽.
  • 💸 Комиссии: 1% при покупке (1 000 ₽) + 0.5% при продаже (550 ₽).

Реальная доходность:

= ( (110000 + 3000 - 550) / (100000 + 1000) - 1 ) * 100% = 11.3%

Без учёта комиссий и дивидендов вы бы получили = (110000 / 100000 - 1) * 100% = 10% — разница в 1.3%! На больших суммах и долгом горизонте это тысячи рублей.

5. Визуализация доходности: графики и сводные таблицы

Цифры в таблице — это хорошо, но график покажет динамику намного нагляднее. В Excel можно построить:

  • 📉 Линейный график доходности по месяцам.
  • 🎯 Сводную таблицу с разбивкой по активам.
  • 📊 Гистограмму сравнения доходности активов.

Инструкция по созданию графика:

  1. Выделите данные: даты в первом столбце, доходность — во втором.
  2. Перейдите на вкладку Вставка → Вставить график → Линейный.
  3. Добавьте Линию тренда (правый клик по графику → Добавить линию тренда).
  4. Настройте оси: правый клик → Формат оси → установите минимальное значение 0 для наглядности.

Пример сводной таблицы для анализа:

АктивСредняя доходностьМакс. просадкаВолатильность
Акции РФ12.5%-18%22%
Облигации6.2%-3%8%
ETF на S&P 50015.8%-12%15%

Критическая ошибка большинства инвесторов: игнорирование волатильности при анализе доходности. Портфель с доходностью 15% и просадкой 30% рискованнее, чем портфель с доходностью 12% и просадкой 10%. В Excel волатильность считается через функцию СТАНДОТКЛОН.

6. Продвинутые методы: XIRR и TWR в Excel

Для сложных портфелей с нерегулярными взносами лучший инструмент — функция XIRR. Она учитывает точные даты денежных потоков и даёт наиболее точную доходность.

Синтаксис:

=XIRR(Диапазон_денежных_потоков; Диапазон_дат; [Предполагаемая_ставка])

Пример:

ДатаСумма (₽)
01.01.2023-50 000
15.03.2023-20 000
30.06.202310 000
31.12.202390 000

Формула:

=XIRR(B2:B5; A2:A5)

Результат: ~45% годовой доходности. Но это не значит, что вы заработали 45% — это внутренняя норма доходности (IRR) с учётом всех денежных потоков.

⚠️ Внимание: XIRR чувствительна к порядку данных. Если даты не отсортированы по возрастанию, Excel выдаст ошибку #ЧИСЛО!. Также избегайте нулевых денежных потоков — они искажают результат.

Для взвешенной по времени доходности (TWR) придётся разбить период на подпериоды и считать доходность для каждого:

=ПРОИЗВЕД( (1 + Доходность_подпериода_1)  (1 + Доходность_подпериода_2)  ... ) - 1

7. Типичные ошибки и как их избежать

Даже опытные инвесторы допускают ошибки при расчётах в Excel. Вот самые распространённые:

  • 🔄 Игнорирование реинвестирования: если вы реинвестируете дивиденды, доходность растёт по формуле сложных процентов, а не простой доходности.
  • 🕒 Неправильный учёт времени: сравнивать доходность за разные периоды можно только в годовом исчислении (annualized return).
  • 💱 Пренебрежение валютными рисками: если часть портфеля в долларах, а вы считаете доходность в рублях, курсовые колебания исказят результат.
  • 📉 Отсутствие бенчмарка: доходность 20% хороша, если индекс вырос на 10%, и плоха, если индекс вырос на 30%. Всегда сравнивайте с эталоном (например, МосБиржи или S&P 500).

Как избежать ошибок:

  1. Используйте XIRR для портфелей с пополнениями.
  2. Считайте доходность нетто (после вычета комиссий и налогов).
  3. Для мультивалютных портфелей пересчитывайте все активы в одну валюту на дату анализа.
  4. Сравнивайте свою доходность с бенчмарком через = (Ваша_доходность - Бенчмарк) / Бенчмарк * 100% (относительное отклонение).

FAQ: Ответы на частые вопросы

Как посчитать доходность портфеля, если я регулярно пополняю его на фиксированную сумму?

Используйте функцию XIRR, указав все даты и суммы пополнений (со знаком "минус") и итоговую стоимость портфеля (со знаком "плюс"). Пример:

=XIRR({-10000; -5000; -5000; 25000}; {"01.01.2023"; "01.02.2023"; "01.03.2023"; "31.12.2023"})

Это покажет реальную доходность с учётом ваших взносов.

Чем отличается простая доходность от сложной?

Простая доходность считается как (Конечная_стоимость - Начальная_стоимость) / Начальная_стоимость и не учитывает реинвестирование. Сложная доходность учитывает эффект сложных процентов (например, реинвестированные дивиденды) и считается как (Конечная_стоимость / Начальная_стоимость) ^ (1 / Количество_лет) - 1.

Пример: если вы вложили 100 000 ₽, а через 5 лет у вас 200 000 ₽:

  • Простая доходность: 100% за 5 лет (20% в год).
  • Сложная доходность: = (200000 / 100000) ^ (1/5) - 1 = 14.87% в год.
Как учесть налоги (13% для физлиц в РФ) в расчёте доходности?

Вычтите налог из конечной стоимости портфеля или дивидендов. Формула:

= ( (Стоимость_портфеля_брутто - Налог) / Начальные_инвестиции - 1 ) * 100%

Пример: если ваш портфель вырос с 100 000 ₽ до 150 000 ₽, а налог на прибыль составил 6 500 ₽ (13% от 50 000 ₽), то:

= ( (150000 - 6500) / 100000 - 1 ) * 100% = 43.5%
Можно ли в Excel посчитать доходность портфеля с короткими позициями (шортами)?

Да, но нужно учитывать, что короткая позиция приносит прибыль при падении актива. Формула:

= ( (Цена_открытия_шорта - Цена_закрытия_шорта) / Цена_открытия_шорта - Комиссии ) * 100%

Пример: вы открыли шорт по акции за 1 000 ₽ и закрыли по 800 ₽:

= ( (1000 - 800) / 1000 - 0.01 ) * 100% = 19%

Где 0.01 — комиссия брокера (1%).

Как автоматизировать расчёт доходности, чтобы не вводить данные вручную?

Используйте связку Excel + API брокера или экспорт данных из личного кабинета:

  1. Экспортируйте историю сделок из Тинькофф Инвестиций, ВТБ Мои Инвестиции или другого брокера в CSV.
  2. Импортируйте файл в Excel через Данные → Из текста/CSV.
  3. Настройте Power Query для автоматической обработки данных (удалите ненужные столбцы, добавьте расчётные поля).
  4. Создайте сводную таблицу с формулами XIRR или СУММЕСЛИ.

Для полной автоматизации можно написать скрипт на Python, который будет тянуть данные через API и обновлять Excel-файл.