
    i                         S SK JrJr  S SKJrJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJrJrJrJrJrJr      SS\S	\S
\S\S\S\S\S\S\S\4S jjrg)    )	DataFrameSeries)DictLikeIntIntFloat)ma)Imports)stdev)non_zero_rangetal_mav_mamodev_offsetv_pos_defaultv_seriesv_talibNcloselength	lower_std	upper_stdddofmamodetaliboffsetkwargsreturnc           
      ,   [        US5      n[        X5      n U c  g[        US5      n[        US5      n[        U[        5      (       a  SUs=::  a  U:  a  O  O[        U5      OSn[	        US5      n[        U5      n	[        U5      n[        S   (       a$  U	(       a  SSKJ	n
  U
" XX2[        U5      5      u  pnO)[        XXIS	9nX.-  nX>-  n[        XP4XS
.UD6nX-
  nUU-   n[        X5      nSU-  U-  n[        X5      U-  nUS:w  aU  UR                  U5      nUR                  U5      nUR                  U5      nUR                  U5      nUR                  U5      nSU;   a_  UR                  US   SS9  UR                  US   SS9  UR                  US   SS9  UR                  US   SS9  UR                  US   SS9  SU SU SU 3nSU 3Ul        SU 3Ul        SU 3Ul        SU 3Ul        SU 3Ul        S=Ul        Ul        UR"                  =Ul        Ul        UR                   UUR                   UUR                   UUR                   UUR                   U0n[%        UU R&                  S9nSU 3Ul        UR"                  Ul        U$ )au  Bollinger Bands

This indicator, by John Bollinger, attempts to quantify volatility by
creating lower and upper bands centered around a moving average.

Sources:
    * [tradingview](https://www.tradingview.com/wiki/Bollinger_Bands_(BB))

Parameters:
    close (Series): ```close``` Series
    length (int): The period. Default: ```5```
    lower_std (IntFloat): Lower standard deviation. Default: ```2.0```
    upper_std (IntFloat): Upper standard deviation. Default: ```2.0```
    ddof (int): Degrees of Freedom to use. Default: ```0```
    mamode (str): See ```help(ta.ma)```. Default: ```"sma"```
    talib (bool): If installed, use TA Lib. Default: ```True```
    ddof (int): By default, uses Pandas ```ddof=1```.
        For Numpy calculation, use ```0```. Default: ```1```
    offset (int): Post shift. Default: ```0```

Other Parameters:
    fillna (value): ```pd.DataFrame.fillna(value)```

Returns:
    (DataFrame): 5 columns

Note:
    * TA Lib does not have a ```ddof``` parameter.
    * The divisor used in calculations is: ```N - ddof```, where ```N```
      is the number of elements. To use ```ddof```, set ```talib=False```.
   Ng       @r      smar   )BBANDS)r   r   r   r   )r   r   d   fillnaT)inplace_BBLBBMBBUBBBBBP
volatility)indexr    )r   r   
isinstanceintr   r   r   r	   r   r    r   r
   r   r   shiftr"   namecategoryr   r+   )r   r   r   r   r   r   r   r   r   mode_talr    uppermidlowerstd_devlower_deviationsupper_deviationsulr	bandwidthpercent_propsdatadfs                          V/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/volatility/bbands.pybbandsr?      s   L 61%FU#E}i-Ii-I"4--!t2Df2D3t9!Dfe$Fu~HfF wH "5)vWEeN$.$.HvHH&&&

&Cc	CIU*S0G {F#iiF#OOF+	--' 6VH%t4

6(#T
2VH%t4)48vh'6 )Ai[1FvhEJVH~CHvhEJ6(^IN>GL&22ENU^(-6CL9% 	

E#

E	gD 
4u{{	+BvhBG,,BKI    )NNNNNNN)pandasr   r   pandas_ta._typingr   r   r   pandas_ta.mar   pandas_ta.mapsr	   pandas_ta.statisticsr
   pandas_ta.utilsr   r   r   r   r   r   r   strboolr?    r@   r>   <module>rJ      s    $ 5 5  " &   "&6:8<	iiii+3i i "i 26i 	i #+	i
 ir@   