# normal distribution test

212 views (last 30 days)
eri on 2 Jan 2012
Answered: Linda Lin on 12 Dec 2020
i have historic data (daily) of 30 stock from 250 day (i make 30x250 matrix from it), now i want to test whether this data is normally distributed or not, how to do this? and if its not normally distributed how to normalize it?

Richard Willey on 3 Jan 2012
Statistics Toolbox offers a number of hypothesis tests that you can use to (formally) test whether your data is normally distributed. With this said and done, I strongly recommend starting with some visualization techniques.
Functions like "normplot" will provide you with a much better feel for the nature of your data and why it does/does not match a normal distribution.
##### 2 CommentsShowHide 1 older comment
Richard Willey on 4 Jan 2012
Probability plots are a very standard way to check whether data is normally distributed. Arguably, these charts provide better information than a formal hypothesis tests.
The following code might prove helpful
% Generate a vector of 500 normally distributed random numbers with mean =
% 10 and standard deviation =5
foo = 10 + 5*randn(500, 1);
% Use a normplot to see whether the sample appears to be normally
% distributed
normplot(foo)
figure
% Generate a vector of 500 random numbers drawn from a gamma distribution
% with aplha = 5 and beta = 3
bar = gamrnd(5,3, 500,1)
% Use a normplot to see whether the sample appears to be normally
% distributed
normplot(bar)

the cyclist on 2 Jan 2012
Do you have access to the Statistics Toolbox? There are at least two normality tests included there: jbtest() and lillietest().
I don't have the Finance Toolbox, but I am guessing that there may be something there as well.
You can type "docsearch normality" to poke around in the documentation.
I am not sure what you mean by normalizing it, if it is not normally distributed. Sounds like a dangerous game. Maybe you could provide some more details on what you are trying to do.
Richard Willey on 3 Jan 2012
MathWorks provides dedicated functions for portfolio optimization. The best content that I am aware of is the following downloads from MATLAB Central. (There is an associated webinar that you can view to get an introduction to the techniques)
http://www.mathworks.com/matlabcentral/fileexchange/31290-using-matlab-to-optimize-portfolios-with-financial-toolbox

bym on 2 Jan 2012
for normalization you can try the Box-Cox transformation
or just fit it with a non-normal distribution
eri on 3 Jan 2012
can you give the detail of how to use them in matlab?

Léon on 3 Jan 2012
Are you talking about prices or returns? Or even something different from that? Regarding returns you should be aware of a leptokurtic distribution of your data. Anyway I wouldn't rely on a normal distribution, but I would definitely use some bootstrapping technique to derive an accurate estimator for the moments.
eri on 3 Jan 2012
price

Linda Lin on 12 Dec 2020
kstest