ComeçarComece gratuitamente

Minimizando CVaR

Este exercício permitirá que você pratique as ferramentas do PyPortfolioOpt para CVa minimização do risco como um objetivo de gerenciamento de risco.

Você carregará o módulo pypfopt.efficient_frontier e recuperará a classe EfficientCVaR, criando uma instância da classe usando os ativos do banco de investimento no período de 2005 a 2010.

Em seguida, você usará o método min_cvar() da instância para encontrar os pesos ideais do portfólio que minimizem o CVaR.

Os retornos dos ativos do portfólio estão no vetor returns - este exercício também usa um dicionário names para mapear os pesos do portfólio para os nomes dos bancos.

Este exercício faz parte do curso

Gerenciamento quantitativo de riscos em Python

Ver Curso

Instruções de exercício

  • Importe a classe EfficientCVaR de pypfopt.efficient_frontier.
  • Crie a instância de classe EfficientCVaR ec usando returns; observe que você não precisa de expected_returns, pois a função objetivo é diferente da otimização de média-variância.
  • Encontre e exiba o portfólio ideal usando o método ec' .min_cvar().

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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)
Editar e executar código