
    .ih                        d dl Zd dlZd dlmZmZmZmZmZm	Z	m
Z
 d dlmZ d Zd Zej                   j#                  ddd ej$                  dg      g      d	        Zej                   j#                  d
d ej(                  dej                   j+                  d            g      d        Zd Zd Zd Zd Zd Zej                   j#                  dg dg dddgdgdd gfddgddgdd dgfg dg ddg dfgdfg dg dddgdgdd gfddgddgdd dgfg dg ddg dfgdfg dg dddgdgdd gfddgddgdd dgfg dg ddg dfgdfdgdgdg dfdi g fgdfdej8                  dgej8                  ddgddgej8                  gdd gfdej8                  gej8                  dgdd dgfdej8                  dgej8                  ddgdg dfgdfdej8                  dgej8                  ddgddgej8                  gdd gfdej8                  gej8                  dgdd dgfdej8                  dgej8                  ddgdg dfgdfdej8                  dgej8                  ddgddgej8                  gdd gfdej8                  gej8                  dgdd dgfdej8                  dgej8                  ddgdg dfgdfg      d         Zej                   j#                  d! eg d      dgd gfddgd dgfg dg dfgdf eg d      dgd gfddgd dgfg dg dfgdf eg d      dgd gfddgd dgfg dg dfgdf eddg      dgd gfddgd dgfgdf eej8                  dg      ej8                  gd gfej8                  dgd dgfgdf eg d"#      g dfg      d$        Zd% Zd& Z ej                   j#                  d'd(d)g      d*        Z!ej                   j#                  d+g d,      ej                   j#                  d'g d-      ej                   j#                  d.d/d0g      ej                   j#                  d1g d2      d3                             Z"ej                   j#                  d+g d,      ej                   j#                  d1g d4      d5               Z#d6 Z$d7 Z%d8 Z&d9 Z'd: Z(d; Z)ej                   j#                  d<d=d> fd?d@ fdAdB fdCdD fgg dEF      dG        Z*ej                   j#                  d<d=ejV                  fd?ejX                  fdAejZ                  fdCej\                  fgg dEF      dH        Z/dI Z0dJ Z1ej                   j#                  dKdL dM g      dN        Z2ej                   j#                  dKdO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ g      d`        Z3da Z4db Z5dc Z6dd Z7de Z8df Z9ej                   j#                  dgg dhdi e:dj       e:dj      ddddddddg
fdej8                  dkej8                  dlej8                  dmej8                  dnej8                  g
di e:dj       e:dj       e:dj       e:dj      ddddddg
fg dhdo e:dj       e:dj      dkdpdldqdmdrdndsg
fdej8                  dkej8                  dlej8                  dmej8                  dnej8                  g
do e:dj       e:dj       e:dj       e:dj      dldldmdmdndng
fg      dt        Z;ej                   j#                  dgg dhdidgduz  fdej8                  dkej8                  dlej8                  dmej8                  dnej8                  g
didgduz  fg dhdog dhfdej8                  dkej8                  dlej8                  dmej8                  dnej8                  g
dog dvfg      dw        Z<dx Z=dy Z>ej                   j#                  dzd{d|g      ej                   j#                  d}d/d0g      d~               Z?ej                   j#                  de@eAg      d        ZBej                   j#                  dzd{d|g      ej                   j#                  d}d/d0g      ej                   j#                  de@eAg      d                      ZCy)    N)	DataFrameDatetimeIndexIndex
MultiIndexSeriesisnanotnac                      t        ddddt        j                  dgi      } |  | j                  d      j	                          y )NBr            )r   npnan	expandingsumdfs    `/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/window/test_expanding.pytest_doc_stringr      s7    	C!Q2661-.	/BLLO    c                 L     | t        d            j                  } |d       y )N   r   min_periods)ranger   )frame_or_seriescs     r   test_constructorr      s"     	a!++A !r   w       @foor   c                      | t        d            j                  }d}t        j                  t        |      5   ||       d d d        y # 1 sw Y   y xY w)Nr   zmin_periods must be an integermatchr   )r   r   pytestraises
ValueError)r   r    r   msgs       r   test_constructor_invalidr*      sH     	a!++A
*C	z	- 	a  s   
AAexpanderr   lsz,GH#16425 expanding with offset not supported)reason)marksc                 L   t               }t               j                  |       j                         }t        j                  ||       t        t        g             }t        t        g             j                  |       j                         }t        j                  ||       y )Nindex)r   r   r   tmassert_frame_equalr   )r+   expectedresults      r   test_empty_df_expandingr6   )   sz      {H[""8,002F&(+ }R01H]2./99(CGGIF&(+r   c                  \   t        t        j                  g      } | j                  d      j	                         }t        dg      }t        j                  ||       | j                  d      j	                         }t        t        j                  g      }t        j                  ||       y )Nr   r   g        r   )r   r   r   r   r   r2   assert_series_equal)xr5   r4   s      r   test_missing_minp_zeror:   D   s     	xA[[Q['++-Fse}H68, [[Q['++-FrvvhH68,r   c                  v   t        t        j                  d            } t        t        d      D ci c];  }|t        j                  gdz  t        dd      D cg c]  }t        |       c}z   = c}}      }| j                  d      j                         }t        j                  ||       y c c}w c c}}w )N)
      r=   r         )
r   r   onesr   r   floatr   r   r2   r3   )r   ijr4   r5   s        r   test_expandingrD   R   s    	2778$	%BEJ2YORVVHqLeArl;E!H;;	;OH \\!_  "F&(+ <Os   'B5
B0+B5
0B5
c                      | t        d            j                  d      j                         } | t        j                  t        j                  dddg      }t        j                  ||       y )Nr   r>   r         @      @      @r   r   countr   r   r2   assert_equalr   r5   r4   s      r   %test_expanding_count_with_min_periodsrM   ]   sR    U1X&00Q0?EEGFS#>?HOOFH%r   c                     dddt         j                  dddg}g d} | |      j                         j                         } | |      }t	        j
                  ||       y )Nr   r   r>   r   r      )      ?r!   rF   rF   rG   rH         @)r   r   r   rJ   r2   rK   )r   valuesexpected_countsr5   r4   s        r   9test_expanding_count_default_min_periods_with_null_valuesrT   d   sS    Arvvq!Q'F9OV$..0668F/HOOFH%r   c                 4    | t        d            j                  d      j                         } | t        j                  t        j                  t        j                  t        j                  t        j                  g      }t        j                  ||       y )Nr   rO   r   rI   rL   s      r   =test_expanding_count_with_min_periods_exceeding_series_lengthrV   n   s^    U1X&00Q0?EEGFGHHOOFH%r   zdf,expected,min_periodsr   r   r>   )r   r   rO   )Ar   r   r   r   r   r   r>   rO   rP   c                     t        |       } |D cg c]  \  }}t        ||       }}}t        || j                  |      d      D ]  \  }}t        j                  ||        y c c}}w )Nr0   Fstrict)r   zipr   r2   r3   )r   r4   r   rR   r1   	expectedsactuals          r   test_iter_expanding_dataframer`   u   sh    ~ 
