
    .iZ                     z   d dl Zd dlZd dlmZmZmZmZ d dlm	Z
 d Zd Zd Zd Zd Zd Zej"                  j%                  d	 ej&                  d
      j)                  d      j)                  d       eddd
       eddd
      j+                  d      g      ej"                  j%                  dd dg      d               Zd Zd Zd Zej"                  j%                  dg d      d        Zd Zd Zd Zd Zd Zej"                  j%                  dg d       d!        Z ej"                  j%                  d"g d#d$gg d%d&gg      d'        Z!d( Z"d) Z#d* Z$ej"                  j%                  d+ejJ                  d,d-gd&d$ejJ                  d.d,gfejJ                  d,d-gd&d&ejJ                  d.d,gfejJ                  d,d-gd$d$ejJ                  d.d/gfejJ                  d,d-gd$d&ejJ                  d.d/gfd,ejJ                  d-gd&d$d0ejJ                  d,gfd,ejJ                  d-gd&d&d.ejJ                  d,gfd,ejJ                  d-gd$d$d0ejJ                  d/gfd,ejJ                  d-gd$d&d.ejJ                  d/gfejJ                  d,ejJ                  ejJ                  d-ejJ                  gd&d$ejJ                  d1ejJ                  ejJ                  d,ejJ                  gfejJ                  d,ejJ                  ejJ                  d-ejJ                  gd&d&ejJ                  d.ejJ                  ejJ                  d,ejJ                  gfejJ                  d,ejJ                  ejJ                  d-ejJ                  gd$d$ejJ                  d1ejJ                  ejJ                  d/ejJ                  gfejJ                  d,ejJ                  ejJ                  d-ejJ                  gd$d&ejJ                  d.ejJ                  ejJ                  d/ejJ                  gfd,ejJ                  d-d2gd&d$d1ejJ                  d.d,gfd,ejJ                  d-d2gd&d&d0ejJ                  d.d,gfd,ejJ                  d-d2gd$d$d1ejJ                  d3d4gfd,ejJ                  d-d2gd$d&d0ejJ                  d3d/gfg      d5        Z&d6 Z'd7 Z(ej"                  j%                  dg d8      d9        Z)ej"                  j%                  dd d:g      ej"                  j%                  d;g d<      d=               Z*ej"                  j%                  d;d>d?g      d@        Z+ej"                  j%                  dg dA      ej"                  j%                  d;d>d?g      dB               Z,ej"                  j%                  d;d>d?g      dC        Z-ej"                  j%                  d;g dD      dE        Z.ej"                  j%                  d;g dD      dF        Z/dG Z0dH Z1dI Z2ej"                  j%                  dJd>d?g      dK        Z3dL Z4ej"                  j%                  dMd?d>g      ej"                  j%                  dNd&d$g      dO               Z5ej"                  j%                  dPe6e7g      dQ        Z8ej"                  j%                  dMd?d>g      ej"                  j%                  dNd&d$g      ej"                  j%                  dPe6e7g      dR                      Z9y)S    N)	DataFrameDatetimeIndexSeries
date_rangec                      t        ddddt        j                  dgi      } |  | j                  d      j	                          y )NBr                  ?com)r   npnanewmmeandfs    Z/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/window/test_ewm.pytest_doc_stringr      s9    	C!Q2661-.	/BFFsFO    c                     | t        d            j                  } |d        |d        |d        |d        |dd 	        |dd 
        |dd        d}t        j                  t        |      5   |dd       d d d        t        j                  t        |      5   |dd       d d d        t        j                  t        |      5   |dd       d d d        d}t        j                  t        |      5   |d       d d d        d}t        j                  t        |      5   |d       d d d        d}t        j                  t        |      5   |d       d d d        d}dD ]/  }t        j                  t        |      5   ||       d d d        1 y # 1 sw Y   *xY w# 1 sw Y   	xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ~xY w# 1 sw Y   xY w)N   r   r         ?spanalphag      ?halflifer   r   )r   r   r    r   8comass, span, halflife, and alpha are mutually exclusivematchr   r   r   r    )r   r    comass must satisfy: comass >= 0      span must satisfy: span >= 1#halflife must satisfy: halflife > 0r   "alpha must satisfy: 0 < alpha <= 1)r)   r   )ranger   pytestraises
