Построить оптимизационный портфель минимального риска из акций компаний индекса Доу-Джонса с использованием опционов.
- numpy, scipy: вычисления
- pandas: работа с данными
- matplotlib, plotly: визуализация
- gurobipy: оптимизация
- Alpha Vantage: API для данных
- requests: запросы к Alpha Vantage
- Prophet: прогнозирование временных рядов
-
reader.py: чтение и предобработка даных.
- Класс GettingData с помощью requests обращается к сайту по тикеру компании и скачивает исторические данные (за 20+ лет) в формате csv.
- Класс Reader считывает csv-файл и обрабатывает его, оставляя только данные по дневным ценам закрытия торгов за определенный промежуток времени (с 03.01.2017 по 01.12.2020).
-
calculator.py: расчет необходимых значений для оптимизации (ожидаемая доходность портфеля, волатильность, риск порфтеля, стоимость опциона пут, ковариационная матрица).
-
forecast.ipynb: прогнозирование цен акций компаний на месяц.
-
optimization.ipynb: создание оптимизионной модели, вывод результатов.
-
results.csv: все данные, включая прогноз. С этими данными происходит работа в optimization.ipynb