2BGOPOVU6/PIP	2<<+DUS 0&
fh/0 Qs   A'zser,expected,min_periodsint64dtypec                     |D cg c]  \  }}t        ||       }}}t        || j                  |      d      D ]  \  }}t        j                  ||        y c c}}w )Nr0   Tr[   )r   r]   r   r2   r8   )serr4   r   rR   r1   r^   r_   s          r   test_iter_expanding_seriesrf      s`     EMM&%e,MIM	3==+EdS 1&
vx01 Ns   Ac                      t               } t        j                  t        d      5  | j	                  d       d d d        y # 1 sw Y   y xY w)Nz.* got an unexpected keywordr$   T)center)r   r&   r'   	TypeErrorr   r   s    r   test_center_invalidrj      s;    	B	y(F	G "
D!" " "s   AAc                     | g d      }|j                         j                         }t        |t              rt	        |d   j
                        }t	        t        j                  ddg      }t        j                  ||       y )NrY   r         ?g3Ey?)
r   sem
isinstancer   r   rR   r   r   r2   r8   )r   objr5   r4   s       r   test_expanding_semrp      sc    
)
$C]]_  "F&)$q	(()rvvsN34H68,r   methodskewkurtc                 (   t        t        j                  j                  d      j                  d            } t	        |j                  d      |              }|dz   } t	        |j                  d      |              }t        j                  ||       y )Nr   r<   r>   i  )r   r   randomdefault_rnggetattrr   r2   r8   )rq   sr4   r5   s       r   ,test_expanding_skew_kurt_numerical_stabilityry      ss     	ryy$$Q'..r23A.wq{{1~v.0H	DA,WQ[[^V,.F68,r   window)r   r>   r<   r=   )minmaxaveragepctTF	test_data)default
duplicatesnansc           
         d}|dk(  r9t        t        j                  j                  d      j                  |            }n|dk(  r:t        t        j                  j                  d      j	                  d|            }no|dk(  rjt        t        j                  j                  d      j	                  dd	d
t        j
                  t        j                  t        j                   g|            }j                  |       j                  fd      }|j                  |       j                        }t        j                  ||       y )Nr=   r   r   datar   r>   r   rP         ?      ?c                 F    | j                        j                  d   S )Nrq   r~   	ascending)rankiloc)r9   r   rq   r~   s    r   <lambda>ztest_rank.<locals>.<lambda>   s!    !&&C9&EJJ2N r   r   )r   r   ru   rv   choicer   infr   applyr   r2   r8   )	rz   rq   r~   r   r   lengthre   r4   r5   s	    ```     r   	test_rankr      s   
 FI"))//299&AB	l	""))//299!VDE	f	&&q)00dD"&&"&&266':F
 }}V$**NH ]]6"''v3)'TF68,r   )r   r   r   	precisionc           
         d}|dk(  r9t        t        j                  j                  d      j                  |            }n|dk(  r:t        t        j                  j                  d      j	                  d|            }n|dk(  rkt        t        j                  j                  d      j	                  dd	d
t        j
                  t        j                  t        j                   g|            }n"|dk(  rt        g dt        j                        }j                  |       j                  d       }|j                  |       j                         }t        j                  ||       y )Nr=   r   r   r   r   r>   r   rP   r   r   r   )
g333333?g433333?g333333?g433333?g?g?rl   rl   皙?r   )r   rc   c                 "    | j                         S N)nuniquer9   s    r   r   ztest_nunique.<locals>.<lambda>!  s    QYY[ r   )r   r   ru   rv   r   r   r   float64r   r   r   r2   r8   )rz   r   r   re   r4   r5   s         r   test_nuniquer     s    FI"))//299&AB	l	""))//299!VDE	f	&&q)00dD"&&"&&266':F

 
k	! **
  }}V$**+@AH]]6"**,F68,r   c                 ^   | j                         }|t        j                  j                  d      j	                  t        |            z   d d }|j                         j                  |      }|j                  t        |      d      j                  |      }t        j                  ||       y Nr   r   rz   r   )dropnar   ru   rv   standard_normallenr   corrrollingr2   assert_almost_equalseriesrX   r   r5   rolling_results        r   test_expanding_corrr   '  s    A	
RYY""1%55c!f=	=sCA[[]"FYYc!f!Y<AA!DN>62r   c                     | j                  d      j                         }t        j                  || j	                  t        |       d      j                                y )Nr   r   r   )r   rJ   r2   r   r   r   )r   r5   s     r   test_expanding_countr   2  sK    !,224Fc&kqAGGIr   c                     | j                         j                  d      }| j                  t        |       d      j                  d      }t	        j
                  ||       y )Nrl   r   r   )r   quantiler   r   r2   r   )r   r5   r   s      r   test_expanding_quantiler   9  sM    ((-F^^3v;A^FOOPSTN6>2r   c                 B   | }|t         j                  j                  d      j                  t	        |            z   d d }|j                         j                  |      }|j                  t	        |      d      j                  |      }t        j                  ||       y r   )
r   ru   rv   r   r   r   covr   r2   r   r   s        r   test_expanding_covr   A  s}    A	
RYY""1%55c!f=	=sCA[[]q!FYYc!f!Y<@@CN>62r   c                     | j                         j                         }| j                  t        |       d      j                         }t	        j
                  ||       y Nr   r   )r   r   r   r   r2   r3   framer5   r   s      r   test_expanding_cov_pairwiser   L  sF    __""$F]]#e*!]DHHJN&.1r   c                     | j                         j                         }| j                  t        |       d      j                         }t	        j
                  ||       y r   )r   r   r   r   r2   r3   r   s      r   test_expanding_corr_pairwiser   T  sF    __##%F]]#e*!]DIIKN&.1r   zfunc,static_compr   c                 0    t        j                  | d      S Nr   axis)r   r   r   s    r   r   r   ^      "&&+ r   meanc                 0    t        j                  | d      S r   r   r   r   s    r   r   r   _  s    27711- r   r|   c                 0    t        j                  | d      S r   )r   r|   r   s    r   r   r   `  r   r   r{   c                 0    t        j                  | d      S r   )r   r{   r   s    r   r   r   a  r   r   )r   r   r|   r{   )idsc           	          |t        j                  t        t        d            t         j                  gdz  z               }|j                  d      } t        ||              }t        ||      sJ  ||d d       }|t        u rt        j                  |d   |       y t        j                  |j                  d   |d       y )Nr<   r   r   r?   Fcheck_names)r   arraylistr   r   r   rw   rn   r   r2   r   r8   r   )funcstatic_compr   r   ro   r5   r4   s          r   test_expanding_funcr   [  s     288DrOrvvhm$CDED
..Q.
'CWS$!Ffo...49%H& 
vbz84
v{{2eLr   c                 6   t        t        j                  j                  d      j	                  d            } t        |j                  d      |              }|d d j                         j                         sJ t        j                  |j                  d    ||d d               t        |j                  d      |              }t        |j                  d         sJ t        |j                  d	         sJ t        t        j                  j                  d      j	                  d
            } t        |j                  d      |              }t        |d         sJ t        |d         sJ  t        |j                  d      |              } t        |j                  d      |              }t        j                  ||        t        |j                  d      |              }t        j                  |j                  d    ||d d              y )Nr   2      r      r            r=   r   r>   r   r   r   )r   r   ru   rv   r   rw   r   r   allr2   r   r   r	   )r   r   re   r5   ser2result0result1s          r   test_expanding_min_periodsr   s  s    &&q)99"=
