Aan de slagGa gratis aan de slag

Realtime risicobeheer

Tijd om toe te passen wat je over neurale netwerken hebt geleerd om (bijna) realtime risicobeheer uit te voeren.

Een voortschrijdend venster van 14 dagen met activa-rendementen geeft genoeg data om een tijdreeks van minimum volatility-portefeuilles te maken met de Modern Portfolio Theory, zoals je in Hoofdstuk 2 zag. Deze minimum_vol-portefeuillegewichten zijn de trainingswaarden voor een neuraal netwerk. Dit is een matrix van (1497 x 4).

De input is de matrix met wekelijkse average_asset_returns, die hoort bij elke efficiënte portefeuille. Dit is een matrix van (1497 x 4).

Maak een Sequential neuraal netwerk met de juiste inputdimensie en twee verborgen lagen. Dit netwerk trainen zou te lang duren, dus je gebruikt een beschikbare pre_trained_model van hetzelfde type om portefeuillegewichten te voorspellen voor een nieuwe activaprijzenvector.

Deze oefening maakt deel uit van de cursus

Kwantitatief risicobeheer in Python

Cursus bekijken

Oefeninstructies

  • Maak een Sequential neuraal netwerk met twee verborgen lagen, één inputlaag en één outputlaag.
  • Gebruik het pre_trained_model om te voorspellen wat de minimum volatility-portefeuille zou zijn wanneer nieuwe actiagegevens asset_returns worden aangeboden.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren