ComenzarEmpieza gratis

Gestión de riesgos en tiempo real

Es hora de utilizar lo que has aprendido sobre redes neuronales para realizar una gestión del riesgo (casi) en tiempo real.

Una ventana deslizante de 14 días de rentabilidades de activos proporciona datos suficientes para crear una serie temporal de paras de volatilidad mínima utilizando la teoría del portafolio moderna, como viste en el capítulo 2. Estos pesos del portafolio minimum_vol son los valores de entrenamiento de una red neuronal. Esta es una matriz (1497 × 4).

La entrada es la matriz de average_asset_returns semanales, correspondiente a cada portafolio eficiente. Esta es una matriz (1497 × 4).

Crea una red neuronal secuencial con la dimensión de entrada adecuada y dos capas ocultas. Entrenar esta red llevaría demasiado tiempo, así que utilizarás un pre_trained_model disponible de idéntico tipo para prever los pesos del portafolio para un nuevo vector de precios de los activos.

Este ejercicio forma parte del curso

Gestión cuantitativa de riesgos en Python

Ver curso

Instrucciones del ejercicio

  • Crea una red neuronal secuencial con dos capas ocultas, una capa de entrada y una capa de salida.
  • Utiliza el pre_trained_model para prever cuál sería el portafolio de volatilidad mínima cuando se presenten nuevas asset_returns de los datos de los activos.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# 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))
Editar y ejecutar código