
    Q-j                     p    d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZ 	 	 	 ddededed	ed
ededefdZy)    )Series)DictLikeInt)Imports)v_lowerboundv_offsetv_seriesv_talibNcloselengthddoftaliboffsetkwargsreturnc                    t        |dd      }d|v r|d   t        |d         }n|}t        | t        ||            } | yt	        |t              rd|cxk  r|k  rn nt        |      nd}t        |      }t        |      }t        d   r|rddlm	}  || |      }	n"| j                  ||      j                  |      }	|dk7  r|	j                  |      }	d	|v r|	j                  |d	   d
       d| |	_        d|	_        |	S )a  Rolling Variance

    Calculates a rolling Variance.

    Parameters:
        close (Series): ```close``` Series
        length (int): The period. Default: ```30```
        ddof (int): Delta Degrees of Freedom. Default: ```1```
        talib (bool): If installed, use TA Lib. Default: ```True```
        offset (int): Post shift. Default: ```0```

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

    Returns:
        (Series): 1 column

    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```.
          min_periodsNr   r   )VAR)r   fillnaT)inplaceVAR_
statistics)r   intr	   max
isinstancer
   r   r   r   r   rollingvarshiftr   namecategory)
r   r   r   r   r   r   r   mode_talr   variances
             k/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/statistics/variance.pyr$   r$   	   s   8 &!R(F6-#8#D&/0UC45E}"4-!t2Df2D3t9!Du~HfF wHuf%==[=AEEdK {>>&) 6x($7 6(OHM$HO    )NNNN)pandasr   pandas_ta._typingr   r   pandas_ta.mapsr   pandas_ta.utilsr   r   r	   r
   boolr$    r&   r%   <module>r-      sb     + " E E
 "&$(===
=!= = #+= 	=r&   