BaşlayınÜcretsiz başlayın

VaR ve risk maruziyeti

Daha önce kayıplar Normal dağıldığında VaR ve CVaR hesaplamıştın. Burada, scipy.stats içinde yer alan başka yaygın bir kayıp dağılımını, Student'ın t-dağılımını (veya T) kullanarak VaR bulacaksın.

Yatırım bankası portföyü losses için 30 günlük kayan pencereler kullanarak, T dağılımından (30 - 1 = 29 serbestlik derecesiyle) %99 VaR ölçülerinin bir dizisini hesaplayacaksın.

Önce her pencerenin ortalamasını ve standart sapmasını bulup rolling_parameters listesi oluşturacaksın. Bunları kullanarak %99 VaR ölçülerinin dizisini hesaplayacaksın.

Ardından bu diziyi kullanarak başlangıç değeri 100.000 $ olan bir portföy için risk maruziyetini görselleştireceksin. Unutma: risk maruziyeti, kayıp olasılığıdır (bu %1'dir) çarpı kayıp tutarıdır (bu da %99 VaR'ın verdiği kayıptır).

Bu egzersiz, kursun bir parçasıdır

Python ile Nicel Risk Yönetimi

Kursa Göz Atın

Egzersiz talimatları

  • scipy.stats içinden Student'ın t-dağılımını içe aktar.
  • losses'tan 30 günlük pencere ortalaması mu ve standart sapma sigma vektörlerini hesapla ve rolling_parameters içine yerleştir.
  • rolling_parameters öğelerini kullanarak T dağılımlarından bir liste üzerinden t.ppf() ile %99 VaR ölçülerinin Numpy dizisini VaR_99 olarak hesapla.
  • VaR_99 dizisiyle ilişkili risk maruziyetini hesapla ve görselleştir.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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()
Kodu Düzenle ve Çalıştır