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

В 1952 году скромный аспирант Гарри Марковиц опубликовал в The Journal of Finance статью «Portfolio selection».
В серии статей мы поговорим о подходах к составлению портфеля, начнем с Марковица и пройдемся к все более свежему подходу к работе с оптимальным портфелем.
Вы мало где увидите такой подход к инвестициям, так как ни брокер, ни телеграмм-канал не заинтересован в том, чтобы ваш портфель был оптимальным, так как брокер хочет, чтобы у Вас было больше сделок, а телеграмм-канал дал Вам какую-то «темку», если она «зашла», то Вы продолжите читать, если нет, то на Ваше место придет другой лудоман. Задачи анализировать, прогнозировать варианты и формировать оптимальный портфель — это только Ваша задача.
Дисклеймер: Мы не найдем никакой оптимальный портфель, тут лишь рассматривается историческая справка.
В рамках этой статьи нам понадобится не так много математики, но важны будут навыки базового владения Excel для выполнения домашнего задания. Сегодня мы с Вами на примере российских акций построим оптимальный портфель по Марковицу.
Мы тут уже много раз упомянули слово «оптимальный», но что понимается под ним. Оптимальный портфель — портфель с минимальным риском и максимальной доходностью.
Марковиц в рамках своей научной работы предложил идею, которая сейчас является строго необходимой для начинающего инвестора — диверсификация.
Диверсификация, если совсем просто, идея о том, что мы наберем много разных активов, чтобы уменьшить риск и увеличить доходность.
Если у нас есть определенный список массивов и есть их доходность в прошлом. Каким-то образом цены на эти активы менялись, по изменениям этих цен мы можем отследить, какие из активов являются более рискованными, назовем активы рискованными, которые резко менялись в цене на протяжении срока наблюдения. Также такие активы называют волатильными.
Гарри Марковиц собрал портфель и посчитал общую доходность портфеля через доходность каждого актива и общий риск через риск конкретного актива. Стоит отметить, что активы у нас находятся с каким-то весом (процентном соотношении), мы можем играть с этим весом как хотим, продавать или докупать активы. Таким образом, с помощью этой модели мы можем задать ожидаемую доходность и идти к ней с минимальным риском или задать верхнюю границу риска и максимизировать доходность.
Самая главная заслуга Марковица заключается в том, что он предложил перевести на язык формальной математики то, что происходит на финансовых рынках.
Эффективная граница
Эта самая сложная часть сегодняшней статьи.
Пусть у нас есть график, который, очевидно, состоит из точек. Точки для конкретного портфеля в нашей системе координат задаются следующим образом: y — доходность, x — риск.
Мы знаем риск и доходность нашего портфеля и знаем, как менять соотношение активов в портфеле, чтобы добиваться максимальной доходности, тем самым сформировали точку (x1, y1). Затем мы взяли риск поменьше и нашли для него максимальную доходность, следовательно, получили точку (x2, y2), возьмем риск побольше, найдем точку (x3, y3). Таким образом, для каждого x мы найдем y, то есть для каждого значения риска найдем максимальную доходность и получим эффективную границу.

В чем суть этой эффективной границы: все портфели, которые лежат вне или за этой границей, будут просто хуже, у них будет больше риск или меньше доходность при одинаковом риске.
Касательная к эффективной границе называется Best Possible CAL, а точка, к которой мы проводим касательную, называется tangency portfolio — это портфель с максимальным коэффициентом Шарпа.

Также на графике должна быть точка безрискового актива, им может быть, например, облигации федерального займа (ОФЗ). То есть гарантированный доход без риска.
Пример
Мы с Вами будем использовать две формулы, не пугайтесь, мы не будем их выводить, и в Excel они существуют как прописанные функции:
где w_i - доля актива в портфеле, r_i - доходность актива.
σi — стандартное отклонение доходностей актива;
kij — коэффициент корреляции между I,j-м активом;
Vij — ковариация доходностей i-го и j-го актива;
n — количество активов в рамках портфеля.
Теперь открываем Excel и с помощью метода Марковица проанализируем выдуманный портфель на оптимальность.
Возьмем совершенно случайно 4 российских акции и выгрузим их котировки за этот год.

Теперь получим изменение акций в процентах. Для этого впишем такую формулу = (D4/C4)-1 и протащим эту формулу по всем столбцам и строкам, получим:

