Zacznij terazZacznij za darmo

VaR dla rozkładu normalnego

Aby lepiej zrozumieć miarę Value at Risk (VaR), warto najpierw zastosować ją do dobrze znanych rozkładów. Szczególnie przydatny jest rozkład normalny (zwany też gaussowskim), ponieważ 1) ma prostą postać analityczną oraz 2) opisuje szeroką gamę zjawisk empirycznych. W tym ćwiczeniu założymy, że strata portfela ma rozkład normalny – im wyższa wartość wylosowana z rozkładu, tym większa strata.

Nauczysz się stosować funkcję ppf() (ang. percent point function) z modułu scipy.stats.norm oraz funkcję quantile() z biblioteki numpy, aby wyznaczyć VaR na poziomach ufności 95% i 99% dla standardowego rozkładu normalnego. Zwizualizujesz też VaR jako próg na wykresie rozkładu normalnego.

To ćwiczenie jest częścią kursu

Ilościowe zarządzanie ryzykiem w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj funkcji .ppf() obiektu norm, aby wyznaczyć miarę VaR na poziomie ufności 95%.
  • Wyznacz VaR na poziomie 99%, korzystając z funkcji quantile() biblioteki NumPy zastosowanej do 100 000 losowych próbek draws z rozkładu normalnego.
  • Porównaj miary VaR na poziomach 95% i 99% za pomocą instrukcji print.
  • Narysuj wykres rozkładu normalnego i dodaj linię wskazującą VaR na poziomie 95%.

Interaktywne ćwiczenie praktyczne

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

# Create the VaR measure at the 95% confidence level using norm.ppf()
VaR_95 = norm.ppf(____)

# Create the VaR measure at the 99% confidence level using numpy.quantile()
draws = norm.rvs(size = 100000)
VaR_99 = np.quantile(____, 0.99)

# Compare the 95% and 99% VaR
print("95% VaR: ", ____, "; 99% VaR: ", ____)

# Plot the normal distribution histogram and 95% VaR measure
plt.hist(draws, bins = 100)
plt.axvline(x = ____, c='r', label = "VaR at 95% Confidence Level")
plt.legend(); plt.show()
Edytuj i uruchom kod