Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Portfolio Optimization Project

Авторы

  • Андрей Днепров (qaandr07)
  • Иван Погребисский (CyberIvanGP)

Описание проекта.

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

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


Функциональность

В рамках проекта реализованы следующие фичи (в логическом порядке выполнения):

  1. Считывание данных. Загрузка данных из таблицы и преобразование в векторы доходностей.

  2. Таблица корреляций. Построение корреляционной матрицы активов и анализ взаимосвязей.

  3. Генерация множества портфелей (Monte Carlo). Построение случайных портфелей и визуализация их в пространстве риск–доходность.

  4. Efficient Frontier. Построение эффективной границы для заданного набора активов.

  5. Касательный портфель.

    1. Нахождение портфеля с максимальным Sharpe ratio.
    2. Портфель минимальной дисперсии (min variance)
    3. Портфель на основе Sortino ratio
  6. Сравнение стратегий на одном графике. (backtest)

  7. Leverage. Применение кредитного плеча к касательному портфелю.

  8. Кривая безразличия. Построение функции полезности и определение оптимального выбора инвестора.

  9. Kelly Criterion. Выбор оптимального уровня плеча для портфеля.

  10. Анализ риска. Расчёт максимальной просадки (max drawdown).

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


Опциональные фичи

  • Портфель портфелей
  • оптимизация с учетом транзакционных издержек

Возможные библиотеки

Базовые

  • numpy — численные вычисления, работа с векторами и матрицами
  • pandas — обработка данных и временных рядов
  • matplotlib — построение графиков
  • seaborn — визуализация (heatmap корреляций)

Интерфейс

  • streamlit — создание интерактивного веб-дашборда

Работа с данными

  • yfinance — загрузка исторических данных по активам

Оптимизация портфелей

  • PyPortfolioOpt — построение efficient frontier и оптимальных портфелей
  • cvxpy — решение задач оптимизации с ограничениями (не использовали)

Анализ стратегий (опционально)

  • quantstats — анализ доходностей, метрик риска и производительности стратегий

About

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

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages