normal distribution test

212 views (last 30 days)
eri
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?

Answers (5)

Richard Willey
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 Comments
Richard Willey
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)

Sign in to comment.


the cyclist
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.
  3 Comments
Richard Willey
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

Sign in to comment.


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

Sign in to comment.


Léon
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.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!