>C9WS]]r]2D9;F#2;!!###6;;r?KCR,AB :WS]]r]2D9;FB   R!!!"))''*::2>?D9WT^^^2D9;Fq	?? :gcmmm2D9;G9gcmmm2D9;G7G,8WS]]q]148:F6;;r?KCR,ABr   c           	         | \  }} |t        j                  t        t        d            t         j                  gdz  z               }|j                  d      j                  d ||      }t        ||      sJ |t        u r2t        j                  |d   t        j                  |d d d	             y t        j                  |j                  d   t        j                  |d d d	      d
       y )Nr<   r   r   c                 "    | j                         S r   r   r   s    r   r   z&test_expanding_apply.<locals>.<lambda>      !&&( r   rawengine	   r?   r   r   Fr   )r   r   r   r   r   r   r   rn   r   r2   r   r   r8   r   )engine_and_rawr   r   r   r   r5   s         r   test_expanding_applyr     s     KFC288DrOrvvhm$CDED^^^*00F 1 F fo...& 
vay"''$s)!*DE
KKNBGGD"IA6E	
r   c                    | \  }}t        t        j                  j                  d      j	                  d            }|j                  d      j                  d ||      }|d d j                         j                         sJ t        j                  |j                  d   t        j                  |d d              |j                  d	      j                  d
 ||      }t        |j                  d         sJ t        |j                  d         sJ t        t        j                  j                  d      j	                  d            }|j                  d      j                  d ||      }t        |d         sJ t        |d         sJ |j                  d      j                  d ||      }|j                  d      j                  d ||      }t        j                  ||       |j                  d      j                  d ||      }t        j                  |j                  d   t        j                  |d d              y )Nr   r   r   r   c                 "    | j                         S r   r   r   s    r   r   z2test_expanding_min_periods_apply.<locals>.<lambda>  r   r   r   r   r   r   c                 "    | j                         S r   r   r   s    r   r   z2test_expanding_min_periods_apply.<locals>.<lambda>  r   r   r   r   r=   r   c                 "    | j                         S r   r   r   s    r   r   z2test_expanding_min_periods_apply.<locals>.<lambda>  r   r   r>   r   r   c                 "    | j                         S r   r   r   s    r   r   z2test_expanding_min_periods_apply.<locals>.<lambda>  r   r   r   c                 "    | j                         S r   r   r   s    r   r   z2test_expanding_min_periods_apply.<locals>.<lambda>  r   r   c                 "    | j                         S r   r   r   s    r   r   z2test_expanding_min_periods_apply.<locals>.<lambda>  r   r   )r   r   ru   rv   r   r   r   r   r   r2   r   r   r   r	   )r   r   r   re   r5   r   r   r   s           r    test_expanding_min_periods_applyr     s    KFC
