Get startedGet started for free

Parameter estimation: Normal

Parameter estimation is the strongest method of VaR estimation because it assumes that the loss distribution class is known. Parameters are estimated to fit data to this distribution, and statistical inference is then made.

In this exercise, you will estimate the 95% VaR from a Normal distribution fitted to the investment bank data from 2007 - 2009. You'll use scipy.stats's norm distribution, assuming that it's the most appropriate class of distribution.

Is a Normal distribution a good fit? You'll test this with the scipy.stats.anderson Anderson-Darling test. If the test result is statistically different from zero, this indicates the data is not Normally distributed. You'll address this in the next exercise.

Portfolio losses for the 2005 - 2010 period are available.

This exercise is part of the course

Quantitative Risk Management in Python

View Course

Exercise instructions

  • Import norm and anderson from scipy.stats.
  • Fit the losses data to the Normal distribution using the .fit() method, saving the distribution parameters to params.
  • Generate and display the 95% VaR estimate from the fitted distribution.
  • Test the null hypothesis of a Normal distribution on losses using the Anderson-Darling test anderson().

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

# Import the Normal distribution and skewness test from scipy.stats
from ____ import norm, anderson

# Fit portfolio losses to the Normal distribution
params = ____.fit(____)

# Compute the 95% VaR from the fitted distribution, using parameter estimates
VaR_95 = norm.____(0.95, *params)
print("VaR_95, Normal distribution: ", VaR_95)

# Test the data for Normality
print("Anderson-Darling test result: ", anderson(____))
Edit and Run Code