Блог им. FZF

Оптимизация портфеля по минимуму исходных параметров

    • 23 марта 2016, 11:08
    • |
    • FZF
  • Еще

Для данного метода оптимизации примем некоторые допущения:

  1. Доходность составляющих портфель финансовых инструментов на будущий период заведомо неизвестна.
  2. Корреляции финансовых инструментов, входящих в портфель, в будущем не сильно будут отличаться от текущих.
  3. Волатильности финансовых инструментов пропорциональны общей волатильности рынка, и эти пропорции не будут иметь большого отклонения от текущих значений в будущем периоде.

 

Для начала рассмотрим самый простой пример.

 Пусть у нас есть две акции  не коррелирующие между собой (их доходности и движения не зависят друг от друга).  В качестве данных для оптимизации возьмем волатильности этих акций, выраженные в виде дисперсий доходности этих акций (доходность и дисперсии рассчитаем из недельных или дневных свечей)  D1  и D2.

Необходимо определить веса акций в портфеле W1=?, W2=?  При W1+W2=1

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

От сюда получаем:
Оптимизация портфеля по минимуму исходных параметров

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

Теперь возьмем задачу посложнее.  Пусть у нас есть две акции с дисперсиями D1  и D2, имеющие между собой зависимость, выраженную ковариацией  COV.
Сохраним идею пропорций весов и дисперсий. Но из дисперсий вычтем ковариацию: (D1-COV)  и (D2-COV)
Оптимизация портфеля по минимуму исходных параметров

Исследуем как зависят веса акций в портфеле от ковариации.  Примем, для примера, D1=3, D2=7.  Ковариация  COV  будет переменной  Х.

Постоим функции W1=(7-X)/(10-2*X)  и  W2=(3-X)/(10-2*X).
Оптимизация портфеля по минимуму исходных параметров

На графике можем видеть, что:

 При  COV=0 мы получаем веса 0,3 и 0,7.

При COV  стремящийся в глубокий минус (корреляция -1) веса стремятся к 0,5/0,5. То есть, когда акции двигаются в противофазе, есть смысл иметь портфель близкий к 0,5/0,5  скорректированный на соотношение дисперсий.

При  положительной COV > D1  есть смысл  W2 сделать отрицательным (встать в шорт по акции с большей дисперсией, чтобы уменьшить общую дисперсию портфеля).

 

Выводы: Выше приведенные формулы для расчета портфеля из двух акций, на основании дисперсий и ковариации этих акций, подходят для оптимизации портфеля.

 

Оптимизация портфеля из большого количества акций

Задача оптимизации портфеля из большого количества акций осложняется тем, что количество параметров сильно увеличивается с количеством рассчитываемых элементов. В большом портфеле необходимо учитывать все возможные корреляции между всеми элементами портфеля. Используя метод пропорций дисперсий, нет возможности построить систему линейных уравнений для большого количества элементов. Поэтому  для вычислений будем использовать последовательный метод оптимизации.  Общий принцип последовательной оптимизации заключается в том, что мы оптимизируем акции попарно, создавая мини-портфели, которые в дальнейшем попарно оптимизируем с другими мини-портфелями или акциями. То есть, мы производим последовательную попарную оптимизацию, пока не останется один портфель.

 

Пусть у нас есть 5 акций из которых нужно составить портфель (А1, А2, А3, А4, А5).

Оптимизация начинается с четко определенных условий. Первой парой для оптимизации является пара акций у которой корреляция ближе всего к (-1).

Для начала расчета нам понадобится таблица корреляций
Оптимизация портфеля по минимуму исходных параметров

Первой парой будут А1-А3.  Проведя расчет мы получим набор для дальнейших расчетов (А1-А3, А2, А4, А5). Теперь нам следует найти корреляцию портфеля А1-А3 относительно остальных элементов и выбрать наименьшее значение для дальнейшего расчета.

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

Данный алгоритм применять к массиву полученных портфелей и акций до тех пор, пока всё не свернется в один портфель. Схематично это выглядит так:
Оптимизация портфеля по минимуму исходных параметров

Для нахождения веса акции в общем портфеле необходимо перемножить все веса находящиеся на пути от акции до конечного портфеля:

Wa1 = W1*W1,3*W1,3,4

Wa2 = W2*W2,5

Wa3 = W3*W1,3*W1,3,4

Wa4 = W4*W1,3,4

Wa5 = W5*W2,5

 

В результате получаем веса акций в искомом оптимизированном портфеле.

 

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

 

Проверка качества оптимизации и сравнение результатов

Проверка результата проводилась следующим образом:

— проводился расчет портфеля по данному алгоритму;

— на исторических данных определялась дисперсия и доходность портфеля;

— проводился расчет портфеля методом Марковица, где для расчета использовалась доходность портфеля исследуемого метода;

— сравнивались  дисперсии разных методов.

 

Проверка показала что дисперсия для портфеля полученного данным методом на 5-10% меньше, чем дисперсия рассчитанная методом Марковица. То есть риск полученного портфеля меньше на 5-10% при одинаковой доходности.

Такие результаты могут показаться ошибочными. Как может метод итерации быть лучше, чем математическое нахождение оптимальной точки???

Но дело в том, что входные данные (дисперсии и ковариации) при их определении имеют некую погрешность.   При использовании метода Марковица (поиск оптимальной точки) любая погрешность уводит нас от оптимального значения. А общая ошибка – сумма векторов ошибок направленных от точки оптимальности.   И чем больше используется входных параметров, тем больше суммарная ошибка. Поскольку погрешности присутствуют всегда, то методом Марковица в принципе невозможно точно попасть в оптимальную току.

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

 

 

 