&&q)99"=
>C]]r]*00F 1 F #2;!!###6;;r?BGGCH,=> ]]r]*00F 1 F B   R!!!"))''*::2>?D^^^*00F 1 F q	?? mmm*00F 1 G mmm*00F 1 G 7G,]]q])//F 0 F 6;;r?BGGCH,=>r   fc                 H    | j                  d      j                  | d      S Nr   r   Tpairwiser   r   r   s    r   r   r     s!    1;;1;-11!d1C r   c                 H    | j                  d      j                  | d      S r   r   r   r   s    r   r   r     s!    1;;1;-221t2D r   c                    t               }t        t        dgd      t        g d            }|d   j                  d      |d<   t        t        j                  |j
                  |j                  g            }t        t        j                  |j
                  |j                  gddg      t        dgd      d	      } | |      }t        j                  ||        | |      }t        j                  ||       y )
Nar"   namebarcolumnsr1   r   r0   )names)r1   r   rc   )	r   r   astyper   from_productr1   r   r2   r3   )r   df1df2df1_expecteddf2_expected
df1_result
df2_results          r   *test_moment_functions_zero_length_pairwiser    s     +C
E3%e4E"5<Q
RC3xy)CH:#:#:CIIs{{;S#TUL%%syy#++&>uenUse%(L 3J*l33J*l3r   c                 >    | j                         j                         S r   )r   rJ   r   s    r   r   r     s    !++-%%' r   c                 H    | j                  d      j                  | d      S Nr   r   Fr   r   r   s    r   r   r     s!    !++!+,00U0C r   c                 H    | j                  d      j                  | d      S r  r   r   s    r   r   r     s!    !++!+,11!e1D r   c                 B    | j                  d      j                         S Nr   r   )r   r|   r   s    r   r   r         !++!+,002 r   c                 B    | j                  d      j                         S r	  )r   r{   r   s    r   r   r     r
  r   c                 B    | j                  d      j                         S r	  )r   firstr   s    r   r   r     s    !++!+,224 r   c                 B    | j                  d      j                         S r	  )r   lastr   s    r   r   r         !++!+,113 r   c                 B    | j                  d      j                         S r	  )r   r   r   s    r   r   r     r
  r   c                 B    | j                  d      j                         S r	  )r   r   r   s    r   r   r     r  r   c                 B    | j                  d      j                         S r	  )r   stdr   s    r   r   r     r
  r   c                 B    | j                  d      j                         S r	  )r   varr   s    r   r   r     r
  r   c                 B    | j                  d      j                         S r	  )r   rr   r   s    r   r   r     r  r   c                 B    | j                  d      j                         S r	  )r   rs   r   s    r   r   r     r  r   c                 D    | j                  d      j                  d      S )Nr   r   rl   )r   r   r   s    r   r   r     s    !++!+,55c: r   c                 B    | j                  d      j                         S r	  )r   medianr   s    r   r   r     s    !++!+,335 r   c                 P    | j                  d      j                  t        d      S )Nr   r   Fr   r   r   r   r   s    r   r   r     s!    !++!+,223E2B r   c                 P    | j                  d      j                  t        d      S )Nr   r   Tr  r  r   s    r   r   r     s!    !++!+,223D2A r   c                 T   t        t        j                        }|}t               }|}t        dg      }|d   j	                  d      |d<   |} | |      }t        j                  ||        | |      }t        j                  ||        | |      }	t        j                  |	|       y )Nrb   r   r   r   )r   r   r   r   r   r2   r8   r3   )
