Začněte nyníZačněte zdarma

Minimalizace CVaR

V tomto cvičení si procvičíš nástroje knihovny PyPortfolioOpt pro minimalizaci CVaR jako cíle řízení rizik.

Načteš modul pypfopt.efficient_frontier a získáš z něj třídu EfficientCVaR. Poté vytvoříš instanci této třídy s využitím aktiv investičních bank za období 2005–2010.

Následně použiješ metodu .min_cvar() dané instance, abys nalezl/a optimální váhy portfolia minimalizující CVaR.

Výnosy aktiv portfolia jsou uloženy ve vektoru returns – cvičení také využívá slovník names pro mapování vah portfolia na názvy bank.

Toto cvičení je součástí kurzu

Kvantitativní řízení rizik v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Importuj třídu EfficientCVaR z modulu pypfopt.efficient_frontier.
  • Vytvoř instanci třídy EfficientCVaR s názvem ec s využitím returns; všimni si, že expected_returns nepotřebuješ, protože účelová funkce se liší od optimalizace střední hodnoty a rozptylu.
  • Nalezni optimální portfolio pomocí metody .min_cvar() volaná na ec a výsledek zobraz.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód