CommencerCommencer gratuitement

Gestion des risques en temps réel

Il est temps de mettre en pratique ce que vous avez appris sur les réseaux de neurones pour réaliser une gestion des risques (presque) en temps réel.

Une fenêtre glissante de 14 jours de rendements d’actifs offre suffisamment de données pour créer une série temporelle de portefeuilles à volatilité minimale selon la théorie moderne du portefeuille, comme vous l’avez vu au chapitre 2. Ces pondérations de portefeuille minimum_vol servent de valeurs d’entraînement pour un réseau de neurones. Il s’agit d’une matrice (1497 x 4).

Les entrées sont la matrice des average_asset_returns hebdomadaires, correspondant à chaque portefeuille efficient. Il s’agit d’une matrice (1497 x 4).

Créez un réseau de neurones Sequential avec la bonne dimension d’entrée et deux couches cachées. L’entraînement de ce réseau serait trop long, donc vous utiliserez un pre_trained_model de même type pour prédire les pondérations de portefeuille pour un nouveau vecteur de prix d’actifs.

Cet exercice fait partie du cours

Gestion quantitative des risques en Python

Afficher le cours

Instructions

  • Créez un réseau de neurones Sequential avec deux couches cachées, une couche d’entrée et une couche de sortie.
  • Utilisez le pre_trained_model pour prédire ce que serait le portefeuille à volatilité minimale lorsque de nouvelles données d’actifs asset_returns sont fournies.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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))
Modifier et exécuter le code