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
Egzersiz talimatları
scipy.statsiçinden Student'ınt-dağılımını içe aktar.losses'tan 30 günlük pencere ortalamasımuve standart sapmasigmavektörlerini hesapla verolling_parametersiçine yerleştir.rolling_parametersöğelerini kullanarak T dağılımlarından bir liste üzerindent.ppf()ile %99 VaR ölçülerinin Numpy dizisiniVaR_99olarak hesapla.VaR_99dizisiyle 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()