Экспоненциально взвешенная доходность и риск
В этом упражнении вы выполните оптимизацию портфеля, используя несколько иной подход к оценке риска и доходности: более свежим данным будет присвоен больший вес.
Это эффективный способ работы с биржевыми данными, которые, как правило, нестационарны, то есть их распределение меняется со временем. Реализовать такой подход несложно: достаточно заменить модель риска для расчёта Sigma и метод вычисления доходности для получения mu. Набор данных с ценами акций доступен в переменной stock_prices. Приступим!
Это упражнение является частью курса
Введение в анализ портфеля на Python
Инструкции к упражнению
- Используйте экспоненциально взвешенную ковариационную матрицу из
risk_modelsи функцию экспоненциально взвешенной исторической доходности изexpected_returnsдля расчётаSigmaиmu. Задайте параметр span равным 180, а частоту (то есть количество торговых дней) — 252. - Рассчитайте эффективную границу с новыми значениями
muиSigma. - Вычислите веса для портфеля с максимальным коэффициентом Шарпа.
- Получите отчёт о показателях портфеля.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define exponentially weightedSigma and mu using stock_prices
Sigma = risk_models.____(____, span=____, frequency=____)
mu = expected_returns.____(____, frequency=____, span=____)
# Calculate the efficient frontier
ef = ____(____, ____)
# Calculate weights for the maximum sharpe ratio optimization
raw_weights_maxsharpe = ____.____()
# Show portfolio performance
ef.____(verbose=True)