ValueError)frame_or_seriescmsgr   s       r   test_constructorr4      s   a!%%A #J3KCLt#DCTt4  EC	z	- 	c	z	- #	sT"#	z	- 	# -C	z	- 	d )C	z	- 	s 0C	z	- 	1 /C ]]:S1 	EN	 	1 # # 
 
 
 	 	sT   ;F.)F;G
G6
G %
G,
G8.F8;GGG G),G58H	c                      d} t        j                  t        |       5  t        t	        d            j                  t        j                  d             d d d        y # 1 sw Y   y xY w)Nztimes must be datetime64 dtype.r$   r   times)r.   r/   r0   r   r-   r   r   aranger3   s    r   !test_ewma_times_not_datetime_typer:   >   sL    
,C	z	- 1uQx299Q<01 1 1s   8AA(c                      d} t        j                  t        |       5  t        t	        d            j                  t        j                  d      j                  d             d d d        y # 1 sw Y   y xY w)Nz,times must be the same length as the object.r$   r   r   datetime64[ns]r6   	r.   r/   r0   r   r-   r   r   r8   astyper9   s    r   test_ewma_times_not_same_lengthr?   D   s\    
8C	z	- JuQx299Q<#6#67G#HIJ J Js   AA..A7c                      d} t        j                  t        |       5  t        t	        d            j                  dt        j                  d      j                  d             d d d        y # 1 sw Y   y xY w)Nz/halflife must be a timedelta convertible objectr$   r   r	   r<   r    r7   r=   r9   s    r   #test_ewma_halflife_not_correct_typerB   J   s^    
;C	z	- VuQxaryy|/B/BCS/TUV V Vs   AA//A8c                     d}t        j                  t        |      5  t        t	        d            j                  |        d d d        y # 1 sw Y   y xY w)NzKhalflife can only be a timedelta convertible argument if times is not None.r$   r   r   )r.   r/   r0   r   r-   r   )halflife_with_timesr3   s     r    test_ewma_halflife_without_timesrE   P   sE    
WC	z	- ;uQx&9:; ; ;s   %AAr7   
   zdatetime64[D]r<   2000DfreqperiodsUTCmin_periodsr
   c                 *   | }t        j                  d      }t         j                  |d d d<   t        d|i      }|j	                  |||      j                         }|j	                  d|      j                         }t        j                  ||       y )N      $@r
   Ar    rM   r7         ?)r    rM   )r   r8   r   r   r   r   tmassert_frame_equal)rD   r7   rM   r    datar   resultexpecteds           r   "test_ewma_with_times_equal_spacingrX   V   s}     #H99T?DD1I	C;	BVVX;eVLQQSFvvsv<AACH&(+r   c                 L   | }d}t        g d      j                  |      j                  |      }t        j                  d      }t        |      }|j                  |||      j                         }|rt        g d      }	nt        g d      }	t        j                  ||	       y )Nz23 days)z
2020-01-01z2020-01-10T00:04:05z2020-02-23T05:00:23   )r    r7   adjust)        gE(?g*M?)r\   g1j?g?)
r   tz_localizeas_unitr   r8   r   r   r   rS   rT   )
tz_aware_fixtureunitr[   tzr    r7   rU   r   rV   rW   s
             r   %test_ewma_with_times_variable_spacingrb   i   s    	BHRS	R	 

 99Q<D	4BVVXU6VBGGIFIJJK&(+r   c                     t        t        d            }t        dg      }t        j                  t
        d      5  |j                  d| |       d d d        y # 1 sw Y   y xY w)Nr	   NaTz$Cannot convert NaT values to integerr$   皙?)r   r    r7   )r   r-   r   r.   r/   r0   r   )rD   serr7   s      r   test_ewm_with_nat_raisesrg   |   sW    
