ComenzarEmpieza gratis

VaR y exposición al riesgo

Antes calculaste el VaR y el CVaR con una distribución normal de las pérdidas. Aquí hallarás el VaR utilizando otra distribución de pérdidas frecuente, la distribución t de Student (o T) contenida en scipy.stats.

Calcularás una matriz de medidas del VaR del 99 % a partir de la distribución T (con 30 − 1 = 29 grados de libertad), utilizando ventanas deslizantes de 30 días de las losses del portafolio del banco de inversión.

Primero hallarás la media y la desviación típica de cada ventana, creando una lista de rolling_parameters. Las utilizarás para calcular la matriz de medidas del VaR al 99 %.

A continuación, utilizarás esta matriz para representar la exposición al riesgo de un portafolio con un valor inicial de 100 000 $. Recuerda que la exposición al riesgo es la probabilidad de pérdida (esta es del 1 %) multiplicada por el importe de la pérdida (esta es la pérdida dada por el VaR del 99 %).

Este ejercicio forma parte del curso

Gestión cuantitativa de riesgos en Python

Ver curso

Instrucciones de ejercicio

  • Importa la distribución t de Student de scipy.stats.
  • Calcula los vectores de media mu y desviación típica sigma de la ventana de 30 días a partir de losses, y colócalos en rolling_parameters.
  • Calcula una matriz Numpy de medidas del VaR del 99 % VaR_99 utilizando t.ppf(), a partir de una lista de distribuciones T, utilizando los elementos de rolling_parameters.
  • Calcula y visualiza la exposición al riesgo asociada a la matriz VaR_99.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Import the Student's t-distribution
from scipy.____ import t

# Create rolling window parameter list
mu = losses.rolling(30).____
sigma = losses.rolling(30).____
rolling_parameters = [(29, mu[i], s) for i,s in enumerate(sigma)]

# Compute the 99% VaR array using the rolling window parameters
VaR_99 = np.array( [ t.ppf(____, *params) 
                    for params in ____ ] )

# Plot the minimum risk exposure over the 2005-2010 time period
plt.plot(losses.index, 0.01 * ____ * 100000)
plt.show()
Editar y ejecutar código