Kom igångKom igång gratis

VaR för normalfördelningen

För att bekanta dig med måttet Value at Risk (VaR) är det bra att börja med att tillämpa det på en känd fördelning. Normalfördelningen (eller Gaussfördelningen) är särskilt lämplig eftersom den 1) har en analytiskt enkel form och 2) beskriver ett brett spektrum av empiriska fenomen. I den här övningen antar du att förlusten i en portfölj är normalfördelad, det vill säga att ett högre värde från fördelningen motsvarar en högre förlust.

Du får lära dig att använda både ppf()-funktionen (percent point function) från scipy.stats.norm och quantile()-funktionen från numpy för att beräkna VaR vid konfidensnivåerna 95 % respektive 99 % för en standardnormalfördelning. Du visualiserar också VaR som ett tröskelvärde i ett diagram över normalfördelningen.

Den här övningen är en del av kursen

Kvantitativ riskhantering i Python

Visa kurs

Övningsinstruktioner

  • Använd .ppf()-funktionen (percent point function) från norm för att beräkna VaR-måttet vid konfidensnivån 95 %.
  • Beräkna nu VaR vid 99 % med hjälp av Numpys quantile()-funktion tillämpad på 100 000 slumpmässiga drag, draws, från normalfördelningen.
  • Jämför VaR-måtten vid 95 % och 99 % med en print-sats.
  • Plotta normalfördelningen och lägg till en linje som markerar VaR vid 95 %.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod