開始使用免費開始

即時風險管理

是時候把你對神經網路的所學用在(幾乎)即時的風險管理上了。

14 天的滾動視窗資產報酬,提供足夠的資料來建立一個以現代投資組合理論所計算的「最小波動度投資組合」時間序列,你在第 2 章已經看過。這些 minimum_vol 投資組合權重將作為神經網路的訓練值。這是一個大小為 (1497 x 4) 的矩陣。

輸入則是對應每個效率投資組合的每週 average_asset_returns 矩陣。這同樣是大小為 (1497 x 4) 的矩陣。

建立一個具有正確輸入維度與兩個隱藏層的 Sequential 神經網路。訓練這個網路會花太久時間,因此你會使用一個可用、且型別相同的 pre_trained_model,來對「新的」資產價格向量預測投資組合權重。

本練習屬於課程

Python 量化風險管理

檢視課程

練習說明

  • 建立一個包含兩個隱藏層、1 個輸入層與 1 個輸出層的 Sequential 神經網路。
  • 使用 pre_trained_model,在提供新的資產資料 asset_returns 時,預測最小波動度投資組合會是什麼。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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))
編輯並執行程式碼