Kom igångKom igång gratis

Minimera CVaR

I den här övningen får du träna på PyPortfolioOpts verktyg för CVaR-minimering som riskhanteringsmål.

Du laddar modulen pypfopt.efficient_frontier och hämtar klassen EfficientCVaR, sedan skapar du en instans av klassen med investeringsbankernas tillgångar för perioden 2005–2010.

Därefter använder du instansens metod min_cvar() för att hitta de optimala portföljvikter som minimerar CVaR.

Portföljens tillgångsavkastningar finns i vektorn returns – övningen använder också en ordbok names för att mappa portföljvikter till banknamn.

Den här övningen är en del av kursen

Kvantitativ riskhantering i Python

Visa kurs

Övningsinstruktioner

  • Importera klassen EfficientCVaR från pypfopt.efficient_frontier.
  • Skapa instansen ec av klassen EfficientCVaR med hjälp av returns. Observera att du inte behöver expected_returns, eftersom målfunktionen skiljer sig från medelvärde–variansoptimering.
  • Ta fram och visa den optimala portföljen med hjälp av metoden .min_cvar()ec.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod