
    i                         S SK Jr  S SKJrJrJrJr  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\4S jjrg)    )
float_info)arctannanpi
zeros_like)version)Series)DictLikeInt)Imports)strided_windowv_offsetv_pos_defaultv_seriesv_talibzeroNcloselengthtaliboffsetkwargsreturnc                 x  ^^^^^^^^^^^ [        TS5      m[        U T5      n U c  g[        U5      n[        U5      nUR	                  SS5      mUR	                  SS5      mUR	                  SS5      mUR	                  SS5      mUR	                  SS5      mUR	                  S	S5      mU R                  5       n[        S
   (       a`  U(       aY  T(       dR  SSKJnJ	nJ
n	Jn
Jn  T(       a  U" U TS9nOT(       a  U
" U TS9nOT(       a  U	" U TS9nOT(       a  U" U TS9nOU" U TS9nO[        U5      n[        STS-   5      mST-  TS-   -  mTST-  S-   -  S-  mTT-  TT-  -
  mUUUUUUUUUUU4S jn[        S:  a&  SSKJn  U" UT5       Vs/ s H  nU" U5      PM     nnO"[%        UT5       Vs/ s H  nU" U5      PM     nn['        [(        /TS-
  -  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l        T(       a  U=R0                  S-  sl        T(       a  U=R0                  S-  sl        T(       a  U=R0                  S-  sl        T(       a  U=R0                  S-  sl        U=R0                  ST 3-  sl        SUl        U$ s  snf s  snf )ae  Linear Regression Moving Average

This indicator is a simplified version of Standard Linear Regression. It is
one variable rolling regression whereas a Standard Linear Regression is
between two or more variables.

Sources:
    * [TA Lib](https://ta-lib.org)

Parameters:
    close (Series): ```close``` Series
    length (int): The period. Default: ```10```
    talib (bool): If installed, use TA Lib. Default: ```True```
    offset (int): Post shift. Default: ```0```

Other Parameters:
    angle (bool): Returns the slope angle in radians.
        Default: ```False```
    degrees (bool): Return the slope angle in degrees.
        Default: ```False```
    intercept (bool): Return the intercept. Default: ```False```
    r (bool): Return the 'r' correlation. Default: ```False```
    slope (bool): Return the slope. Default: ```False```
    tsf (bool): Return the Time Series Forecast value.
        Default: ```False```
    fillna (value): ```pd.DataFrame.fillna(value)```

Returns:
    (Series): 1 column

Warning:
    TA-Lib Correlation: ```np.float64(0.9985638477660118)```

Tip:
    Corrective contributions welcome!
   NangleF	interceptdegreesrslopetsfr   r   )	LINEARREGLINEARREG_ANGLELINEARREG_INTERCEPTLINEARREG_SLOPETSF)
timeperiod         ?      c                   > U R                  5       nTU -  R                  5       nTU-  TU-  -
  T-  nT(       a  U$ UT-  TU-  -
  T-  nT(       a  U$ T	(       a   [        U5      nT
(       a  US[        -  -  nU$ T(       aP  X -  R                  5       nTU-  TU-  -
  nTTU-  X-  -
  -  S-  n[        U5      S:X  a  [        R
                  nXx-  $ T(       d  UT-  U-   $ UTS-
  -  U-   $ )N   r(   r   r'   )sumr   r   r   sfltepsilon)seriesy_sumxy_summbthetay2_sumrnrdr   r   divisorr   r   r   r   r    xx2_sumx_sums            S/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/overlap/linreg.pylinear_regression!linreg.<locals>.linear_regressiond   s    JJLE&j%%'F&55=0G;A%&.0G;Aq	S2X%E /..0f_uu}4&5=!@AcI8q=Bw),1v:>F!vz2BQ2FF    z1.20.0)sliding_window_view)indexfillnaT)inplaceLINREGr3   r4   a_overlap)r   r   r   r   popto_numpyr   r   r!   r"   r#   r$   r%   r   range
np_versionnumpy.lib.stride_tricksrA   r   r	   r   rB   shiftrC   namecategory)r   r   r   r   r   mode_talnp_closer!   r"   r#   r$   r%   linreglinreg_r>   rA   rG   r   r   r9   r   r   r   r    r:   r;   r<   s    `               @@@@@@@@@@r=   rS   rS      s   R 62&FUF#E}u~HfFJJw&E

;.IjjE*G

3AJJw&E
**UE
"C ~~HwHQ__62F$Uv>F(6BF$Uv>Fu8FX&!VaZ f
+!f*q.)A-6/EEM1	G 	G6 !C.Af/&/&!!$ /&  G /=f/&/&!!$ /&  
 !,w6ekkJ {f% 6fX&5 FKssss
KKQvh<KFOMGs   J24J7)NNN)sysr   r.   numpyr   r   r   r   numpy.versionr   rL   pandasr	   pandas_ta._typingr
   r   pandas_ta.mapsr   pandas_ta.utilsr   r   r   r   r   r   boolrS    r@   r=   <module>r^      sj    " - - /  + "  6:QQQ.2QQ"*Q Qr@   