q
C5'"E	z)O	P DC"5UCD D Ds   AA#c                 P   | }t        j                  d      }t         j                  |d d d<   t        ddd      }t	        ||d      }|j                  ||      d	   j                         }|j                  d
      d	   j                         }t        j                  ||       y )NrO   r
   rG   rH   rF   rI   rP   r   rA   rP   rR   r   )	r   r8   r   r   r   r   r   rS   assert_series_equal)rD   r    rU   r7   r   rV   rW   s          r   test_ewm_with_times_getitemrk      s    "H99T?DD1IvC4E	D)	*BVVXUV3C8==?Fvvsv#C(--/H68,r   arg)r   r    r   r   c                 0   | dd|d|i} t        t        d      t        d      d      j                  di |}|j                  D ci c]  }|t	        ||       }}|d   }|j                  D ci c]  }|t	        ||       }}||k(  sJ y c c}w c c}w )Nr	   r[   	ignore_nari   rP    )r   r-   r   _attributesgetattr)	rl   r[   rn   kwargsr   attrrW   	ewm_slicerV   s	            r   $test_ewm_getitem_attributes_retainedru      s     1hY?F
7)%(q2
3
7
7
A&
AC58__ETgc4((EHECI3<3H3HI4dGC&&IFIX FIs   B0Bc            
          t        j                  t        d      5  t        t	        d            j                  ddt        ddd      d	
       d d d        y # 1 sw Y   y xY w)NRNone of com, span, or alpha can be specified if times is provided and adjust=Falser$   r	   re   FrG   rH   rI   1D)r[   r7   r    r.   r/   NotImplementedErrorr   r-   r   r   ro   r   r   0test_ewma_times_adjust_false_with_disallowed_comr{      s^    	4
 
 	uQxV#q9	 	 	

 
 
s   4AA"c            
          t        j                  t        d      5  t        t	        d            j                  ddt        ddd      d	d
       d d d        y # 1 sw Y   y xY w)Nrw   r$   r	   re   FrG   rH   rI   r   rx   )r[   r7   r   r    ry   ro   r   r   2test_ewma_times_adjust_false_with_disallowed_alphar}      sa    	4
 
 	uQxV#q9 	 	

 
 
   5AA#c            
          t        j                  t        d      5  t        t	        d            j                  ddt        ddd      d	d
       d d d        y # 1 sw Y   y xY w)Nrw   r$   r	   re   FrG   rH   rI   rF   rx   )r[   r7   r   r    ry   ro   r   r   1test_ewma_times_adjust_false_with_disallowed_spanr      sa    	4
 
 	uQxV#q9 	 	

 
 
r~   c                      t        t        j                  d      t        ddd      d      } t	        j
                  t        d      5  | j                  d	d
d       d d d        y # 1 sw Y   y xY w)NrO   rG   rH   rF   rI   )rP   time_colztimes must be datetime64r$   1 dayr   r   rQ   )r   r   r8   r   r.   r/   r0   r   r   s    r   test_times_string_col_raisesr      sb    	iio:f3PR+ST
B 
z)C	D B
QjAB B Bs   	A''A0c                      t        t        d            j                  dd      } t        j                  t
        d      5  | j                          d d d        y # 1 sw Y   y xY w)Nr	   Fr   r[   z
sum is notr$   )r   r-   r   r.   r/   rz   sum)rU   s    r   (test_ewm_sum_adjust_false_notimplementedr      sM    %(Ae4D	*,	? 
  s   AA$method)r   stdvarcovcorrc                     d}t        ddd      } | t        d            j                  ||      }t        j                  t
        | d      5   t        ||              d d d        y # 1 sw Y   y xY w)	Nr   rG   rH   rF   rI   rA   z is not implemented with timesr$   )r   r-   r   r.   r/   rz   rq   )r1   r   r    r7   r   s        r    test_times_only_mean_implementedr      st     HvC4E