Теперь нам нужно посчитать среднюю доходность и средний риск каждого актива.
Для средней доходности просуммируем значения в строках и поделим на объем данных (=СУММ(D11:N11)/11), а для уровня рисков мы воспользуемся формулой стандартного отклонения (=СТАНДОТКЛОН.В(D11:N11)) и проделываем так для каждого актива.

Почему именно стандартное отклонение?
Стандартное отклонение — это мера, насколько разбросаны данные от среднего значения. Мы хотим понять, насколько волатильны активы, то есть стандартное отклонение = волатильность.
Теперь нам нужно посчитать ковариацию. Для этого в Excel открываем «Данные» → «Анализ данных» → «Ковариация».

Сюда вводим данные с помесячным изменением цены актива.

Получим такую табличку, в которой предварительно расставим процентное соотношение активов в портфеле.
Теперь, чтобы посчитать совокупный доход, нам необходимо умножить вес каждого актива на его среднюю доходность и сложить каждое такое произведение (= P11*N19 + P12*N20 + N21*P13 + N22*P14).

А совокупный риск портфеля мы считаем по страшной формуле: =КОРЕНЬ(МУМНОЖ(МУМНОЖ(J23:M23;J19:M22);N19:N22))

Что мы можем заявить из полученных данных: совокупная доходность 0,85% годовых, что достаточно мало, но при риске 4,4%, что меньше отдельно взятых активов из этого портфеля. Попробуйте провести эксперимент, подберите веса так, чтобы доходность была выше. А в следующей статье мы узнаем, что такое CAPM и критерий Шарпа.
Некоторые математические заметки
Давайте попробуем переписать метод Марковица в виде задачи выпуклой оптимизации, но для начала мы разберемся с понятием выпуклости и почему выпуклые функции очень хороши.
Выпуклость это фундаментальное понятие из математического анализа, в контексте финансовой математики приобретает особый смысл.
Определение: Эффективным множеством функции f называется
Надграфиком(epigraph) функции f называется множество
Определение: Множество называется выпуклым, если любые две точки из множества можно соединить отрезком так, чтобы он целиком лежал в этом множестве.
Определение: f(x) - выпуклая <=>надграфик epi f - выпуклое множество.
Предложение: Для любой функции следующие свойства равносильны:
epi f - выпуклое множество.
dom f выпукло и выполнено неравенство Йенсена:

То есть неравенство Йенсена гарантирует нам, что график функции лежит ниже или на любой прямой, соединяющей две точки на графике. Это можно интерпретировать, что диверсификация портфеля всегда снижает или хотя бы не увеличивает общий риск. Этот принцип сейчас является базовым для составления портфеля.
Почему выпуклые функции - хорошо?
Мы часто исследуем функции на экстремум, но иногда бывает так, что минимум или максимум найти весьма трудно или невозможно. Если функция дифференцируема в точке, то, применив необходимое, а затем достаточное условия экстремума, мы сможем найти экстремум. А что делать, если уравнение, получившееся в необходимом условии, не имеет аналитического решения или функция оказалась недифференцируемой в точке?
Совсем банальный пример функция:
Ее график:

Мы видим, что минимум достигается при x = 0, но вот как назло в этой точке функция не дифференцируема... И что делать? Тут нам на помощь приходит аппарат выпуклого анализа. Если функция не имеет производной в точке, то условие нахождения минимума заменяется условием содержания нуля субдифференциалом. Заметим, что это и необходимое, и достаточное условие.
Так вот у выпуклых функций любая точка, подозрительная на экстремум, автоматически будет минимумом, так как у выпуклых функций необходимое условие экстремума = достаточное и еще одно свойство:
Когда у вас в портфеле два-три актива, свойства выпуклости могут быть бесполезны, но когда у вас сотни или тысячи активов, это может быть очень полезно.
Также можно сказать, что если вторая производная функции положительна, то функция также является выпуклой.
В модели Марковица мы хотим минимизировать функционал ковариации, у нас есть матрица ковариации, которая является матрицей квадратичной формы, причем положительно определенной, а положительно определенная квадратичная форма является выпуклой функцией, это можно проверить, например, через вторую производную.
Тогда мы получим такую задачу выпуклой оптимизации:
При условии:
Но, к сожалению, классическая модель Марковица в текущих реалиях уже нигде не используют, так как такой подход предполагает множество допущений и очень чувствителен к ошибке в начальных данных.
