
    Q-j                     n    d dl mZ d dlmZ d dlmZmZ d dlmZm	Z	m
Z
 defdZ	 	 dded	ed
ededef
dZy)    )fabs)Series)DictLikeInt)v_offsetv_pos_defaultv_seriesseriesc                 V    t        | | j                         z
        j                         S )zMean Absolute Deviation)r   mean)r
   s    f/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/statistics/mad.py_madr   	   s!    &',,..    Ncloselengthoffsetkwargsreturnc                 l   t        |d      }d|v r|d   t        |d         }n|}t        | t        ||            } | yt	        |      }| j                  ||      j                  t        d      }|dk7  r|j                  |      }d|v r|j                  |d   d	       d
| |_
        d|_        |S )ay  Rolling Mean Absolute Deviation

    Calculates a rolling Mean Absolute Deviation (MAD).

    Parameters:
        close (Series): ```close``` Series
        length (int): The period. Default: ```30```
        offset (int): Post shift. Default: ```0```

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

    Returns:
        (Series): 1 column
       min_periodsN)r   T)rawr   fillna)inplaceMAD_
statistics)r   intr	   maxr   rollingapplyr   shiftr   namecategory)r   r   r   r   r   mads         r   r$   r$      s    ( 62&F6-#8#D&/0UC45E}fF --K-
8
>
>t
>
NC {ii 6

6(#T
2 fXCHCLJr   )NN)numpyr   pandasr   pandas_ta._typingr   r   pandas_ta.utilsr   r   r	   r   r$    r   r   <module>r*      sW      + = =/ / "&////"*/ /r   