Řízení rizik v reálném čase
Teď přichází chvíle, kdy využiješ vše, co ses o neuronových sítích naučil/a, k řízení rizik (téměř!) v reálném čase.
14denní klouzavé okno výnosů aktiv poskytuje dostatek dat pro vytvoření časové řady portfolií s minimální volatilitou pomocí moderní teorie portfolia, jak jsi viděl/a ve 2. kapitole. Tyto váhy portfolia minimum_vol jsou trénovacími hodnotami neuronové sítě. Jde o matici (1497 × 4).
Vstupem je matice týdenních average_asset_returns odpovídajících každému efektivnímu portfoliu. Jde také o matici (1497 × 4).
Vytvoř sekvenční neuronovou síť se správnou vstupní dimenzí a dvěma skrytými vrstvami. Trénování sítě by trvalo příliš dlouho, proto použiješ dostupný pre_trained_model stejného typu k predikci vah portfolia pro nový vektor cen aktiv.
Toto cvičení je součástí kurzu
Kvantitativní řízení rizik v Pythonu
Pokyny k cvičení
- Vytvoř sekvenční neuronovou síť se dvěma skrytými vrstvami, jednou vstupní vrstvou a jednou výstupní vrstvou.
- Pomocí
pre_trained_modelpredikuj, jaké by bylo portfolio s minimální volatilitou, když jsou na vstup přivedena nová data aktivasset_returns.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))