ComenzarEmpieza gratis

Rendimientos y riesgo ponderados exponencialmente

En este ejercicio, vas a realizar una optimización de cartera con una forma ligeramente distinta de estimar el riesgo y los rendimientos: vas a dar más peso a los datos más recientes en la optimización.

Es una forma inteligente de tratar con datos bursátiles que suelen ser no estacionarios, es decir, cuando la distribución cambia con el tiempo. La implementación puede hacerse rápidamente cambiando el modelo de riesgo que usas para calcular Sigma y el cálculo de rendimientos que usas para obtener mu. El conjunto de datos de precios de acciones está disponible como stock_prices. ¡Vamos a ello!

Este ejercicio forma parte del curso

Introducción al análisis de carteras en Python

Ver curso

Instrucciones del ejercicio

  • Usa la matriz de covarianzas ponderada exponencialmente de risk_models y la función de rendimientos históricos ponderados exponencialmente de expected_returns para calcular Sigma y mu. Establece el span en 180 y la frecuencia (es decir, los días de negociación) en 252.
  • Calcula la frontera eficiente con los nuevos mu y Sigma.
  • Calcula los pesos para la cartera de máximo ratio de Sharpe.
  • Obtén el informe de rendimiento.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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)
Editar y ejecutar código