★6
20 комментариев
Шарп, Мертон? VaR, ES, Sortio ratio?

UPD. Рекомендую почитать https://en.wikipedia.org/wiki/Modern_portfolio_theory, потом копать по ссылкам внизу страницы.
Бобровский Дмитрий, Спасибо за ссылку. Но данный метод я разрабатывал для себя, исходя из моих представлений о рынке.
Возможно, кто-то такую схему уже описал, но это не столь важно. Может быть кому-то пригодиться эта идея для его работы.
avatar
FZF, ну, я просто к тому, что это укладывается в рамки портфельной теории. Кстати, уверен, что используя наработки в этой области, Вы тоже сможете почерпнуть что-то для себя и улучшить свою стратегию формирования портфеля.
Вы тут это, пургу не гоните-это вообще то Смарт-лаб, тут за такие посты банят) Лучше бы про Савченко че нить написали
+.
avatar

Доходность составляющих портфель финансовых инструментов на будущий период заведомо неизвестна.


Просто блестяще! Очень сильно.

avatar
Веса, обратно пропорциональные дисперсии проистекают из нормального подхода. Если посмотреть чуть искоса и попробовать связать риск как максимальную просадку, с чем будет такой риск связан «наиболее линейно» — с дисперсией или с СКО? Очевидно, что с СКО. Логично выровнять риск на каждой из компонент портфеля, то есть взять в качестве веса величину, обратную СКО. Как в этом случае учесть корреляции? Простого формульного решения у меня нет. Но кто мешает  минимизировать СКО взвешенных сумм  методом Монте- Карло? 
avatar
SergeyJu,  Я эту свою теорию потом тестил на реальных активах. Из-за больших неопределенностей с доходностями  тонкости метода расчета не важны. Более того, в оптимизации можно рассчитывать только элементы с отрицательной ковариацией, а с положительной сразу присваивать вес 0.5
Такой подход практически не изменил результат.
avatar
FZF, если взвешивать строго по амплитудной мере риска (например, индекс язвы или СКО), как я обычно делаю, прогнозы дохи вообще влияют только неявно и слабо. 
avatar
SergeyJu, Оптимизацией портфеля я занимался 4 года назад. И сейчас немного выпал из темы. Полагаю, что можно сделать более точную и интересную математическую модель нежели у меня.
Я проводил тестирование на истории за 10 лет. И иногда получалось, что портфель из множества активов с одинаковыми весами показывал результат лучше, чем самый хитровыдуманный портфель. :)
Для себя  я сделал методику расчета, которую буду использовать сам и передам свои потомкам. Она немного упрощенная, но вполне годится для пользователя не сильно продвинутого в математике.
avatar

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

 

Меня заинтересовала другая мысль. Вы использовали дисперсию доходностей акций. Но в свете недавних событий с отрицательными ценами использование доходностей (или приращений логарифмов цен) в эконометрике поставлено под огромное сомнение и скорее всего должно быть отвергнуто. Может, действительно эффективней работать с арифметическими разностями цен и анализировать именно их дисперсию без предварительного логарифмирования?..

avatar
ch5oh,  У нас цель — получение дохода. Поэтому доходность и анализируем. Если будем работать с разностью цен, то мы оптимизируем разность цен. А какой доход от такой оптимизации?
avatar

FZF, =) видимо, надо просто пробовать.


С точки зрения долгосрочного инвестирования (более 10 лет) доминирующим фактором как раз будет правильно определение предсказание знака будущей среднегодовой доходности инструментов в портфеле.

 

А для предлагаемой Вами методики кажется разумным использовать как можно более короткие периоды ребалансировки, чтобы подавить влияние долгосрочного среднего. Допустим, взять фьючерс MM и фьючерс Si. Их ковариация по идее отрицательная. Можно из них составить разумный портфель и ребалансировать его ежедневно в 18:40 или 19:05? Или в 11:00? Что получится из такого замеса?

avatar
ch5oh, Кто бы этим занялся? Потом рассказал другим. :)
avatar

FZF, волатильность фьючерса СИ сейчас 10% годовых, волатильность фьючерса Сбера 20% годовых.

 

Дисперсия соответственно 0.01 и 0.04. Получается отношение дисперсий 1-к-4. То есть 80% денег надо грузить во фьючерс СИ и 20% грузить во фьючерс Сбера?

 

Сейчас фьючерс SR ~ 23 000; фьючерс СИ ~ 75 000.

1 миллион рублей даёт портфель 10.6666(6) лота Si в паре с 8.696 лотов SR?

avatar
ch5oh, Если между ними нет никакой корреляции, то получается 80/20.
avatar
FZF, ПС Выравнивание волатильностей компонент портфеля напоминает юнитную систему мани-менеджмента… И если смотреть на ситуацию с этой точки зрения, то кажется разумным наоборот больше денег вкладывать туда, где дисперсия выше
avatar
ch5oh, Выше дисперсия — выше риск, а прибыль не гарантирована. Вообще то, задача портфеля уменьшать общую дисперсию. Там интересная форма кривой «риск/доходность» получается. Ее и пытаемся оптимизировать.
avatar

FZF, задача портфеля — уменьшить просадку.

 

Кстати, задумался о том, как посчитать ковариацию. Между чем и чем её надо измерять? Построил точечный график рассеяния для цен SiU0(SRU0) и получил положительную ковариацию. Но, очевидно, это просто за счет того, что «сбер всегда растет» и «доллар всегда растет».

avatar
ch5oh, я считал в основном по дневным свечам по закрытию. Загружал котировки в эксель и пользовался встроенной функцией.
avatar

теги блога FZF

....все тэги



UPDONW
Новый дизайн