Блог им. egenui

PortfolioAnalytics оптимизация портфеля по StdDev и ES

Я тут свои наработки давние откопал, помню изучал пакет PortfolioAnalytics https://cran.r-project.org/web/packages/PortfolioAnalytics/PortfolioAnalytics.pdf в процессе прохождения курса по оптимизации портфеля https://www.datacamp.com/courses/intermediate-portfolio-analysis-in-r

Так вот, суть стратегии простая, берем недельные ретерны стоков, далее оптимизируем веса стоков в потрфеле минимизируя StdDev и Expected Shortfall. В качестве трейллинг окна берем 4 месяца, ребалансировка раз в месяц. Компоненты следующие AFLT, ALRS, GAZP, GMKN, LKOH, MGNT, ROSN, SBER, VTBR, NLMK.

Результат стратегии
PortfolioAnalytics оптимизация портфеля по StdDev и ES
PortfolioAnalytics оптимизация портфеля по StdDev и ES


PortfolioAnalytics оптимизация портфеля по StdDev и ES

В общем сам пакет есть обвес над теорией Марковица. Кто-нибудь что-то подобное торгует?
| ★7
12 комментариев
А как минимизирются сразу два показателя StdDev и Expected Shortfall?
avatar
Михаил, Хм, хороший вопрос ).  Возможно никак, по крайне мере сам фреймворк позволяет задать несколько критериев для оптимизации, возможно используется первый который был задан, в этом случае StdDev
avatar
evgen000, знаете, что ещё смущает. В 4 месяцах 17 недель и при этом портфель из 10 бумаг. Спеней свободы практически нет — с точки зрения статистики как-то не очень это все выглядит. 
avatar
Михаил, возможно, но ситуация не выглядит хуже если взять больший период
avatar
evgen000, надо смотреть в деталях — может вы в будущее подглядываете, когда веса считаете, может у вас там бумаги какие-то анамально себя ведут (магнит, как вариант) — прут существенно больше индекса все время и в них весь объём грузится. Вряд ли кто такой концентрированный портфель рискнул держать. Как там с учетом издержек на ребалансировку. 

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

А по вопросу в вашем посте — я торгую что-то похожее, но влоб Марковица не использую.
avatar
Михаил, ну там такой проблеммы как заглядывания по идее быть не должно, сам пакет позволяет тестировать walkforward, этот пакет в проде использовал uralpro (по крайне мере так заявлял в своей перезентации на конфе СЛ). К тому же пакет уже существует довольно давно.  Если вы знакомы с R я могу вам скинуть код, возможно вам будет интересно.

avatar
evgen000, я R не знаю — только Питон немного. Если в пакете уверены, посмотрите на веса бумаг в оптимальных портфелях на каждом шаге, посмотрите, что будет на другом наборе бумаг. Может действительно так все хорошо получается.
avatar
Вопрос не по теме — а вы котировки где забираете?
avatar
Интересно было бы сравнить с портфелем из таких же компонентов, но взятых с равными весами. Может весь прирост за счет отбора акций, а не оптимизации.
avatar
Если честно — too good to be true. В глаза бросается явный selection bias — взяли тикеры, которые за этот период все росли лучше рынка (поправьте если не прав) + возможно которые «хэджируют» просадки друг друга. Однако в будущем это вряд ли будет так. Сделайте честнее — возьмите все тикеры (или все ликвидные для вас), и сделайте выбор торгуемых тикеров автоматически (в том же скользящем окне), результаты должны получиться более честные.
+ недельные данные — не очень честный бэктест, если вы считаете, что смотрите клоуз и сразу по нему торгуете, тут бы поточнее надо сделать — например, если посмотрели клоуз, то считаете, что торгуете только по опену следующего дня в лучшем случае (а более консервативно — по клоузу следующего дня)
avatar
1. Поскольку выбрано всего 10 бумаг (кстати, почему ровно 10 и именно этих?), сделайте 10 графиков весов по каждой из них, чтобы увидеть, как после каждой ребалансировки менялся во времени вес этой бумаги.

2. В подобных системах важную роль играют издержки на торговлю и то, как эта торговля эмулируется. Когда у вас известен сигнал на ребалансировку и когда делаются соответствующие сделки? Какие заложены издержки на сделки?
avatar
Использую оптимизацию марковица, но не по стакам отдельно, а по стратегиям, например есть какая то страта и ее ретерны на разных инструментах, применяю оптимизацию портфеля к этим ретернам.

Читайте на SMART-LAB:
Фото
🧬 От ломбардов к экосистеме: как меняется ДНК бизнеса МГКЛ
🏛 Исторически бизнес МГКЛ формировался вокруг ломбардной модели — понятной, устойчивой и хорошо работающей в своей нише. Это был фундамент:...
Фото
Саратовэнерго. Надбавки на 26г. установлены, но это уже не важно. Изменение целевой цены и рейтинга
Комитет государственного регулирования тарифов Саратовской области опубликовал постановление №390 от 26.12.2025г. об установлении сбытовой...
ЛУКОЙЛу снова продлили лицензию на выход из зарубежных активов
Американское управление по контролю за зарубежными активами OFAC выдало российскому ЛУКОЙЛу новую лицензию на выход из зарубежных активов, но уже...
Фото
Хэдхантер. Ситуация на рынке труда в декабре идет ко дну - хуже не было никогда
Вышла статистика рынка труда за декабрь 2025 года, которую Хедхантер публикует ежемесячно, что же там интересного: Динамика...

теги блога evgen000

....все тэги



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