r   rx   
s_expectedr   r   r   r   s_resultr  r  s
             r   !test_moment_functions_zero_lengthr$    s    0 	RZZ AJ
+CL
SE
"C3xy)CHLtH8Z03J*l33J*l3r   c                     | \  }}t        g t        j                        }t        j                  ||j                         j                  d ||             y )Nrb   c                 "    | j                         S r   r   r   s    r   r   z3test_expanding_apply_empty_series.<locals>.<lambda>  s    QVVX r   r   )r   r   r   r2   r8   r   r   )r   r   r   re   s       r   !test_expanding_apply_empty_seriesr'    sG     KFC
2::
&CS]]_""#53v"Nr   c                     | \  }}t        g d      }|j                  d      j                  d ||      }t        g d      }t        j                  ||       y )N)NNNr   r   c                     t        |       S r   )r   r   s    r   r   z4test_expanding_apply_min_periods_0.<locals>.<lambda>  s
    A r   r   )rP   r!   rF   )r   r   r   r2   r8   )r   r   r   rx   r5   r4   s         r   "test_expanding_apply_min_periods_0r*    sT     KFC!"A[[Q['--.>CPV-WFo&H68,r   c                  h   t        g dt        d            } t        ddgt        ddd            }| j                         j                  |      }t        g d      }t	        j
                  ||       t        g d	g d
      }| j                         j                  |      }t	        j
                  ||       t        g dg d      } t        g dg d      }| j                         j                  |      }t        g dt        t        d                  }t	        j
                  ||       y )NrW   r>   r0   r   r   r   r   )NNr!   r   Nr>   rY         r<   r   r   r>   r.  r   r<   r   r   r>   )NNNg      @)r   r   r   r   r2   r8   r   s1s2r5   r4   s2as        r   test_expanding_cov_diff_indexr7    s    		q	*B	AeAq!n	-B\\^#F'(H68,
