The first method to estimate VaR is based on a vital assumption that individual stock or portfolio returns follow a normal distribution. However, in the real world, we know that stock returns or portfolio returns do not necessarily follow a normal distribution. The following program tests whether Microsoft returns satisfy this assumption by using 5-year daily data:
from scipy import stats from matplotlib.finance import quotes_historical_yahoo_ochl as getData import numpy as np # ticker='MSFT' begdate=(2012,1,1) enddate=(2016,12,31) # p =getData(ticker, begdate, enddate,asobject=True, adjusted=True) ret = (p.aclose[1:] - p.aclose[:-1])/p.aclose[1:] print 'ticker=',ticker,'W-test, and P-value' print(stats.shapiro(ret)) print( stats.anderson(ret)) ticker= MSFT W-test, and P-value (0.9130843877792358, 3.2116320877511604e-26) AndersonResult(statistic=14.629260310763584, critical_values=array([ 0.574, 0.654, 0.785, 0.915, 1.089]), significance_level=array([ 15. , ...