Zacznij terazZacznij za darmo

VaR i ekspozycja na ryzyko

Wcześniej obliczano VaR i CVaR przy założeniu normalnego rozkładu strat. Teraz wyznaczysz VaR przy użyciu innego popularnego rozkładu strat – rozkładu t-Studenta (w skrócie T) dostępnego w scipy.stats.

Obliczysz tablicę miar 99% VaR z rozkładu T (z 30 - 1 = 29 stopniami swobody), korzystając z 30-dniowych okien kroczących wyznaczonych na podstawie losses z portfela banku inwestycyjnego.

Na początku wyznaczysz średnią i odchylenie standardowe dla każdego okna, tworząc listę rolling_parameters. Następnie użyjesz ich do obliczenia tablicy miar 99% VaR.

Na koniec wykorzystasz tę tablicę do zwizualizowania ekspozycji na ryzyko dla portfela o początkowej wartości 100 000 USD. Przypomnij sobie, że ekspozycja na ryzyko to prawdopodobieństwo straty (tu: 1%) pomnożone przez kwotę straty (tu: wartość wynikająca z 99% VaR).

To ćwiczenie jest częścią kursu

Ilościowe zarządzanie ryzykiem w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj rozkład t-Studenta t z biblioteki scipy.stats.
  • Oblicz wektory 30-dniowej średniej kroczącej mu i odchylenia standardowego sigma na podstawie losses, a następnie umieść je w rolling_parameters.
  • Oblicz tablicę Numpy miar 99% VaR VaR_99 przy użyciu t.ppf(), na podstawie listy rozkładów T zbudowanej z elementów rolling_parameters.
  • Oblicz i zwizualizuj ekspozycję na ryzyko powiązaną z tablicą VaR_99.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod