Дорожная карта проекта Okama

Основные планы развития проекта

Библиотека okama

  • Добавление сложного параметра Изъятия (withdrawals) в класс Portfolio. Этот параметр должен описывать стратегию изъятия денег из портфеля (ежемесячно, ежегодно, фиксированный размер, процент и т.д.)
  • Ускорить работу оптимизаторов в классе EfficientFrontierReb. Актуально для методов minimize_risk, maximize_risk methods.
  • Объединить два класса EfficientFrontier и EfficientFrontierReb в один класс, который имеет период ребалансировки в качестве одного из параметров
  • Добавить новые целевые функции для оптимизаторов: полудисперсия, VaR, CVaR, drawdowns etc.
  • Добавить модель Блэка-Литтермана (Black-Litterman) в оптимизаторы
  • Добавление новых функций распределения случайных величин в модели прогнозирования и бэктестинга
  • Планы изъятия и пополнения портфеля денежными средствами. Расчет IRR и других метрик DCF

Открытая база данных

Отдельным направлением для проекта является развитие финансово-экономической открытой базы данных:

  • Добавление исторических данных для новых фондовых рынков (Китай, Индия, страны Азии)
  • Расширение информации для ETF, БПИФ и взаимных фондов. Информация по фондам должна содержать: размер комиссии УК, название индекса (если индексный фонд), название УК, базовую валюту активов фонда, основные тикеры в составе портфеля и другие характерные для индексных фондов параметры
  • Добавление макроэкономических параметров для рынков: ВВП, денежная масса, CAPE и др.
  • Добавление фундаментальных характеристик для ценных бумаг

Если вас интересует работа над одним из этих направлений, пишите личным сообщением или на наш emal: info@rostsber.ru.

Задавать вопросы по направлениям развития и вносить свои предложения можно в этой ветке.

Отличные планы, так держать.

“Дополнение докситрнгов для модулей”, наверное, имелось ввиду “докстрингов”.
Планы супер!

Спасибо. Поправил …

Добавил в Дорожную карту планы изъятия денег и пополнения портфеля. Есть идеи, как это совместить с существующей сегодня моделью расчета метрик портфеля. Будем постепенно внедрять всё, что связано с дисконтированием …

Сергей, спасибо за труды. Скажите пожалуйста, планируется ли добавлять
отрасль и сектор фин. инструментов,
разбивку портфеля на сектора,
возможность группировать по отраслям данные при выводе графика?

1 лайк

Алексей,
Сейчас в процессе работы расширение описательной информации по ETF (как российским, так и зарубежным). В качестве одного из атрибутов описания будет выступать сектор экономики (если он имеется для конкретного фонда). Соответственно, вероятно можно будет сделать механизм выбора фондов опираясь знания о его секторе экономики. Добавлять информации о том, какое соотношение секторов экономики присутствует в конкретном фонде на данный момент нет в планах для разработки.

1 лайк

На всякий случай, @Anton сейчас работает над расширением базы данных ETF. Предполагается, что по ETF будет информация: размер комиссии, тип индекса, УК, активный/пассивный и много другого полезного. В базу попадет в первую очередь фундаментальная информация по российским и американским ETF. Потом планируем добавить аналогичные сведения для UCITS.

Что дальше?

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

Пора приступить к проработке различных стратегий пополнений / снятий денег в портфеле. Для этого я планирую добавить отдельный класс, который будет описывать такие стратегии. У стратегии должно быть предусмотрены регулярные пополнения или снятия денег, нерегулярные пополнения (нужен список дат), пополнения с более сложными условиями (например, Value Averaging).

Этот класс явно должен быть связан с Portfolio и влиять на формирование wealth index. Можно сказать, что сейчас реализуется простейший вариант такой стратегии – пополнение только при создании портфеля. Для реализации более сложных стратегий пополнения вроде Value Averaging новый класс должен считывать состояние Portfolio (знать текущий размер портфеля). Следовательно это будет подкласс Portfolio.

Это простая часть…

Более сложная часть плана – реализовать сравнение «выгодности» стратегий. С точки зрения финансов такие стратегии можно сравнивать с помощью дисконтирования денежных поток (DCF). Придется научиться вычислять IRR и NPV портфеля. А дальше – оптимизация весов портфеля и формирование Границы эффективности по этим критериям.

Что есть у коллег

Не хочется начинать с нуля, поэтому хотелось бы посмотреть, что уже реализовано на эту тему.
Пока мне известно только о похожих вещах на Portfolio Visualizer (PV):

В PV возможны только простейшие стратегии пополнения / изъятия:

  • без пополнений (есть сейчас в okama)
  • пополнения с фиксированной суммой
  • изъятия с фиксированной суммой
  • изъятия с фиксированным процентом

Но PV это не open source. Посмотреть на реализацию там не получится.

Если вдруг кому-то известно о других софтверных проектах, где реализованы стратегии
пополнения / изъятия портфеля, дайте знать.