The Shapiro-Wilk test is a normality test. The following Python program verifies whether IBM's returns are following a normal distribution. The last five-year daily data from Yahoo! Finance is used for the test. The null hypothesis is that IBM's daily returns are drawn from a normal distribution:
from scipy import stats from matplotlib.finance import quotes_historical_yahoo import numpy as np ticker='IBM' begdate=(2009,1,1) enddate=(2013,12,31) p = quotes_historical_yahoo(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)
The results are shown as follows:
The first value of the result is the test statistic, ...