%)
$
(
((%
(
HC	fX-K#L
  	V  s   A,,A5zexpected_data, ignore)rO         @g      @g     &@F)rO   r   r   g      )@Tc                     t        ddt        j                  dg      }|j                  d|      j	                         }t        |       }t        j                  ||       y )NrF   r   r   )r   rn   )r   r   r   r   r   rS   rj   )expected_dataignorerU   rV   rW   s        r   test_ewm_sumr      sP     2q"&&"%&DXXC6X2668Fm$H68,r   c                      t        t        j                  d            } d| d<   | j                  dd      j	                         j                         }t        j                  |dz
        dk  sJ y )Ni  r	   r   d   F)r   r[   g{Gz?)r   r   zerosr   r   r   abs)valsrV   s     r   test_ewma_adjustr      s\    "((4.!DDGXX3uX-22488:F66&1*$$$r   c                     t        g d      }| rt        g d      }nt        g d      }|j                  d| |      j                         }t        j                  ||       y )N)rR          @g      @g       @)rR   g?gʍ"k@gY;@)rR   gRTU?gS@g	@r   r   r[   rn   )r   r   r   rS   rj   )r[   rn   srW   rV   s        r   test_ewma_casesr      sU     	#$A89=>UUs6YU?DDFF68,r   c            	      
   t        dgt        j                  gdz  z   dgz         } | j                  d      j	                         }t        j                  |t        dgt        |       z               t        t        j                  gdz  dgz   t        j                  gdz  z   dgz         } | j                  d      j	                         }t        j                  |t        t        j                  gdz  dgdz  z                y )NrR   r   r   r
   r   )r   r   r   r   r   rS   rj   len)r   rV   s     r   test_ewma_nan_handlingr     s    ux!|#se+,AUUqU\ F663%#a&.#9:x!|se#rvvhl2cU:;AUUqU\ F66266(Q,#*B#CDr   zs, adjust, ignore_na, wrR   g     @Y@gVUUUUU?gUUUUUU?gqq?gj/?g      I@gqq?g|	%?c                    t        |       } | j                  |      j                         t        |      j                         z  j                         }| j	                  d||      j                         }t        j                  ||       |du r8| j	                  d|      j                         }t        j                  ||       y y )Nr   r   Fr   )r   multiplycumsumffillr   r   rS   rj   )r   r[   rn   wrW   rV   s         r   test_ewma_nan_handling_casesr     s    T 	q	A

1$$&)9)9);;BBDHUUs6YU?DDFF68,E3v.335
vx0 r   c                  L   t         j                  j                  d      j                  d      } t        j                  dd      }t         j
                  | |<   t        |       }|j                  d      j                         }|j                  d      j                         }|j                  d	
      j                         }|j                  d      j                         }t        j                  ||       t        j                  ||       t        j                  ||       y )Nr
   r      (   gVR?r   gƷC?r   g_!@r   gXlWY?r   )r   randomdefault_rngstandard_normalr8   r   r   r   r   rS   rj   )arrlocsr   abr2   ds          r   test_ewm_alphar     s    
))


"
2
23
7C99RDCIsA	'(--/A	%&++-A	$%**,A	~&++-A1a 1a 1a r   c                     t         j                  j                  d      j                  d      } t        j                  dd      }t         j
                  | |<   t        |       }d}t        j                  t        |      5  |j                  d       d d d        |j                  d	       |j                  d
       d}t        j                  t        |      5  |j                  d       d d d        t        j                  t        |      5  |j                  d	       d d d        t        j                  t        |      5  |j                  d       d d d        |j                  d       |j                  d       d}t        j                  t        |      5  |j                  d       d d d        t        j                  t        |      5  |j                  d	       d d d        |j                  d
       d}t        j                  t        |      5  |j                  d       d d d        t        j                  t        |      5  |j                  d	       d d d        |j                  d
       |j                  d       t        j                  t        |      5  |j                  d       d d d        y # 1 sw Y   ?xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   OxY w# 1 sw Y   &xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr
   r   r   r   r(   r$   gr   r\   re   r*   r   g?rR   g?r+   r   r,   r   )r   r   r   r   r8   r   r   r.   r/   r0   r   )r   r   r   r3   s       r   test_ewm_domain_checksr     st   
))