Y
/C\\^$F68,	
)	,B	
)	,B\\^#F-T%(^DH68,r   c                  h   t        g dt        d            } t        ddgt        ddd            }| j                         j                  |      }t        g d      }t	        j
                  ||       t        g d	g d
      }| j                         j                  |      }t	        j
                  ||       t        g dg d      } t        g dg d      }| j                         j                  |      }t        g dt        t        d                  }t	        j
                  ||       y )NrW   r>   r0   r   r   r   r   )NNrP   r,  rY   r-  r0  r1  r2  )NNNrP   )r   r   r   r   r2   r8   r   r3  s        r   test_expanding_corr_diff_indexr9  1  s    		q	*B	AeAq!n	-B\\^  $F'(H68,
Y
/C\\^  %F68,	
)	,B	
)	,B\\^  $F-T%(^DH68,r   c                     t        ddgddgddggt        ddgd	      
      } t        ddgddggddgt        ddgd	            }t        ddgd d gddggt        ddgd	      
      }t        ddgddggddgt        ddgd	            }| j                         j                  |d      j                  d   }| j                         j                  |d      j                  d   }|j                         j                  |d      j                  d   }|j                         j                  |d      j                  d   }t        ddgddggt        ddgd	      t        ddgd	            }t        j                  ||       t        j                  ||       t        j                  ||       t        j                  ||       y )Nr   r   r>   r   r   rX   r   r"   r   r!  r   r1   r   rO   XYTr   g      g      g      g      $r   )r   r   r   r   locr2   r3   	r   df1ar   df2ar   result2result3result4r4   s	            r   'test_expanding_cov_pairwise_diff_lengthrE  D  s   
