
    i
                         S SK Jr  S SK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JrJr     SS\S\S	\S
\S\S\S\S\S\4S jjrg)    )nan)Series)DictLikeInt)ma)non_zero_rangev_driftv_mamodev_offsetv_pos_defaultv_seriesNcloselengthfastslowmamodedriftoffsetkwargsreturnc                 <   [        US5      n[        US5      n[        US5      n[        U [        X#U5      5      n U c  g[        US5      n[	        U5      n[        U5      nS[        S[        4S jnU" U5      n	U" U5      n
[        X R                  U5      5      R                  5       n[        X R                  U5      5      R                  5       nUR                  U5      R                  5       nX-  nXU
-
  -  U
-   nX-  nU R                  n[        X@R                  SU 4SU0UD6R                  S	   n[!        S
US-
  5       Vs/ s H	  n["        PM     snU/-   n[!        UU5       HM  nUR%                  UR&                  U   U R&                  U   -  SUR&                  U   -
  UUS-
     -  -   5        MO     [)        UU R*                  S9nUS
:w  a  UR                  U5      nSU;   a  UR-                  US   SS9  SU SU SU 3Ul        SUl        U$ s  snf )a\  Kaufman's Adaptive Moving Average

This indicator, by Perry Kaufman, attempts to find the overall trend by
adapting to volatility.

Sources:
    * [stockcharts](https://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:kaufman_s_adaptive_moving_average)
    * [tradingview](https://www.tradingview.com/script/wZGOIz9r-REPOST-Indicators-3-Different-Adaptive-Moving-Averages/)

Parameters:
    close (Series): ```close``` Series
    length (int): The period. Default: ```10```
    fast (int): Fast MA period. Default: ```2```
    slow (int): Slow MA period. Default: ```30```
    mamode (str): See ```help(ta.ma)```. Default: ```"sma"```
    drift (int): Difference amount. Default: ```1```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column

         Nsmar   r   c                     SU S-   -  $ )Nr       )r   s    Q/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/overlap/kama.pyweightkama.<locals>.weight<   s    FQJ    r   r   )indexfillnaT)inplaceKAMA__overlap)r   r   maxr
   r	   r   intfloatr   shiftabsrollingsumsizer   ilocranger   appendiatr   r$   r%   namecategory)r   r   r   r   r   r   r   r   r    frsrabs_diff	peer_diffpeer_diff_sumerxscmma0r(   resultikamas                          r   rD   rD      s   < 62&Fq!Dr"DUCF34E}fe$FENEfF s  u   
B	Be[[%89==?Hukk%&89==?I%%f-113M		!B
2gA	
B

A
VZZ(
B
B6
B
G
G
KC FQJ/0/ac/0C58F61bffQi%))A,.266!9}q1u-. 	/  &,D {zz&! 6F8$d3 xqav.DIDMK' 1s   H)NNNNNN)numpyr   pandasr   pandas_ta._typingr   r   pandas_ta.mar   pandas_ta.utilsr   r	   r
   r   r   r   strrD   r   r"   r   <module>rK      s      +   FJ%)MMM-0M?BMM"M M #+M 	Mr"   