IniziaInizia gratis

Gestione del rischio in tempo reale

È il momento di mettere a frutto ciò che hai imparato sulle reti neurali per eseguire una gestione del rischio (quasi!) in tempo reale.

Una finestra mobile di 14 giorni dei rendimenti degli asset fornisce dati sufficienti per creare una serie temporale di portafogli a volatilità minima usando la Modern Portfolio Theory, come hai visto nel Capitolo 2. Questi pesi di portafoglio minimum_vol sono i valori di training per una rete neurale. Si tratta di una matrice (1497 x 4).

L'input è la matrice dei average_asset_returns settimanali, corrispondente a ciascun portafoglio efficiente. Anche questa è una matrice (1497 x 4).

Crea una rete neurale Sequential con la corretta dimensione di input e due livelli nascosti. L'addestramento di questa rete richiederebbe troppo tempo, quindi userai un pre_trained_model disponibile dello stesso tipo per prevedere i pesi di portafoglio per un nuovo vettore di prezzi degli asset.

Questo esercizio fa parte del corso

Gestione quantitativa del rischio in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una rete neurale Sequential con due livelli nascosti, un livello di input e un livello di output.
  • Usa il pre_trained_model per prevedere quale sarebbe il portafoglio a volatilità minima quando vengono presentati i nuovi dati degli asset asset_returns.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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))
Modifica ed esegui il codice