Как мы считаем

Как считается прибыль и доходность

Прибыль в рублях — это разница между стоимостью портфеля и вложенными деньгами. Доходность считается двумя способами: XIRR отвечает на вопрос «как сработали ваши деньги», TWR — «как сработали ваши активы».

Три разные метрики на одном графике

В переключателе слева от периода выбирается, что нарисовано линией:

  • Прибыль в ₽ — сколько денег заработал портфель за выбранный период.
  • Доходность (XIRR) — «под какую ставку работали ваши деньги»: учитывает, сколько денег и когда вы завели.
  • Доходность (TWR) — «как сработали сами активы»: очищена от размера и сроков пополнений, и только её честно сравнивать с индексом.

Во всплывающей подсказке всегда видны обе величины сразу: выбранная — первой, вторая — в скобках.

Прибыль в рублях

Прибыль = стоимость портфеля − вложено (пополнения − выводы)
Стоимость портфеляВложенопополнениепополнениеПрибыль = расстояние между линиями0 ₽
В день пополнения обе верхние линии подскакивают одинаково — и на нижнем графике ступеньки нет. Принесённые деньги прибылью не становятся.

Что входит в прибыль:

  • рост и падение цен бумаг — как по проданным, так и по тем, что ещё лежат в портфеле;
  • дивиденды, купоны и проценты на остаток — они уже зачислены на счёт и увеличили его стоимость;
  • вариационная маржа по фьючерсам — весь результат срочного рынка приходит деньгами;
  • комиссии и налоги — со знаком минус, они уменьшают стоимость портфеля.

Пополнения и выводы в прибыль не входят никогда: они меняют размер вложения, а не его результат.

Почему процент нельзя получить простым делением

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

Инвестор АИнвестор Б
Пополнения100 000 ₽ 1 января100 000 ₽ 1 января
+ 900 000 ₽ 24 декабря
Стоимость 31 декабря110 000 ₽1 010 000 ₽
Прибыль10 000 ₽10 000 ₽
Прибыль ÷ вложено10,0 %1,0 %
XIRR10,0 % годовых8,6 % годовых
TWR10,0 %10,0 %

Простое деление говорит, что инвестор Б заработал в десять раз хуже, хотя его миллион пролежал на счёте неделю и заработать физически не успел. XIRR это видит и учитывает срок работы каждого рубля.

А TWR у обоих одинаковый: бумаги-то выросли одинаково — на 10 %. Разница между строками XIRR и TWR у инвестора Б и есть цена того, что миллион пришёл в конце года. Обе цифры верны, просто отвечают на разные вопросы.

Что такое XIRR простыми словами

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

1 января1 июля31 декабря−100 000 ₽−50 000 ₽+170 000 ₽Ответ: 16,2 % годовых
Минус — деньги ушли из кармана, плюс — вернулись. Последний «плюс» не настоящий вывод: это оценка портфеля на конец периода, как если бы вы всё продали.

В примере вложено 150 000 ₽, портфель стоит 170 000 ₽, прибыль — 20 000 ₽. Простое деление дало бы 13,3 %, но половина денег работала только полгода, поэтому честная ставка выше: 16,2 % годовых.

Математически ставка r — это решение уравнения, в котором все потоки, приведённые к одному моменту, дают в сумме ноль:

Σ Cᵢ ÷ (1 + r) ^ (dᵢ / 365) = 0

Здесь Cᵢ — сумма потока со знаком, dᵢ — число дней от первой даты. Формула не решается «в лоб», поэтому ставка подбирается делением отрезка пополам: диапазон от −99,99 % до 10 000 % годовых сужается, пока не останется нужная точность. Год всегда считается равным 365 дням, високосный не удлиняет базу.

Проценты за период короче года

XIRR по природе — годовая ставка. За первые две недели периода она выглядела бы как сотни процентов годовых, поэтому на периодах короче года мы приводим её к длине периода: на графике за 3 месяца показан результат за эти три месяца, а не в пересчёте на год. Подпись «За всё время» под заголовком — наоборот, всегда годовая ставка, там так и написано: «% годовых».

TWR — доходность самих активов

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

Считается он по дням. Каждый день мы смотрим, во что превратился капитал, который в этот день работал:

Результат дня = стоимость на конец дня ÷ (стоимость вчера + пополнения за день) − 1

Пополнение попадает в знаменатель — то есть в «капитал, который работал», а не в результат. Поэтому день, когда вы просто занесли деньги, даёт ровно 0 %:

ВчераПополнениеСегодняРезультат дня
День пополнения100 000 ₽100 000 ₽200 000 ₽0,0 %
Следующий день200 000 ₽—220 000 ₽+10,0 %
За два дня1,00 × 1,10+10,0 %

Дневные результаты перемножаются, а не складываются: +10 % и −10 % подряд дают не ноль, а −1 %, потому что второе падение считается уже от выросшей суммы.

Дивиденды, купоны, вариационная маржа, комиссии и налоги в TWR входят — они случились внутри портфеля и изменили его стоимость. Не входят только пополнения и выводы: это ваши деньги через границу счёта, а не результат активов.

Бывает такое, что TWR может быть в плюсе, а прибыль в деньгах — в минусе, и это не ошибка. Вы внесли 10 000 ₽, и за полгода они выросли на 50 % — до 15 000 ₽. Затем довнесли 1 000 000 ₽, и рынок просел на 5 %: портфель стоит 964 250 ₽ при вложенных 1 010 000 ₽. TWR = 1,5 × 0,95 − 1 = +42,5 %, а в деньгах −45 750 ₽: активы в среднем росли, но рост пришёлся на маленькую сумму, а падение — на большую. TWR не знает, сколько денег было в портфеле в удачные и неудачные дни. Прибыль в деньгах и XIRR — знают.

Годовая цифра — только от года

TWR показывается накопленным за период: «+3,20 % за период». Пересчёт в «% годовых» появляется рядом, только если период не короче года — иначе +1 % за двое суток превратились бы в «522 % годовых»: формально верно, практически бессмысленно.

Дни, которые выпадают из расчёта

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

Когда вместо цифры стоит «—»

Бывает, что ставки не существует. В этих случаях мы показываем прочерк и не рисуем линию, а не подставляем ноль или простую доходность:

  • меньше двух движений денег — считать не из чего;
  • всё произошло за один день — годовой ставки за ноль дней не бывает;
  • все потоки одного знака, например портфель обнулился — у уравнения нет решения;
  • результат вне разумного диапазона — обычно признак неполных данных.

У TWR причин меньше, они свои:

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

Ноль вместо прочерка означал бы «портфель отработал в ноль», а это другое утверждение.

Сравнение с индексом MCFTR

По кнопке «Сравнить» рядом появляется линия индекса Мосбиржи полной доходности (с учётом дивидендов). Индексу подставляются ваши пополнения и выводы в те же дни и считается та же величина, что выбрана в переключателе — иначе две линии на одном графике были бы разными по смыслу.

Для честного ответа «обогнал ли я индекс» смотрите режим TWR: у индекса пополнений нет, и сравнивать с ним стоит доходность активов, а не доходность ваших денег.