bukosabino / ta

Technical Analysis Library using Pandas and Numpy

Home Page:https://technical-analysis-library-in-python.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Why does Bollinger Bands use ddof=0 instead of the default ddof=1?

emberlightstudios opened this issue · comments

This is not the standard calculation. It does not match the bb calculated from any other charting software I use, and the bands are now biased. What is the reasoning here?

The Bollinger Bands use ddof=0 instead of the default ddof=1 in order to calculate the standard deviation.

In statistics, there are two common methods for calculating the standard deviation: sample standard deviation and population standard deviation. The difference between these methods lies in the degrees of freedom, which is the denominator in the calculation.

By default, many statistical software and functions use the sample standard deviation (ddof=1) as it is often more appropriate for estimating population parameters from sample data. This method subtracts 1 from the degrees of freedom in the denominator to better reflect the variability in the sample data.

However, when it comes to calculating the Bollinger Bands, using ddof=0 is more common. This is because the purpose of the Bollinger Bands is to assess price volatility and determine the positioning of the upper and lower bands based on the measurement of standard deviation. In this case, using ddof=0 ensures that the calculation of the standard deviation is based on the sum of squared deviations of the entire dataset, providing a more comprehensive estimate of volatility.

In summary, the Bollinger Bands use ddof=0 to consider the entire dataset when calculating the standard deviation, in order to more accurately assess price volatility. This choice aligns with the specific goals and purposes of the Bollinger Bands.