ПочатиПочніть безкоштовно

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.
  • Обчисліть вектори середнього за 30-денним вікном mu та стандартного відхилення sigma з 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()
Редагувати та запускати код