
    iV	                         S SK JrJr  S SKJrJr  S SKJrJr  S SK	J
r
JrJr  SSKJr    SS\S	\S
\S\S\S\S\S\4S jjrg)    )	DataFrameSeries)DictLikeInt)hlc3sma)v_offsetv_pos_defaultv_series   )atrNhighlowcloselength
atr_lengthoffsetkwargsreturnc                    [        US5      n[        US5      n[        XC5      S-   n[        X5      n [        X5      n[        X'5      nU b  Ub  Uc  g[        U5      n[	        XX$S9n[        XUS9n	[        X5      n
X-   nX-
  nUS:w  aD  U
R                  U5      n
UR                  U5      nUR                  U5      nUR                  U5      nSU;   aL  U
R                  US   S	S
9  UR                  US   S	S
9  UR                  US   S	S
9  UR                  US   S	S
9  SU SU 3nSU 3U
l	        SU 3Ul	        SU 3Ul	        SU 3Ul	        S=U
l
        Ul
        U
R                  =Ul
        Ul
        U
R                  XR                  XR                  XR                  U0n[        XR                  S9nSU 3Ul	        U
R                  Ul
        U$ )a  Aberration

Similar to Keltner Channels.

Sources:
    * [Request #46](https://github.com/twopirllc/pandas-ta/issues/46)

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    close (Series): ```close``` Series
    length (int): The period. Default: ```5```
    atr_length (int): ATR period. Default: ```15```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (DataFrame): 4 columns
      r   N)r   r   r   r   )r   r   r   r   fillnaT)inplace_ABER_ZGABER_SGABER_XGABER_ATR
volatility)indexABER)r
   maxr   r	   r   r   r   shiftr   namecategoryr   r!   )r   r   r   r   r   r   r   _lengthatr_jgzgsgxg_propsdatadfs                   Z/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/volatility/aberration.py
aberrationr1   
   s   6 61%Fz2.J*%)GD"D
3
 CU$E|s{emfF DBD	4	.B	RB	B	B {XXfXXfXXfzz&! 6
		&"D	1
		&"D	1
		&"D	1F8$d3 *&Fx BGx BGx BG6(#DI ,,BK"+"$++-BK$-GGR"ggr99dCD	4{{	+BVHoBG++BKI    )NNN)pandasr   r   pandas_ta._typingr   r   pandas_ta.overlapr   r   pandas_ta.utilsr	   r
   r   r   r1    r2   r0   <module>r8      ss    $ + ' = =  +/K
KK&,KK$'K K #+K 	Kr2   