
    Q-j                         d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZmZmZmZmZmZmZ  ed      d        Z	 	 	 dd
ededededededefdZy	)    )njit)Series)DictLikeIntIntFloat)Imports)nb_idiffnb_shiftv_offsetv_pos_defaultv_scalarv_seriesv_talibT)cachec                 :    |t        | |      z  t        | |      z  S )N)r	   r
   )xnks      d/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/momentum/roc.pynb_rocr      s    x1~A..    Ncloselengthscalartaliboffsetkwargsreturnc                    t        |d      }t        | |dz         } | yt        |d      }t        |      }t	        |      }t
        d   r|rddlm}  || |      }n4| j                         }	t        |	||      }
t        |
| j                        }|dk7  r|j                  |      }d	|v r|j                  |d	   d
       d| |_        d|_        |S )a{  Rate of Change

    This indicator, also (confusingly) known as Momentum, is a pure
    oscillator that quantifies the percent change.

    Sources:
        * [tradingview](https://www.tradingview.com/wiki/Rate_of_Change_(ROC))

    Parameters:
        close (Series): ```close``` Series
        length (int): The period. Default: ```10```
        scalar (float): Scalar. Default: ```100```
        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
    
      Nd   r   r   )ROC)indexfillnaT)inplaceROC_momentum)r   r   r   r   r   r   r   r#   to_numpyr   r   r$   shiftr%   namecategory)r   r   r   r   r   r   mode_talr#   rocnp_close_rocs              r   r.   r.      s    6 62&FUFQJ'E}fc"Fu~HfF wH%  >>#h/T- {ii 6

6(#T
2 fXCHCLJr   )NNNN)numbar   pandasr   pandas_ta._typingr   r   r   pandas_ta.mapsr   pandas_ta.utilsr	   r
   r   r   r   r   r   r   boolr.    r   r   <module>r8      s      5 5 "   D/ /
 "&+/<<<<$(< < #+< 	<r   