"
2
23
7C99RDCIsA
,C	z	- 	$EEcENEEcEN
(C	z	- 	4	z	- 	3	z	- 	3EEsEOEEsEO
/C	z	- 	t	z	- 	sEE3E
.C	z	- 	D	z	- 	CEEEEEE	z	- 	C ;      
   sl    KKK*K7$LL$LL*4L6KK'*K47LLLL'*L36L?)r   r   r   c                     t        g t        j                        }|j                  d      } t	        ||              }t        j                  ||       y )NdtyperZ   )r   r   float64r   rq   rS   assert_almost_equal)r   r   r   rV   s       r   test_ew_empty_seriesr     s@    "BJJ'D
((1+C!WS&!#F64(r   r	   name)r   r   r   c                 P   t         j                  j                  d      j                  d      }t         j                  |d d t         j                  |dd  t        |      } t        |j                  dd      |             }|d d j                         j                         sJ |dd  j                         j                         rJ  t        |j                  d|       |             }|dk(  rF|d d j                         j                         sJ |dd  j                         j                         rHJ |d d j                         j                         sJ |dd  j                         j                         rJ  t        t        t              j                  d|       |             }t        j                  |t        d	              t        t        d
g      j                  d|       |             }|dk(  r!t        j                  |t        d
g             n.t        j                  |t        t         j                  g              t        t        t        j                  d            j                  d      |             }|j                  t         j                   k(  sJ y )Nr
   2   rF   r   rM      r   r   r   rR   )rM   r   )r   r   r   r   r   r   rq   r   isnaallanyobjectrS   rj   r8   r   r   )rM   r   r   r   rV   result2s         r   test_ew_min_periodsr     s?    ))


"
2
22
6CvvCHCIsA 9WQUUrqU148:F#2;!!###bc{!%%'''BWQUUr{U;TBDFv~cr{!%%'''"#;##%))+++ cr{!%%'''"#;##%))+++ VWV&)--"+-NPTUWF66	#:; KWVSE]&&r{&CTJLFv~
vvse}5 	vvrvvh'78 @gfRYYr]+//R/8$?AG==BJJ&&&r   r   r   c                 ^   t        t        j                  j                  d      j	                  d      t        d            }|dd  t        j                  j                  d      j	                  d      z   }t        j                  |d d t        j                  |j                  dd   t        |j                  dd	      |       |      }t        j                  |j                  d d
       j                         sJ t        j                  |j                  d
d        j                         rJ y )Nr
   r   index0   rF   r   r   r   r      )r   r   r   r   r   r-   r   ilocrq   r   isnanvaluesr   r   )r   rP   r   rV   s       r   test_ewm_corr_covr     s    ryy$$Q'77;59MA	!"		%%a(88<<AVVAcrF66AFF34L8WQUUrqU148;F88FMM#2&'++---xxbc*+//1111r   )r   r	   r
   c                    t        t        j                  j                  d      j	                  d      t        d            }|dd  t        j                  j                  d      j	                  d      z   }t        j                  |d d t        j                  |j                  dd   t        |j                  d|      |       |      }t        j                  |j                  d d	       j                         sJ t        j                  |j                  d	d        j                         rJ t        g t        j                  
      } t        |j                  d|      |       |      }t        j                   ||        t        t        dg      j                  d|      |       t        dg            }t        j                   |t        t        j                  g             y )Nr
   r   r   r   rF   r   r   r   r   r   rR   )r   r   r   r   r   r-   r   r   rq   r   r   r   r   r   r   rS   rj   )r   rM   rP   r   rV   emptys         r   test_ewm_corr_cov_min_periodsr   &  s|    	ryy$$Q'77;59MA	!"		%%a(88<<AVVAcrF66AFF34LBWQUUr{U;TB1EF 88FMM#2&'++---xxbc*+//111 2RZZ(EFWUYY2;Y?FuMF65) OWVSE]&&2;&GNuF 66266(#34r   c                    t        t        j                  j                  d      j	                  d      t        d            }t        j                  |d d d}t        j                  t        |      5   t        |j                  dd	      |       t        j                  j                  d      j	                  d             d d d        y # 1 sw Y   y xY w)
