FZF
FZF личный блог
23 марта 2016, 11:08

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

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

  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% при одинаковой доходности.

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

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

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

 

 

 

20 Комментариев
  • Бобровский Дмитрий
    23 марта 2016, 11:12
    Шарп, Мертон? VaR, ES, Sortio ratio?

    UPD. Рекомендую почитать https://en.wikipedia.org/wiki/Modern_portfolio_theory, потом копать по ссылкам внизу страницы.
      • Бобровский Дмитрий
        23 марта 2016, 13:55
        FZF, ну, я просто к тому, что это укладывается в рамки портфельной теории. Кстати, уверен, что используя наработки в этой области, Вы тоже сможете почерпнуть что-то для себя и улучшить свою стратегию формирования портфеля.
  • Алексей Андросов
    23 марта 2016, 11:56
    Вы тут это, пургу не гоните-это вообще то Смарт-лаб, тут за такие посты банят) Лучше бы про Савченко че нить написали
  • Look De
    23 марта 2016, 11:56
    +.
  • ch5oh
    10 сентября 2020, 22:24

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


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

  • SergeyJu
    10 сентября 2020, 22:45
    Веса, обратно пропорциональные дисперсии проистекают из нормального подхода. Если посмотреть чуть искоса и попробовать связать риск как максимальную просадку, с чем будет такой риск связан «наиболее линейно» — с дисперсией или с СКО? Очевидно, что с СКО. Логично выровнять риск на каждой из компонент портфеля, то есть взять в качестве веса величину, обратную СКО. Как в этом случае учесть корреляции? Простого формульного решения у меня нет. Но кто мешает  минимизировать СКО взвешенных сумм  методом Монте- Карло? 
      • SergeyJu
        11 сентября 2020, 10:03
        FZF, если взвешивать строго по амплитудной мере риска (например, индекс язвы или СКО), как я обычно делаю, прогнозы дохи вообще влияют только неявно и слабо. 
          • ch5oh
            11 сентября 2020, 11:13

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

             

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

              • ch5oh
                11 сентября 2020, 13:17

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


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

                 

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

                  • ch5oh
                    15 сентября 2020, 15:29

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

                     

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

                     

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

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

                  • ch5oh
                    15 сентября 2020, 15:31
                    FZF, ПС Выравнивание волатильностей компонент портфеля напоминает юнитную систему мани-менеджмента… И если смотреть на ситуацию с этой точки зрения, то кажется разумным наоборот больше денег вкладывать туда, где дисперсия выше
                      • ch5oh
                        16 сентября 2020, 16:16

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

                         

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

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн