I have calculated daily price returns of Bitcoin and plotted this data in the following way:

  • x-axis: returns in %
  • y-axis: count

enter image description here

I assumed the data had a normal distribution to calculate the $$\rm VaR_{95} = -1.6449\times std + mean $$

These tests say that I should reject that assumption: enter image description here

Do you guys think nevertheless it is ok to do it? I want to include this in my bachelor thesis.

  • $\begingroup$ I already read something about tests beeing useless when N is large. So it is "ok" to assume it here? $\endgroup$ Sep 1, 2023 at 15:56
  • 6
    $\begingroup$ I reopened this question with the understanding it's not about Normality testing, but about the accuracy of estimating the upper quantile of an obviously non-Normal distribution using a property of the Normal distribution (the 1.6449 value). It would help, though, to explain what specifically you want to use this for and why you don't simply use the 95% quantile of your data. $\endgroup$
    – whuber
    Sep 1, 2023 at 16:12
  • $\begingroup$ @whuber In the graph it is done how you said. Using var = np.percentile(df["Price Change (in %)"], 100 * alpha) and then plt.axvline(var, color='purple', linestyle='--', label=f'VaR ({alpha*100:.2f}%)') with an alpha of 0.05. When plotting the KDE it looked normal so I thought it is more appropriate to use the mentioned VaR approach. $\endgroup$ Sep 3, 2023 at 12:32
  • 1
    $\begingroup$ A much better graphical method of assessing approximate Normality is to examine a qq plot of the data. This one will have a clear twist in the center showing in more detail how these data fail to be Normal. $\endgroup$
    – whuber
    Sep 3, 2023 at 13:46
  • $\begingroup$ @BlankerHans every bell shaped distribution "looks normal" especially likes of Student t $\endgroup$
    – Aksakal
    Sep 3, 2023 at 15:12

2 Answers 2


You can't assume a normal distribution of returns of financial assets to calculate the VaR. VaR is a measure of tail risk, and many financial assets have fat/heavy tails. It is very dangerous to make this assumption without a very good empirical support for it.

For instance, I downloaded the daily BTC-USD ticker from Yahoo!Finance for the last 5 years. The excess kurtosis is 17 for the log differences of the series. This is far from normal, and you'll severely underestimate VaR with a Gaussian assumption.

Here's how it impacts VaR calculation: the empirical VaR (i.e. 5% of returns) is -0.20 while Gaussian approximation returns -0.06. Farther into a tail will produce more bias and more danger to whoever uses this VaR number.

If you really need a parametric approximation, then Gaussian Mixture model would be a better idea. Having only two components returns -0.19 VaR.

  • $\begingroup$ Is $VaR_{95}$ just the $95$th percentile? (Perhaps it might be better to consider $VaR_{95}$ to be the true $95$th percentile, and we want to use the data to estimate that value.) $\endgroup$
    – Dave
    Sep 1, 2023 at 16:41
  • 3
    $\begingroup$ yes, the question is only about how to estimate it. as @whuber noted you could attempt empirical percentile. it has its own issues, but will be better than normal assumption $\endgroup$
    – Aksakal
    Sep 1, 2023 at 16:43

Aksakal provides a good experience-based answer to this question which I think is sufficient. I would like to simply add that using inferential tests of normality (such as Shapiro-Wilk, Anderson-Darling, and Kolmogorov-Smirnov tests) is often a poor way of assessing normality, especially for large sample sizes. Some simulations have shown that even slight skew or kurtosis is affected by sample size, particularly Shapiro-Wilk. For example, the Shapiro-Wilk formula is defined as:

$$ \Large w = \frac{(\Sigma_{i=1}^na_ix_i)^2}{\Sigma_{i=1}^n (x-\bar{x})^2} $$

where $x_i$ are the ordered random sample values and $a_i$ are constants generated from the covariances, variances and means of the sample (size $n$) from a normally distributed sample. You can see already here that because $n$ is included in this estimation, the test is weighted by how many data points are used.

This means even slightly non-normal distributions get flagged with this test with enough data. Here is a simulated example in R. Here I have created a beta distribution that is tweaked to look mostly normal.

#### Simulate Data and Plot ####
x <- rbeta(5000,4,4)

enter image description here

Running the Shapiro-Wilk test:

#### Run Test ####

We get a flagged result, despite the data coming from what appears to be a mostly normal distribution:

    Shapiro-Wilk normality test

data:  x
W = 0.99602, p-value = 2.236e-10

A good number of parametric tests in statistics are built off the normality assumption, but they can also be fairly robust to non-normality, particularly in cases like these where the normality of the distribution is only barely a problem. My advice is to ignore these types of tests and stick to visual aids like you already have with the histogram.

Having said that, the other answerer has clearly outlined that not only is this distribution non-normal, but the type of data you are using already has non-normal distributions in general (indeed, your distribution appears to have large kurtosis looking at it from afar). So while my advice is to use graphical methods to interpret normality, that does not change the interpretation of the other answer here.

  • $\begingroup$ My point in a comment to the question is that this thread is not about normality tests. $\endgroup$
    – whuber
    Sep 2, 2023 at 14:36
  • 2
    $\begingroup$ I realize that reading your comment. Given the best answer was already given, my concern was OP running off and applying the normality tests to other data, and the goal of this answer was to simply add some context regarding these tests so they don't make that mistake in the future (seeing as that method was employed here). If this answer is not appropriate, I can consider deleting it, but I believe it still adds value so that OP knows in the future what to avoid. $\endgroup$ Sep 2, 2023 at 15:47
  • 1
    $\begingroup$ @ShawnHemelstrand Thank you it helped! $\endgroup$ Sep 3, 2023 at 12:33
  • $\begingroup$ Glad to hear it. Feel free to hit the check mark on one of the solutions if you feel it has sufficiently addressed your question. I believe the other answer is a better solution to your question given it specifically addresses your question above and beyond mine. $\endgroup$ Sep 3, 2023 at 12:34
  • 1
    $\begingroup$ I agree with the general message here, but some word choices are puzzling. I would not say that skewness and kurtosis are affected by sample size. Rather the problem is that with large samples significance tests, in doing what they were designed to do, often flag non-normality that is not troubling. $\endgroup$
    – Nick Cox
    Sep 3, 2023 at 17:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.