Managementul riscului în timp real
Este momentul să aplici ce ai învățat despre rețelele neuronale pentru a realiza managementul riscului (aproape!) în timp real.
O fereastră glisantă de 14 zile a randamentelor activelor oferă suficiente date pentru a crea o serie de timp a portofoliilor cu volatilitate minimă folosind Teoria Modernă a Portofoliului, așa cum ai văzut în Capitolul 2. Aceste ponderi de portofoliu minimum_vol reprezintă valorile de antrenament pentru o rețea neuronală. Este o matrice de dimensiune (1497 x 4).
Datele de intrare sunt reprezentate de matricea average_asset_returns săptămânale, corespunzătoare fiecărui portofoliu eficient. Și aceasta este o matrice de dimensiune (1497 x 4).
Creează o rețea neuronală de tip Sequential cu dimensiunea de intrare corespunzătoare și două straturi ascunse. Antrenarea acestei rețele ar dura prea mult, așa că vei folosi un pre_trained_model disponibil, de tip identic, pentru a prezice ponderile portofoliului pentru un nou vector de prețuri ale activelor.
Acest exercițiu face parte din cursul
Managementul Cantitativ al Riscului în Python
Instrucțiuni pentru exercițiu
- Creează o rețea neuronală de tip Sequential cu două straturi ascunse, un strat de intrare și un strat de ieșire.
- Folosește
pre_trained_modelpentru a prezice care ar fi portofoliul cu volatilitate minimă atunci când sunt prezentate noi date despre activeasset_returns.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))