Gerenciamento de riscos em tempo real
É hora de usar o que você aprendeu sobre redes neurais para realizar o gerenciamento de riscos (quase!) em tempo real.
Uma janela de rolagem de 14 dias de retornos de ativos fornece dados suficientes para criar uma série temporal de carteiras de volatilidade mínima usando a Teoria Moderna de Portfólio, como você viu no Capítulo 2. Esses pesos do portfólio minimum_vol
são os valores de treinamento de uma rede neural. Essa é uma matriz (1497 x 4).
A entrada é a matriz do site semanal average_asset_returns
, correspondente a cada portfólio eficiente. Essa é uma matriz (1497 x 4).
Crie uma rede neural sequencial com a dimensão de entrada adequada e duas camadas ocultas. O treinamento dessa rede levaria muito tempo, portanto, você usará um pre_trained_model
disponível de tipo idêntico para prever os pesos do portfólio para um novo vetor de preços de ativos.
Este exercício faz parte do curso
Gerenciamento quantitativo de riscos em Python
Instruções de exercício
- Crie uma rede neural sequencial com duas camadas ocultas, uma camada de entrada e uma camada de saída.
- Use o site
pre_trained_model
para prever qual seria o portfólio de volatilidade mínima, quando novos dados de ativosasset_returns
forem apresentados.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# Create neural network model
model = ____()
model.add(Dense(128, input_dim = ____, activation = 'relu'))
model.____(____(64, activation = 'relu'))
model.____(____(____, activation = 'relu'))
# Use the pre-trained model to predict portfolio weights given new asset returns
asset_returns = np.array([0.001060, 0.003832, 0.000726, -0.002787])
asset_returns.shape = (1,4)
print("Predicted minimum volatility portfolio: ", pre_trained_model.____(asset_returns))