Jarque-Bera and Normality Testing
A test that checks whether a set of numbers — often regression residuals or asset returns — looks bell-shaped, by measuring how lopsided (skewed) and how heavy-tailed (kurtotic) it is compared to a true normal distribution.
Prerequisites: Hypothesis Testing, Sample Moments and Their Standard Errors
A lot of standard statistical machinery — confidence intervals from small samples, some regression tests, value-at-risk models built on a normal curve — quietly assumes the data behaves like a bell curve. Daily stock returns famously don't: they have more extreme days than a normal distribution predicts, and often lean slightly one way. Eyeballing a histogram gives a rough sense of this, but it doesn't tell you whether the departure from bell-shaped is big enough to matter or just noise from a finite sample. The Jarque-Bera test turns "does this look normal?" into a single number and a formal yes/no answer, by checking the two specific ways a distribution most commonly fails to be normal: lopsidedness and fat tails.
An analogy: judging a symmetrical, evenly-weighted die
Picture judging whether a die is fair by checking two things separately: is it lopsided (does it land on some numbers more than others in a directionally biased way), and is it "clumpy" (do results cluster oddly, with more extreme outcomes than a fair die should produce)? A truly fair die is symmetric in both senses. Jarque-Bera does the same thing to a sample of numbers instead of die rolls: it measures lopsidedness with skewness and clumpiness-in-the-tails with kurtosis, and checks whether both are close enough to the values a genuine normal distribution would produce (skewness of 0, kurtosis of 3) that the deviation is explainable by sample noise alone.
The mechanics, one symbol at a time
Let be the sample skewness (0 for a symmetric distribution, positive if the right tail is longer, negative if the left tail is longer) and be the sample kurtosis (3 for a normal distribution; higher means fatter tails and a sharper peak — "fat tails" in trading terms). For a sample of size , the Jarque-Bera statistic is:
In plain English: this combines how far skewness is from 0 and how far kurtosis is from 3 into one number, squaring each deviation (so both directions of lopsidedness or both directions of clumpiness count against normality equally) and scaling by the sample size (larger samples can detect smaller departures reliably). Under the null hypothesis that the data really is normal, follows a chi-squared distribution with 2 degrees of freedom, and you reject normality if exceeds the relevant critical value — 5.99 at the 5% level.
Worked example 1: daily returns of a stock
Suppose 500 days of a stock's returns have sample skewness (a mild negative lean — occasional sharp down days) and sample kurtosis (fatter tails than normal's 3). Plugging in:
That's far above the 5.99 critical value, so the test rejects normality decisively — unsurprising, since real daily equity returns almost always fail this test given a large enough sample. This is exactly why risk models that assume normal returns tend to underestimate the frequency of large moves.
Worked example 2: regression residuals from a small sample
A researcher fits a factor model to 40 monthly observations and computes residual skewness and kurtosis — much closer to normal-looking than the daily return example above.
That's well below 5.99, so the test does not reject normality here — the residuals are consistent with a normal distribution, and the small sample size means only fairly large departures from , would have been detectable anyway.
Drag the mean and standard deviation and compare the resulting curve's shape by eye against the fixed bell curve — this is the visual version of what skewness (lopsidedness) and kurtosis (tail weight) are quantifying numerically.
What this means in practice
Jarque-Bera shows up constantly as a first diagnostic check: on regression residuals before trusting small-sample t-tests, on strategy return series before applying normal-distribution risk measures like a naive value-at-risk, and on factor model errors before running further inference that assumes normality. Financial returns routinely fail it — fat tails and mild skew are close to universal in daily and intraday data — which is less a flaw in the test than a genuine warning that normal-distribution-based tools will misjudge tail risk if applied to that data without adjustment.
Jarque-Bera converts two intuitive checks — is the distribution lopsided (skewness away from 0), and does it have unusually extreme values (kurtosis away from 3) — into a single chi-squared test statistic, giving a formal answer to "is this data consistent with being drawn from a normal distribution," rather than relying on eyeballing a histogram.
The classic mistake is treating "fails to reject normality" as proof the data is normal, or applying the test to a small sample and concluding everything is fine. With few observations, Jarque-Bera has low power — it can only detect fairly large departures from normality, so a non-rejection with 30 data points is weak evidence at best, not confirmation. Conversely, with thousands of observations (common with daily or intraday returns), the test will reject normality even for tiny, practically harmless departures, because it becomes powerful enough to detect deviations too small to matter for most trading decisions. Read the test statistic's size, not just the reject/don't-reject verdict.
Related concepts
Practice in interviews
Further reading
- Jarque & Bera, 'A test for normality of observations and regression residuals', International Statistical Review 1987
- Campbell, Lo & MacKinlay, The Econometrics of Financial Markets, ch. 1