Beräkna VaR och ES för normalfördelningen
Standardfunktionen qnorm() beräknar kvantiler för en normalfördelning utifrån sannolikheten p, medelvärdet och standardavvikelsen, och kan därmed användas för att beräkna value-at-risk (VaR). Funktionen ESnorm() från paketet QRM beräknar expected shortfall (ES) för en normalfördelning utifrån sannolikheten p, lägesparametern mu och skalparametern sd:
qnorm(p, mean = 0, sd = 1)
ESnorm(p, mu = 0, sd = 1)
Vanliga numeriska värden för p är 0,95 och 0,99, vilket motsvarar konfidensnivåerna 95% respektive 99%.
I den här övningen beräknar och visualiserar du VaR och ES för en normalfördelning \(N(\mu, \sigma^2)\) med medelvärde \(\mu\) och standardavvikelse \(\sigma\). Du kommer också att använda nya funktioner för att generera sekvenser och lägga till lodräta linjer i ett diagram. Du kan läsa om deras argument genom att skriva ?seq och ?abline i konsolen.
Variablerna mu och sigma innehåller det skattade medelvärdet och den skattade standardavvikelsen för Dow Jones-indexets avkastningar under 2008–2009, lagrade i djx. Alla tre objekt finns tillgängliga i din workspace.
Den här övningen är en del av kursen
Kvantitativ riskhantering i R
Övningsinstruktioner
- Fyll i
seq()för att skapa en sekvens med 100 x-värden från \(-4\sigma\) till \(4\sigma\) och tilldela tillxvals. - Fyll i
dnorm()för att beräkna tätheten för en \(N(\mu, \sigma^2)\)-fördelning vidxvalsoch tilldela tillndens. - Plotta
ndensmotxvalsmedtype = "l". - Använd
qnorm()ochESnorm()för att beräkna fördelningens 99% VaR och 99% ES, och tilldela resultaten tillVaR99respektiveES99. - Fyll i
abline()för att skapa lodräta linjer förVaR99ochES99i rött respektive grönt.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Make a sequence of 100 x-values going from -4*sigma to 4*sigma
___ <- seq(from = -4*sigma, to = 4*sigma, length.out = ___)
# Compute the density of a N(mu, sigma^2) distribution at xvals
___ <- dnorm(___, mean = ___, sd = ___)
# Plot ndens against xvals
# Compute the 99% VaR and 99% ES of a N(mu, sigma^2) distribution
___ <- qnorm(___, mean = ___, sd = ___)
___ <- ESnorm(___, mu = ___, sd = ___)
# Draw vertical lines at VaR99 and ES99 in red and green
abline(v = ___, col = "red")
abline(v = ___, col = "green")