Михаил

Читают

User-icon
218

Записи

41

Оценка ковариации акций в портфеле

Вынес в отдельное репо реализацию расчета ковариационной матрицы Ledoit-Wolf на Python.

Может быть полезно для тех кто занимается количественной оптимизацией портфелей акций.

Библиотечка для MOEX ISS

Написал библиотечку для асинхронной загрузки данных с MOEX ISS на Python. Большой выигрыш по скорости, когда нужно данные по десяткам или сотням бумаг загрузить. 

Пока реализованы запросы по перечню торгуемых бумаг и историческим котировкам. На следующей неделе собираюсь добавить загрузку свечек, информации по доступным свечкам и общего справочника MOEX ISS.

Предсказание дивидендов

Долго пытался применить ML к предсказанию дивидендов, но получить результат лучше, чем у совсем базовой гипотезы, что все акции имеют одинаковую дивидендную доходность, равную средней по всей выборке, не получалось. Но все-таки после долгих раздумий удалось сформировать подход, объясняющий около 20% дисперсии. Несколько методов ML дают близкий результат, поэтому остановлюсь на наиболее простом с точки зрения количества подбираемых гиперпараметров — гребневой регрессии.

Ключевая задача на ближайшую перспективу переписать оптимизацию портфеля с учетом нового подхода к прогнозированию дивидендов. 

Предсказание дивидендов



Доработал систему

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

  • Средние — 3 093 488 против 3 128 883 по старой схеме
  • Минимальные — 2 514 879 против 2 556 831 по старой схеме


Написал сборщик данных по дивидендам для СмартЛаба. В планах написать аналогичный блок для https://www.conomy.ru/, а после этого сформировать систему полуавтоматического обновления/проверки базы данных с дивидендами на основании нескольких источников.


Итоги месяца - новый рекорд по дивидендам

Был в продолжительной поездке, пропустил предыдущий отчет, поэтому сразу отчет за месяц с 19 июня по 19 июля: поставил очередной рекорд по дивидендам за предыдущие 12 месяцев — взял отметку в 3,5 млн. рублей. Возможно, не надолго — в следующем месяце нужно получить, как минимум 1,5 млн. рублей, чтобы удержаться на текущем уровне. Система дала сигнал продать ENRU и купить UPRO.

Итоги месяца - новый рекорд по дивидендам



Перед путешествием успел собрать небольшую базу данных по дивидендам. Основная задача по развитию торговой системы — перейти с ежегодного на непрерывное обновление статистики по дивидендам. Часть кода уже написана. Необходимо дописать проверку появления новых данных на www.conomy.ru/ и smart-lab.ru/ и запустить в эксплуатацию новую реализацию расчета метрик дивидендов в перерыве между годовыми дивидендами и дивидендами за 6 месяцев, а после этого буду пытаться применить ML вместо классических статистических методов.


Моделирование дивидендов

По большинству эмитентов СД сформулировали рекомендации по годовым дивидендам, потому решил обновить статистику и перевести модель на новую базу расчетов с учетом данных за 2017 год. Оценка ожидаемых за следующие 12 месяцев дивидендов по портфелю изменилась с  3 067 660 до 3 045 319, а минимальных с 2 478 950 до 2 467 599. Изменения незначительны, что свидетельствует о том, что используемый подход к прогнозированию работает нормально и не склонен к переоптимизации. 

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

Видимо, прийдется вести свою базу данных. Переодически проверять сайты с данными по дивидендам (https://dohod.ru, https://www.conomy.ru, https://smart-lab.ru) в автоматическом режиме. При появлении новой информации на них проводится дополнительная ручная проверка, после которой обновляются данные в основной базе.



( Читать дальше )

Автопоиск акций на MOEX

Наконец дошли руки написать автоматический поиск акций на MOEX, которые потенциально можно включить в портфель. Всего на MOEX торгуется 279 акции, а если отбросить акции иностранных эмитентов, то 270 — есть где развернуться.
Программа по очереди перебирает все бумаги отбрасывает акции со слишком низким оборотом и отбирает, бумаги с высоким Momentum и низкой корреляцией с текущим портфелем.
Хорошо бы что-нибудь аналогичное замутить с фундаментальными данными, но нормальных источников данных нет. 

Автопоиск акций на MOEX



Неликвид требует вмешательства

Оборот по PMSBP повысился — есть шанс прикупить. Не знаю, что получится, но завтра буду продавать RSTIP и покупать PMSBP.

Неликвид требует вмешательства



Итоги месяца

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

Итоги месяца



За прошедший месяц удалось сделать автоматическую сборку pdf-отчета о результатах управления портфелем. В целом переход с Excel на Python можно считать завершенным. Доделаю разные мелочи, потом в отпуск на месяц, а с середины июля займусь развитием модели с использованием ML, и дивиденды начнут активно поступать.


Итоги месяца

Месяц с 19 марта для многих оказался не простым, но в итоге все вышло не так ужасно:

  • минус 2,9% за месяц
  • плюс 32,7% за 12 месяцев
  • дивидендов не поступало
9 апреля по счастливому совпадению закончил написание программы для оптимизации портфеля. Модель в первый раз за много месяцев дала сигнал о необходимости реструктуризации портфеля, чем я и занимался в последнее время. В результате выяснилось, что я слишком либерально относился к малоликвидным акциям — продевалось все легко, а покупать приходилось неликвид, что выходило не очень. Портфель удалось привести к достаточно оптимальному состоянию, но накопилось много кэша, на который еще предстоит купить бумаг. За одно немного отшлифую требование к минимальной ликвидности бумаг.

В плане усовершенствования программы удалось сократить время расчетов до менее 1 секунды против 100 секунд первоначально. Теперь займусь написанием блока автоматического составления ежемесячной отчетности.

Итоги месяца



теги блога Михаил

....все тэги



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