Risikomanagement in Echtzeit
Jetzt setzt du ein, was du über neuronale Netze gelernt hast, um (fast) in Echtzeit Risikomanagement zu betreiben.
Ein 14-Tage-Rollfenster von Asset-Renditen liefert genug Daten, um – wie du in Kapitel 2 gesehen hast – eine Zeitreihe von Minimum-Volatility-Portfolios nach der Modern Portfolio Theory zu erstellen. Diese minimum_vol-Portfolio-Gewichte sind die Zielwerte (Labels) für ein neuronales Netz. Das ist eine (1497 x 4)-Matrix.
Die Eingabe ist die Matrix der wöchentlichen average_asset_returns, die zu jedem effizienten Portfolio gehört. Das ist ebenfalls eine (1497 x 4)-Matrix.
Erstelle ein Sequential-Neuronales Netz mit passender Eingabedimension und zwei versteckten Schichten. Das Training dieses Netzes würde zu lange dauern, daher verwendest du ein vorhandenes pre_trained_model desselben Typs, um die Portfolio-Gewichte für einen neuen Asset-Preisvektor vorherzusagen.
Diese Übung ist Teil des Kurses
Quantitative Risk Management in Python
Anleitung zur Übung
- Erstelle ein Sequential-Neuronales Netz mit zwei versteckten Schichten, einer Eingabeschicht und einer Ausgabeschicht.
- Verwende das
pre_trained_model, um vorherzusagen, wie das Minimum-Volatility-Portfolio aussieht, wenn neue Asset-Datenasset_returnsvorliegen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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))