aVaVaV,eS#JU6S
TC
Q!QAsCju0MD 
Q$1v&sCju0MC 
Q!QAsCju0MD
 mmo!!#!599!<Gmmo!!$!6::1=Gnn""3"6::1=Gnn""4$"7;;A>G
e}%sCju-S#JU+H
 '8,'8,'8,'8,r   c            	         t        ddgddgddggddgt        t        d      d      	      } t        ddgddggt        d
dgd      ddg      }t        ddgd d gddggddgt        t        d      d      	      }t        ddgddggt        d
dgd      ddg      }| j                         j	                  |d      j
                  d   }| j                         j	                  |d      j
                  d   }|j                         j	                  |d      j
                  d   }|j                         j	                  |d      j
                  d   }t        ddgddggddgt        ddg      	      }t        j                  ||       t        j                  ||       t        j                  ||       t        j                  ||       y )Nr   r   r>   r   rX   r   r   r   r   r   r;  r   rO   r<  r=  Tr   g      )r   r   r   r   r   r>  r2   r3   r?  s	            r   (test_expanding_corr_pairwise_diff_lengthrG  a  s   

Q!Q!Q 3*E%(QV<WC 
Q!Qq!f5 9C:D 
Q$1v&c
E!H5)C
 
Q!Qq!f5 9C:D mmo""3"6::1=Gmmo""4$"7;;A>Gnn##C$#7;;A>Gnn##D4#8<<Q?G
d|$sCjsCj@QH '8,'8,'8,'8,r   zvalues,method,expected)
rP   r!   rF   rG   rH   rQ         @       @      "@      $@r  r   rF   rH   rH  rJ  r  rG   rQ   rI  rK  c                 <   t        |       } t        |j                  d      |             }t        |      }t        j                  ||       t        d| i      } t        |j                  d      |             }t        d|i      }t        j                  ||       y )Nr>   rX   r   rw   r   r2   r   r   rR   rq   r4   r9   r5   s        r   test_expanding_first_lastrO  ~  s    b 	vA,WQ[[^V,.FhH68,3- A,WQ[[^V,.F#x)H68,r   r<   )
rP   rP   rF   rF   rH   rH   rH  rH  rJ  rJ  c                 @   t        |       } t        |j                  d      |             }t        |      }t        j                  ||       t        d| i      } t        |j                  d      |             }t        d|i      }t        j                  ||       y )Nr   r   rX   rM  rN  s        r   !test_expanding_first_last_no_minprQ    s    6 	vA8WQ[[Q[/8:FhH68,3- A8WQ[[Q[/8:F#x)H68,r   c                    d }| \  }}t        t        j                  j                  d      j                  d            }|j	                         j                  t        j                  ||      dz   }|j	                         j                  |||d      }t        j                  ||       |j	                         j                  ||dd	i
      }t        j                  ||       y )Nc                 2    t        j                  |       |z   S r   r   )r9   consts     r   
mean_w_argz4test_expanding_apply_args_kwargs.<locals>.mean_w_arg  s    wwqzE!!r   r   )r=   r>   )r   r   g      4@)r=   )r   r   argsrT  r=   )r   kwargs)	r   r   ru   rv   r   r   r   r2   r3   )r   rU  r   r   r   r4   r5   s          r    test_expanding_apply_args_kwargsrX    s    " !KFC	299((+227;	<B||~##BGGF#DtKH\\^!!*V5!QF&(+\\^!!*#wm!LF&(+r   c                    | }t        dgddd      }|d   j                  t              |d<   |j                         }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   r>   r   br   r   numeric_onlyr   r[  Tdrop)r   r   objectr   rw   aggreset_indexrA   r   r   r2   r3   )	arithmetic_win_operatorsr]  kernelr   r   opr5   r   r4   s	            r   test_numeric_only_framerf    s    %F	!11-	.BgnnV$BsGI	FD	)B	~. ,3*/g;??F8,88d8CJJ5QH$$%000
fh/ r   rd  r   r   use_argc                 x   t        g dddd      }|d   j                  t              |d<   |r|fnd}|j                         }t	        ||       } ||d|i}|rdd	gng d}||   j                  t
              }	|r|	fnd}
