ÎncepețiÎncepe gratuit

Minimizarea CVaR

Acest exercițiu îți oferă ocazia să exersezi instrumentele PyPortfolioOpt pentru minimizarea CVaR ca obiectiv de gestionare a riscului.

Vei încărca modulul pypfopt.efficient_frontier și vei prelua clasa EfficientCVaR, creând o instanță a acesteia pe baza activelor băncilor de investiții din perioada 2005–2010.

Vei folosi apoi metoda min_cvar() a instanței pentru a găsi ponderile optime ale portofoliului care minimizează CVaR-ul.

Randamentele activelor din portofoliu se află în vectorul returns — exercițiul folosește și un dicționar names pentru a asocia ponderile portofoliului cu numele băncilor.

Acest exercițiu face parte din cursul

Managementul Cantitativ al Riscului în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă clasa EfficientCVaR din pypfopt.efficient_frontier.
  • Creează instanța ec a clasei EfficientCVaR folosind returns; reține că nu ai nevoie de expected_returns, deoarece funcția obiectiv diferă de optimizarea medie-varianță.
  • Găsește și afișează portofoliul optim folosind metoda .min_cvar() a lui ec.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Import the EfficientCVaR class
from pypfopt.____ import EfficientCVaR

# Create the efficient frontier for CVaR minimization
ec = ____(None, ____)

# Find the cVaR-minimizing portfolio weights at the default 95% confidence level
optimal_weights = ec.____()

# Map the values in optimal_weights to the bank names
optimal_weights = { names[i] : optimal_weights[i] for i in optimal_weights}

# Display the optimal weights
print(optimal_weights)
Editează și rulează codul