Добавил возможность отображать на виджете Границы эффективности инвестиционные портфели со случайными весами (Метод Монте-Карло).
Метод Монте-Карло помогает визуализировать часть пространства Риск-Доходность, расположенную внутри Границы эффективности. Её форма бывает очень “причудливая” … далеко не все портфели внутри границы достижимы.
П.С. Количество случайных портфелей на okama.io ограничено 10 тыс. (ресурсы сервера приходится жалеть )
Частично реализовал этот функционал. Теперь данные по портфелю показываются под графиком.
Единственное, что пока именно точки Монте-Карло не имеют информации по весам. Только риск и доходность.
Веса показывают для точек на границе эффективности и для тангенциального (MSR) портфеля.
Для того чтобы показывались веса, необходимо немного переделать функцию get_monte_carlo() в библиотеке okama. Создал соответствующую задачу.
По просьбам трудящихся добавил возможность посмотреть веса рандомных портфелей, генерируемых по Монте-Карло. Веса отображаются при клике по любой из точек.
Добрый день. “Конструктор виджетов имеет различные типы стратегий перебалансировки портфеля (не перебалансированный, ежемесячный или ежегодный перебалансированный)”. Чтобы воспользоваться этой возможностью, нужно “влезть” в библиотеку? Спасибо.
На виджете “Граница эффективности” выбора стратегии ребалансировки нет. В нем используется стандартный подход Марковица - портфели всегда находятся в ребалансированном состоянии. Так как мы используем месячные данные, то это соответствует стартегии “ежемесячная ребалансировка”.
Почему в “Границе эффективности” нет выбора стратегии ребалансировки. И как её все-таки получить
Два слова о том, почему отсутствует возможность выбора типа ребалансировки при оптимизации портфелей. Дело в том, что в библиотека okama эта функция реализована (здесь примеры).
Но, к сожалению, пока не получилось добиться быстрой работы этого вида оптимизации. Хотя задача по ускорению работы алгоритма стоит и даже есть мысли, как ускорить (здесь описание задачи). Пока построение 20 точек Границы эффективности при ребалансировке раз в год занимает в районе одной минуты. Для сайте это многовато. Но при желании можно всё сделать с помощью библиотеки.
Цитата из виджета Efficient Frontier widget (внизу страницы).
Подзабыл теорию по границе эффективности. Условия самые простые. Портфель - “вечный”, ребалансировка - 1 раз в год. Задача: наибольшая отдача при единственном критерии - требуемая доходность = безрисковая ставка +, допустим, 3%. Пример. Сформировали портфель на МБ в 2013 году из RGBItr и MCFtr, выбрав ее, кажется 9%+ наши 3% = 12%. Веса наших активов ~ 0,56 одного и 0,44 другого. 1 раз в год ребалансируем активы, подгоняя их под требуемые веса. И? Ведь со временем меняется безрисковая ставка и, соответственно, эффективность. Сейчас по прошествии ~ 10 лет мы это можем увидеть. Вопрос: для решения нашей задачи нам следовало поддерживать первоначально выбранные веса или, наверное, менять их при каждой ребалансировке под новую величину безрисковой ставки + 3%? Не подскажите? Спасибо.
Это ошибка копипаста. Поправлю описание виджета. Спасибо.
Подзабыл теорию по границе эффективности. Условия самые простые. Портфель - “вечный”, ребалансировка - 1 раз в год. Задача: наибольшая отдача при единственном критерии - требуемая доходность = безрисковая ставка +, допустим, 3%. Пример. Сформировали портфель на МБ в 2013 году из RGBItr и MCFtr, выбрав ее, кажется 9%+ наши 3% = 12%. Веса наших активов ~ 0,56 одного и 0,44 другого. 1 раз в год ребалансируем активы, подгоняя их под требуемые веса. И? Ведь со временем меняется безрисковая ставка и, соответственно, эффективность. Сейчас по прошествии ~ 10 лет мы это можем увидеть. Вопрос: для решения нашей задачи нам следовало поддерживать первоначально выбранные веса или, наверное, менять их при каждой ребалансировке под новую величину безрисковой ставки + 3%? Не подскажите?
вы вряд ли сможете решить задачу с такой формулировкой: “требуемая доходность = безрисковая ставка +, допустим, 3%”. Если бы задача имела решение, весь мир бы инвестировал в такое решение.
Современная теория портфеля (СТП) решает другие задачи: “оптимизация соотношения риска и доходности” на длинных промежутках времени. При этом, если брать длинные промежутки времени, то в сбалансированных и агрессивных стратегиях получается достигнуть реальной доходности +3% и выше. Но, часто выпадают промежутки времени с отрицательной реальной доходностью. Иногда такие промежутки бывают достаточно длинными (несколько лет).
Заложенная в классическую модель СТП теория вообще не оперирует понятием “реальная доходность”. Там даже инфляции нет. Соответственно, нет и ключевых ставок. Везде все расчеты делаются только по номинальной доходности. Почему так? Каких-то проблем это не вызывает, т.к. хорошо известны виды активов, которые на длинных сроках опережают инфляцию (например, индексы акций). Если хотите иметь +3% реальной среднегодовой доходности, делайте сбалансированный или агрессивный портфель. Ребалансируйте каждый раз под исходные веса без учета текущей безрисковой ставки.
Здраствуйте. Сергей, подскажите пожалуйста, сам график должен лежать в “положительной” части осей?! У меня он уехал в отрицательный “возврат”, это совсем плохо?! Держу мало мало акций российских кампаний и гос.облигации)
Здравствуйте … Ответ на этот вопрос зависит от целей. Что вы пытаетесь сделать с помощью Границы эффективности?
На всякий случай. Okama работает с ежемесячными данными. Для того, чтобы расчеты имели какую-то достоверность, необходимо выбрать правильно выбрать доверительный интервал. Грубо говоря, бесполезно ориентироваться на статистику за 1-2 года. В текущих условиях нужна история минимум за 10 лет. В идеале данные должны захватывать период 2008-2009 последнего мирового финансового кризиса.
Добавил в виджет возможность отображения Transition Map (Карта переходов)*.
График карты переходов становится доступен, если на виджете “Граница эффективности” выбрать Transition map: On (по умолчанию Off).
Карта переходов удобна тем, что помогает отслеживать закономерности в изменении весов активов внутри оптимизированных портфелей по мере изменения риска.
В библиотеке okama есть возможность на оси Х отображать на выбор: риск или CAGR. Но в виджете пока решил ограничиться наиболее популярным вариантом: веса VS риск.
Например, на примере этого графика видно, что в агрессивных портфелях по мере роста риска (и доходности) должна расти доля акций - SPY. Процент облигаций BND - наоборот уменьшается (пока всё очевидно). Но даже в агрессивных портфелях должны быть облигации (вот это уже менее очевидно). Опять же по границе эффективности можно посмотреть каковы разумные границы золота в портфеле.
Подсказка: правее точки риска 14% портфели не стоит смотреть. На границе эффективности видно, что правее риск растет а доходность стоит на месте.
* Карта Переходов (?) - надо подумать получше, как это перевести на русский язык. Пока нигде не нашел, чтобы кто-то использовал в переведенном варианте. Если есть идеи получше “карты переходов”, дайте знать.
Еще одно небольшое изменение … Веса портфелей в подсказке под графиком Границы эффективности теперь отображаются в парах с тикерами. Думаю, так будет более информативно.
Проверял на разных наборах. Проблема, похоже, проявляется при большом Number of points метода Монте-Карло. 5-5000 - вроде работает. 9999 - все сваливалось к стандартному набору… Может на сайте в форме более строгое ограничение на количество точек сделать?
Хотя вот сейчас проверил - и 9999 отработало.
Блуждающий глюк…
Да, вы правы. Для большого количества точек расчет длится слишком долго и система его “срезает”. Передвинул максимальное число на 5000. Думаю, для большинства случаев этого будет достаточно …