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
Oefeninstructies
- Maak een Sequential neuraal netwerk met twee verborgen lagen, één inputlaag en één outputlaag.
- Gebruik het
pre_trained_modelom te voorspellen wat de minimum volatility-portefeuille zou zijn wanneer nieuwe actiagegevensasset_returnsworden 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))