
    i
                         S SK Jr  S SKJrJr  S SKJrJr  S SKJ	r	  S SK
JrJrJrJr    SS\S\S	\S
\S\S\S\S\S\4S jjrg)    )isnan)	DataFrameSeries)DictLikeInt)swma)non_zero_rangev_offsetv_pos_defaultv_seriesNopen_highlowcloselengthswma_lengthoffsetkwargsreturnc                    [        US5      n[        US5      nXE-   S-
  n[        X5      n [        X5      n[        X(5      n[        X85      nU b	  Ub  Ub  Uc  g[        U5      n[        X5      n	[        X05      n
[	        XS9R                  U5      R                  5       n[	        XS9R                  U5      R                  5       nX-  n[	        XS9n[        [        UR                  5       5      5      (       a  gUS:w  a"  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  S
U SU 3Ul        SU SU 3Ul        S=Ul        Ul        UR                  XR                  U0n[        XR                  S9nS
U SU 3Ul        UR                  Ul        U$ )an  Relative Vigor Index

This indicator attempts to quantify the strength of a trend relative to
its trading range.

Sources:
    * [investopedia](https://www.investopedia.com/terms/r/relative_vigor_index.asp)

Parameters:
    open_ (Series): ```open``` Series
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    close (Series): ```close``` Series
    length (int): The period. Default: ```14```
    swma_length (int): SWMA period. Default: ```4```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column
         N)r   r   fillnaT)inplaceRVGI__RVGIs_momentum)index)r   r   r
   r	   r   rollingsumallr   to_numpyshiftr   namecategoryr   r    )r   r   r   r   r   r   r   r   _lengthhigh_low_rangeclose_open_range	numeratordenominatorrvgisignaldatadfs                    R/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/momentum/rvgi.pyr-   r-   
   s   : 62&FQ/K"Q&GU$ED"D
3
 CU$E}u}fF $D.N%e3%:	 ~:	  "D$+F
5"#$$ {zz&!f% 6F8$d3fX&5 xq.DI6(!K=1FK&00DMFOIIt[[&1D	4{{	+BfXQ{m,BG--BKI    )NNN)numpyr   pandasr   r   pandas_ta._typingr   r   pandas_ta.overlapr   pandas_ta.utilsr	   r
   r   r   r-    r2   r1   <module>r9      s|     $ + " M M ,0MMM&,M5;MM%(M M #+M 	Mr2   