Why is my data not normally distributed while I have an almost perfect QQ plot and histogram? I am doing a thesis and I am stuck with my statistics on time series data. And when I run a Shapiro test, or any test, it says:
Statistics=0.998, p=0.000
Sample does not look Gaussian (reject H0)

And that it is not normally distributed. But when I look to my QQ plot and histogram the data looks normally distributed. And even when it would not pass the test, it is strange that it results in p = 0.000.
I also have two other groups where the QQ plot and histogram looks way worse than this one, but the tests say those are normally distributed.
I am looking in my script, but I can’t find any mistakes so far. Is it likely that there is something wrong or is it very normal for this data to be nonparametric (even with this graphs)?
I am using Python btw, not R.
QQ plot:

Histogram:

PS. I also have a box plot:

 A: Ben has already explained much.
If you only want some kind of classifier based on, say, variance, then you could use a common variance estimator and you don't need normality. Your distributions should have second moments, though.
You wrote that you did "many tests" - this is rather suspicious. Are you aware of the multiple hypothesis testing issues? Are you aware of the "formulating hypotheses on the data" issues? I got the impression, that you'd prefer estimators, not hypothesis testing. Your statistical work seems to have some basic flaws...
A: 
Why is my data not normally distributed while I have an almost perfect QQ plot and histogram?

Because it is not perfect
Your qq plot is not perfect. You have some clear deviations from a normal distribution that are statistically significant.

Normal distributions exist in mathematics but not in nature
These type of deviations occur a lot. The Normal distribution occurs as a limit distribution for a sum of many different sources of variation. See for instance the central limit theorem. But this limit occurs at infinity and that is almost never exactly obtained in practice (although with physical experiments, which can have extremely large numbers of sources of variation, it can get extremely close).
Potential causes for your difference
In your case there is a deviation from normality in the limits of the distribution. Your sample has a limit between -8.75 and -6.5. On the other hand a normal distribution has limits $\pm \infty$.

*

*Such bounds can occur because you do not have a large sum of variables with variations. For instance the sum of 100 rolls with a six sided dice can be well approximated by a normal distribution. But, the dice rolls are limited in the range from 0 to 600.


*Another possibility: it is very likely that there might be some theoretical limit.
Take for instance the performance of a 100 meter sprinter. This might be very well approximated with a normal distribution since there are many sources of error involved in the performance (reaction time at the start, wind speed, physical state, positioning the feet correct every step, etc.). But, you will never get a human running faster than 0 seconds, whereas a normal distribution includes this as an option. Before these 0 seconds there will be some other limit. The sources of error mostly add linearly but once the runner obtains a certain speed then wind resistance starts to increase, coordination becomes more difficult and many other factors start to play a role. The addition of the error is not linear and independent (which means that the normal distribution approximation works less well)
It seems to me that it is physically impossible for your variable to be normal distributed, and you do not need a statistical test for this (I imagine that sessility, although I am not sure how you measure this and get negative values, is bounded).
Practical solution
Very often you do not need exact normality.
(edit: as Christian Hennig mentions in the comments, this is too liberal, it should be more strict instead and the statement should be "You never need exact normality". This relates to 'all models are wrong'. The assumption of normality is a part of a model that is likely (or certainly) to be false, but the point of modeling with the assumption of a normal distribution is that it is close enough.)
More important than significance is the effect size.
Although a problem here is that there is not really a good rule of thumb in the case of normality tests. Depending on your goals/case there might be recommendations. For instance, the qq-plot shows that you variable has smaller tails. This means that your estimate is gonna have a smaller excessive variability. Then you do not have to worry about underestimating p-values and increased type I errors (if the variability of your estimate is less, then you are less likely to exceed a certain range of statistical significance).
A: You QQ plot shows that there is departure from normality in the tails of your distribution.  Since you have a very large sample size, your test is able to detect even a relatively minor departure from normality, so it is not surprising that it is rejecting the null hypothesis with a very low p-value.  Your test is correctly identifying that your data do not come from a normal distribution (or their tail behaviour would not look like that).
Incidentally, this is one of the properties of a classical hypothesis test when you use it to test a narrow hypothesis such as this one --- if the hypothesis is even slightly false then the p-value will converge to zero as the sample size becomes large.  Statisticians are therefore cautious when we use hypothesis tests and we are wary of using them to test very narrow hypotheses.  If the null hypothesis is too narrow then it will almost certainly be false, and the test will detect that once you give it enough data.
A: No data will ever be perfectly normally distributed, so it is not surprising that your data are "not normal", and note that no test ever will say "data are normal"; the best any test can tell you is that according to the test statistic data do not deviate from what is expected under the normal distribution, but data may not be normal anyway (for example due to not being truly continuous, as no data are).
As data are never truly normal, true normality is not what is of interest in applied data analysis. What is really relevant is if you have deviations from normality that have the potential to mislead conclusions of methods that supposedly assume normality. But this depends on what you think you need normality for, i.e., what you want to do with the data after having tested normality. Chances are the data shown in your plots are fine for most things you'd like to do (there are no extreme outliers and no strong skewness, so theory based on normality will give very good approximations), but without knowing what you want to do based on normality, we can't know for sure. (Note that most analyses have further assumptions on top of normality, and sometimes problems with those are worse, particularly independence.)
