实时风险管理
现在该把您对神经网络的所学应用到(几乎)实时的风险管理中了。
一个 14 天滚动窗口的资产收益足以按照第 2 章所示,用现代投资组合理论构建一条"最小波动率投资组合"的时间序列。这些 minimum_vol 投组合权重将作为神经网络的训练目标。该矩阵尺寸为 (1497 x 4)。
输入为对应每个有效投资组合的每周 average_asset_returns 矩阵。该矩阵尺寸为 (1497 x 4)。
请创建一个具有正确输入维度、包含两个隐藏层的 Sequential 神经网络。训练该网络会耗时过长,因此您将使用一个可用的、类型相同的 pre_trained_model,来为"新的"资产价格向量预测投资组合权重。
本练习是课程的一部分
Python 中的定量风险管理
练习说明
- 创建一个包含两个隐藏层、一个输入层和一个输出层的 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))