VaR и риск-экспозиция
Ранее вы вычисляли VaR и CVaR при нормальном распределении убытков. Теперь вы найдёте VaR, используя другое распространённое распределение убытков — распределение Стьюдента (или T) из библиотеки scipy.stats.
Вы вычислите массив значений 99% VaR на основе распределения T (с 30 - 1 = 29 степенями свободы), используя скользящие окна длиной 30 дней для портфеля инвестиционного банка losses.
Сначала вы найдёте среднее и стандартное отклонение для каждого окна и сформируете список rolling_parameters. Затем используете его для вычисления массива значений 99% VaR.
После этого вы воспользуетесь этим массивом, чтобы визуализировать риск-экспозицию для портфеля с начальной стоимостью 100 000 долларов. Напомним: риск-экспозиция — это вероятность убытка (1%), умноженная на величину убытка (определяемую 99% VaR).
Это упражнение является частью курса
Количественное управление рисками на Python
Инструкции к упражнению
- Импортируйте распределение Стьюдента
tизscipy.stats. - Вычислите векторы среднего
muи стандартного отклоненияsigmaдля 30-дневных скользящих окон на основеlossesи поместите результаты вrolling_parameters. - Вычислите Numpy-массив значений 99% VaR
VaR_99с помощьюt.ppf(), используя список распределений T и элементыrolling_parameters. - Вычислите и визуализируйте риск-экспозицию, соответствующую массиву
VaR_99.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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()