Nr
   r   r   rF   z#other must be a DataFrame or Seriesr$   r   r   r   )r   r   r   r   r   r-   r   r.   r/   r0   rq   r   )r   rP   r3   s      r   *test_different_input_array_raise_exceptionr   B  s    ryy$$Q'77;59MAVVAcrF
/C	z	- 
3"!,d3II!!!$44R8	

 
 
s   3ACC)r   r   r   c                 j     t        | j                  d      |             }t        |t              sJ y NrF   r   )rq   r   
isinstancer   )seriesr   series_results      r   test_ewma_seriesr   O  s.    5GFJJ2J.57MmV,,,r   c                 j     t        | j                  d      |             }t        |t              sJ y r   )rq   r   r   r   )framer   frame_results      r   test_ewma_framer   U  s.    375999,d35LlI...r   c                    | j                  d      j                         }| j                  d      j                         }t        j                  ||       d}t	        j
                  t        |      5  | j                  dd       d d d        d}t	        j
                  t        |      5  | j                         j                          d d d        y # 1 sw Y   NxY w# 1 sw Y   y xY w)	N      #@r   r   r   r#   r$   r!   1Must pass one of comass, span, halflife, or alphar   r   rS   r   r.   r/   r0   r   rP   r   r3   s       r   test_ewma_span_com_argsr   [  s    

s
  "A


  "A1a 
DC	z	- %

s
$% >C	z	- 

 	% % s   4C-C!C!C*c                    | j                  d      j                         }| j                  d      j                         }t        j                  ||       d}t	        j
                  t        |      5  | j                  dd	       d d d        t	        j
                  t        |      5  | j                  d
d       d d d        t	        j
                  t        |      5  | j                  d
dd       d d d        d}t	        j
                  t        |      5  | j                          d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   XxY w# 1 sw Y   y xY w)NgH+@r   rO   r   r#   r$   r   r   r'   r   )r   r    )r   r   r    r   r   r   s       r   test_ewma_halflife_argr   h  s   

)
*//1A

D
!&&(A1a 
DC	z	- )

R
()	z	- )

sR
()	z	- 2

sb
12
=C	z	- 

 ) )) )2 2 s0   4D6+E"EE6D?EEE#c                 "   | }d}t        j                  t        |      5  |j                          d d d        d}t        j                  t        |      5  |j                  dd       d d d        t        j                  t        |      5  |j                  dd       d d d        t        j                  t        |      5  |j                  dd       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   YxY w# 1 sw Y   y xY w)	Nr   r$   r#   rO   r   r&   )r   r   r"   )r.   r/   r0   r   )r   r   r3   s      r   test_ewm_alpha_argr   x  s    A
=C	z	- 	 EC	z	- #	$c"#	z	- $	4s#$	z	- (	t3'( ( # #$ $( (s/   C!C-C9D!C*-C69DDfuncc                 B    t        |j                  dd      |              }|j                  t        d       dfdf   }|j                  j                  d      |_         t        |d   j                  dd      |       |d         }t        j                  ||d       y )NrF   r   r   rM   r	   F)check_names)rq   r   locslicer   	droplevelrS   rj   )r   r   rV   rW   s       r   test_ewm_pairwise_cov_corrr     s    =WUYYBAY6=?FZZta(!+,F<<))!,FLBwuQx|||;TB58LH68?r   c                    | }t        dgddd      }|d   j                  t              |d<   |j                  dd      }t	        ||d       }|| ||      }|rdd	gng d}||   j                  |g      j                  d
      j                  t              }t        |j                        |k(  sJ t        j                  ||       y y )Nr	   r
   rZ   r   r   r2   r2   r   numeric_onlyr   r   Tdrop)r   r>   r   r   rq   aggreset_indexfloatlistcolumnsrS   rT   )	arithmetic_win_operatorsr   kernelr   r   oprV   r   rW   s	            r   test_numeric_only_framer    s    %F	!11-	.BgnnV$BsG
