
    i}                         S SK Jr  S SK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JrJrJrJrJrJr  S r     SS	\S
\S\S\S\S\S\S\S\S\S\S\4S jjrg)    )isnan)Series)DictLikeIntIntFloat)ma)stdev)unsigned_differencesv_boolv_driftv_mamodev_offsetv_pos_defaultv_seriesc                     [        X5      n[        X5      u  pgXe-  nXu-  n	[        X8US9n
[        X9US9nX*-  X-   -  nU$ )N)length)r	   r
   r   )sourcer   scalarmodedriftstdposnegpos_stdneg_stdpos_avgneg_avgresults                S/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/volatility/rvi.py_rvir       sS    

C#F2HCiGiGv.Gv.G!23FM    Nclosehighlowr   r   refinedthirdsmamoder   offsetkwargsreturnc
                    [        US5      n[        XS-   5      n U c  g[        US5      n[        US5      n[        US5      n[        US5      n[	        U5      n[        U	5      n	U(       d  U(       a  [        U5      n[        U5      nSnU(       a$  [        XXGU5      n[        X#XGU5      nSX-   -  nS	nOHU(       a4  [        XXGU5      n[        X#XGU5      n[        XXGU5      nX-   U-   S
-  nSnO[        XXGU5      n[        [        U5      5      (       a  gU	S:w  a  UR                  U	5      nSU
;   a  UR                  U
S   SS9  SU SU 3Ul        SUl        U$ )a;  Relative Volatility Index

This indicator attempts to quantify volatility using standard deviation.

Sources:
    * [motivewave](https://www.motivewave.com/studies/relative_volatility_index.htm)
    * [tradingview A](https://www.tradingview.com/script/mLZJqxKn-Relative-Volatility-Index/)
    * [tradingview B](https://www.tradingview.com/support/solutions/43000594684-relative-volatility-index/)

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    close (Series): ```close``` Series
    length (int): The period. Default: ```14```
    scalar (float): Bands scalar. Default: ```100```
    refined (bool): Use 'refined' calculation which is the average of
        RVI(high) and RVI(low) instead of RVI(close). Default: ```False```
    thirds (bool): Average of ```high```, ```low``` and ```close```.
        Default: ```False```
    mamode (str): See ```help(ta.ma)```. Default: ```"ema"```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (DataFrame): 3 columns
      Nd   Fema g      ?rg      @tr   fillnaT)inplaceRVI_
volatility)r   r   r   r   r   r   r    allr   shiftr3   namecategory)r"   r#   r$   r   r   r%   r&   r'   r   r(   r)   _modehigh_rvilow_rvirvi	close_rvis                   r   r?   r?   !   ss   H 62&FUQJ'E}63'FWe$GFE"Ffe$FENEfF&~sm Efe<sFE:X'(	fe<sFE:>	!I-45&%8
5: {ii 6

6(#T
2 UG1VH%CHCLJr!   )	NNNNNNNNN)numpyr   pandasr   pandas_ta._typingr   r   r   pandas_ta.mar   pandas_ta.statisticsr	   pandas_ta.utilsr
   r   r   r   r   r   r   r    boolstrr?    r!   r   <module>rJ      s      5 5  &   7;+/)-%)TTT-3TT (T T #'T 	T  #	T
 T
 #+T Tr!   