- Андрей Днепров (qaandr07)
- Иван Погребисский (CyberIvanGP)
В этом проекте рассматривается задача построения и анализа инвестиционных портфелей с использованием различных подходов к оценке риска и доходности. Акцент делается на визуализации множества портфелей, построении эффективной границы и сравнении различных методов оптимизации.
Дополнительно исследуется влияние выбора метрики, использование кредитного плеча и поведение портфелей во времени.
В рамках проекта реализованы следующие фичи (в логическом порядке выполнения):
-
Считывание данных. Загрузка данных из таблицы и преобразование в векторы доходностей.
-
Таблица корреляций. Построение корреляционной матрицы активов и анализ взаимосвязей.
-
Генерация множества портфелей (Monte Carlo). Построение случайных портфелей и визуализация их в пространстве риск–доходность.
-
Efficient Frontier. Построение эффективной границы для заданного набора активов.
-
Касательный портфель.
- Нахождение портфеля с максимальным Sharpe ratio.
- Портфель минимальной дисперсии (min variance)
- Портфель на основе Sortino ratio
-
Сравнение стратегий на одном графике. (backtest)
-
Leverage. Применение кредитного плеча к касательному портфелю.
-
Кривая безразличия. Построение функции полезности и определение оптимального выбора инвестора.
-
Kelly Criterion. Выбор оптимального уровня плеча для портфеля.
-
Анализ риска. Расчёт максимальной просадки (max drawdown).
-
Визуализация в виде дашборда. Интерактивный веб-интерфейс с использованием библиотеки Streamlit для управления параметрами и удобного переключения между графиками в одном окне.
- Портфель портфелей
- оптимизация с учетом транзакционных издержек
numpy— численные вычисления, работа с векторами и матрицамиpandas— обработка данных и временных рядовmatplotlib— построение графиковseaborn— визуализация (heatmap корреляций)
streamlit— создание интерактивного веб-дашборда
yfinance— загрузка исторических данных по активам
PyPortfolioOpt— построение efficient frontier и оптимальных портфелейcvxpy— решение задач оптимизации с ограничениями (не использовали)
quantstats— анализ доходностей, метрик риска и производительности стратегий