&&aQ&
'C	fd	#B	~. ,3*/g;??F8,88d8CJJ5QH$$%000
fh/ r   r   use_argc                    t        g dddd      }|d   j                  t              |d<   |r|fnd}|j                  dd      }t	        ||       } ||d	|i}|rd
dgng d}||   j                  t
              }	|r|	fnd}
|	j                  dd      }t	        ||       } ||
d	|i}t        j                  ||       y )Nr	   r
   rZ   r
   rZ   r   r2   ro   r	   r   r   r   r   )r   r>   r   r   rq   r   rS   rT   )r   r   r  r   rl   r   r   rV   r   df2arg2ewm2op2rW   s                 r    test_numeric_only_corr_cov_framer	    s     
3	4BgnnV$BsG2%C
&&aQ&
'C	f	B0<0F )sCjoG
W+

U
#CC6"D77q7)D
$
CD4|4H&(+r   r   c                    | }t        dg|      }|j                  dd      }t        ||d       }|t        j                  d       |r<|t
        u r4d| d}t        j                  t        |      5   ||	       d d d        y  ||	      }|j                  |g      j                  d
      j                  t              }	t        j                  ||	       y # 1 sw Y   y xY w)Nr	   r   r
   r   zNo op to testExponentialMovingWindow.  does not implement numeric_onlyr$   r   Tr   )r   r   rq   r.   skipr   r/   rz   r   r   r>   r   rS   rj   )
r   r   r   r   rf   r   r   r3   rV   rW   s
             r   test_numeric_only_seriesr    s     &F
!E
"C
''qa'
(C	fd	#B	zO$(0PQ]].c: 	*L)	* 	* .77F8$00d0;BB5I
vx0	* 	*s   3
CC$c                    t        g d|      }|r|fnd}|j                  dd      }t        ||       }|r;|t        u r3d|  d}t	        j
                  t        |	      5   ||d
|i d d d        y  ||d
|i}	|j                  t              }
|r|
fnd}|
j                  dd      }t        ||       } ||d
|i}t        j                  |	|       y # 1 sw Y   y xY w)Nr  r   ro   r
   r	   r   r  r  r$   r   )r   r   rq   r   r.   r/   rz   r>   r   rS   rj   )r   r  r   r   rf   rl   r   r   r3   rV   ser2r  r  r  rW   s                  r   !test_numeric_only_corr_cov_seriesr    s    
 %
(C3&C
''qa'
(C	f	B(0PQ]].c: 	0/,/	0 	0 S4|4zz% !wrxxQAx.dF#8<8
vx0	0 	0s   !	CC):numpyr   r.   pandasr   r   r   r   pandas._testing_testingrS   r   r4   r:   r?   rB   rE   markparametrizer8   r>   r]   rX   rb   rg   rk   ru   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  intr   r  r  ro   r   r   <module>r     s      (V1JV; 		"_-445EF6R06R0<<UC A/, 0,,&D	-  DE F
"
$
$B #GH I u%(>'EF-	-%-E  VVS% VV/#6		
 VVS% VV/#6		
 VVS% VV/3DF		
 VVS% VV/3DF		
 "&&% -rvvs;		
 "&&% '"&&#6		
 "&&% -rvv8IK		
 "&&% '"&&3DF		
 VVS"&&"&&%8VV5rvvrvvsBFFS		
 VVS"&&"&&%8VV/"&&"&&#rvvN		
 VVS"&&"&&%80"		
 VVS"&&"&&%8*"		
 "&&%&0*		
	
 "&&%&0*		
	
 "&&%&0AK			
 "&&%&0A"		
	
sDGP
1QGP
1! &R #9:) ;) A/!78&' 9 0&'R %1	2 2	2 	2%15 2 354 %1	
 2	
 !78- 9-
 !78/ 9/

 (  %1@ 2@0" FE?3T5M2, 3 4,( 3-01 11& FE?3T5M23-01 1 3 41r   