|	j                         }t	        ||       } ||
d|i}t        j                  ||       y )
NrW   r   r>   rZ  r    r]  r   r[  )r   r   r`  r   rw   rA   r2   r3   )rd  r]  rg  r   argr   re  r5   r   r   arg2
expanding2op2r4   s                 r    test_numeric_only_corr_cov_framern    s     
3	4BgnnV$BsG2%CI	F	#B0<0F )sCjoG
W+

U
#CC6"DJ
*f
%CD4|4H&(+r   rc   c                    | }t        dg|      }|j                         }t        ||      }|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   rb   
Expanding.  does not implement numeric_onlyr$   r\  Tr^  )r   r   rw   r`  r&   r'   NotImplementedErrorra  rb  r   rA   r2   r8   )
rc  r]  rc   rd  re   r   re  r)   r5   r4   s
             r   test_numeric_only_seriesrs    s     &F
!E
"CI	F	#B6("BC]].c: 	*L)	* 	* .77F8$00d0;BB5I
vx0	* 	*s   
C  C	c                    t        g d|      }|r|fnd}|j                         }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                         }t        ||       } ||d|i}t        j                  |	|       y # 1 sw Y   y xY w)NrW   rb   ri  rp  rq  r$   r]  )r   r   rw   r`  r&   r'   rr  r   rA   r2   r8   )rd  rg  r]  rc   re   rj  r   re  r)   r5   r   rk  rl  rm  r4   s                  r   !test_numeric_only_corr_cov_seriesru  )  s    
 %
(C3&CI	F	#B6("BC]].c: 	0/,/	0 	0 S4|4zz% !wr^^%
j&)8<8
vx0	0 	0s   	CC)Dnumpyr   r&   pandasr   r   r   r   r   r   r	   pandas._testing_testingr2   r   r   markparametrizer   r*   paramxfailr6   r:   rD   rM   rT   rV   r   r`   rf   rj   rp   ry   r   r   r   r   r   r   r   r   r   r   r   r|   r{   r   r   r   r  r$  r'  r*  r7  r9  rE  rG  rA   rO  rQ  rX  rf  rn  intr`  rs  ru  ri  r   r   <module>r     s^
        sE8288QC=9: ; 	++##E $ 	
,,-,&&&  ),s!%s+1vQF+aV4 y19=
 	
 ),s!%s+1vQF+aV4 y19=
 	
 ),s!%s+1vQF+aV4 y19=
 	
 s!	r1%	Rz1bffa.1~6uBFF8,qc2266{"&&!51v>2661~RVVQN;YG
 	
 bffa.1~6uBFF8,qc2266{"&&!51v>2661~RVVQN;YG
 	
 bffa.1~6uBFF8,qc2266{"&&!51v>2661~RVVQN;YG
 	
a9<z0{<z0 			qcA3Z1a&1a&)9Iy;QRTUV			qcA3Z1a&1a&)9Iy;QRTUV			qcA3Z1a&1a&)9Iy;QRTUV	AA3*1v1v&67;		1#"&&!q!f0EFJ	'	"B*
1
1"- FF#34- 5- >2#<=u.&GH- I / > 3-* >2&TU - V 3 -F33322 	+,	-.	+,	+,	 	&  	M	M RVV_vrww'%5"&&/J%  
C
C4
 $?N DE44& 'CD2243232233:5BA#,4-,4(--&-&-:-:  @5\5<c3S#sCP	
 "&&#rvvsBFFCbffMeeee	
" @5\5<c3S#sDQ	
 "&&#rvvsBFFCbffMeeee	
7+.^
-_.^
-  @EBJ	
 "&&#rvvsBFFCbffMEBJ	
 @?	
 "&&#rvvsBFFCbffM>	
!2
-32
-,"0" FE?3T5M2, 3 4,( 3-01 11  FE?3T5M23-01 1 3 41r   