
     j                        d dl Zd dlZd dlmZ d dlmZ d Zd Z	 ej
        ddg          d             Zej                            d	d
 ej        ej        g          d             Zej                            dd dg          d             Zej                            dd dg          d             Zej                            dd dg          d             Zej                            dd dg          d             Zd Zd Zd ZdS )    N)Seriesc                 r    |                                                                                                  S N)notnaallxs    C:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pandas/tests/window/moments/test_moments_consistency_rolling.pyno_nansr      s$    7799==??       c                 r    |                                                                                                  S r   )isnullr   r   s    r
   all_nar      s&    88::>>!!!r   )   r   )   r   )paramsc                     | j         S )zwindow, min_periods)param)requests    r
   rolling_consistency_casesr      s     =r   fc                 D    t          |                                           S r   )r   sum)vs    r
   <lambda>r      s     r   c                    |\  }}|t           j        u r^t          |          sOt          |          r|j        s|dk    s3|                     t          j                            d                     |	                    |||                                          }|	                    |||          
                    |d          }t          j        ||           d S )Nr   z'np.sum has different behavior with NaNs)reasonwindowmin_periodscenterT)funcraw)npr   r   r   emptyapplymarkerpytestmarkxfailrollingapplytmassert_equal)	r   all_datar   r!   r   r   r    rolling_f_resultrolling_apply_f_results	            r
   "test_rolling_apply_consistency_sumr1      s    4FKBF{ x   	8	%-^	8Ca	 !!)R!SS    '';v (  	cee  &--;v .  ee  O$&<=====r   ddofr   c                    |\  }}|                      |||                              |          }|dk                                                                     rJ |dk    rt|                      |||                                          }| | z                       |||                                          }t	          j        ||||z  z
             d S d S Nr   r2   r   )r*   varanymeanr,   r-   )	r.   r   r!   r2   r   r    var_xmean_xmean_x2s	            r
   test_moments_consistency_varr<   ,   s    3FKFFSSWW X  E 	  $$&&&&&qy 
<!!{6 " 
 

$&& 	  WFFWKKTVV 	
 	w&6/:;;;;;
< 
<r   c                    |\  }}|                      |||                                          }|                      |||                              |          }|dk                                                                    rJ | t          j        z  }d||t          |d          k    <   |dk    rt          j        ||dk     <   t          j        ||           d S )Nr   r5   r           r      )	r*   countr6   r7   r$   nanmaxr,   r-   )	consistent_datar   r!   r2   r   r    count_xr9   expecteds	            r
   %test_moments_consistency_var_constantrF   B   s     4FK%%;v &  egg  ##;v $  	ctcnn 

 	  $$&&&&&'H/2HWK+++,qy ' "1OE8$$$$$r   c                 |   |\  }}|                      |||                              |          }|dk                                                                     rJ |                      |||                              |          }|dk                                                                     rJ t	          j        |||z             |                      |||                              | |          }|dk                                                                     rJ t	          j        ||           d S r4   )r*   r6   r7   stdr,   r-   cov)	r.   r   r!   r2   r   r    r9   std_xcov_x_xs	            r
   $test_rolling_consistency_var_std_covrL   X   sU    4FKFFSSWW X  E 	  $$&&&&&FFSSWW X  E 	  $$&&&&& OE55=)));v   	c(c  !  ""&&((((( OE7#####r   c                 8   |\  }}| | z                        |||                              |          }|                      |||                              |          }|                      |||                              |          }|                      |||                              | |          }	t          j        |	d||z
  |z
  z             |                      |||                              |           }
|                      |||                              |          }|                      |||                              |          }t          j        |
|	||z  z             |dk    r|                      |||                                          }|                      |||                                          }| | z                       |||                                          }t          j        |	|||z  z
             d S d S )Nr   r5   g      ?r   )r*   r6   rI   r,   r-   corrrH   r8   )series_datar   r!   r2   r   r    var_x_plus_yr9   var_ycov_x_ycorr_x_yrJ   std_yr:   mean_ymean_x_times_ys                   r
   (test_rolling_consistency_series_cov_corrrW   t   sx    4FK 
{	"	K	G	G	$ 
 ;v    	ctcnn 
 ;v    	ctcnn 
 !!;v "  	c+Dc!! 
 OGSL5$85$@ABBB "";v #  
d;  ;v    	ctcnn 
 ;v    	ctcnn 
 OHg7888qy E $${6 % 
 

$&& 	 $${6 % 
 

$&& 	 ;&WFFWKKTVV 	
 	6F?!CDDDDDE Er   c                 ~   |\  }}|                      |||                                          }|                      |||                                                              |                      |||                                                    }t          j        ||                    d                     d S )Nr   float64)r*   r8   r   divider@   r,   r-   astype)r.   r   r!   r   r    resultrE   s          r
   test_rolling_consistency_meanr]      s    3FK;v   
dff  	KOO		;v   egg

 

  OFHOOI6677777r   c                 n   |\  }}|                      |||                                          }|                      |||                                          }|                      |||                              |           }t	          | t
                    r|                                 n%|                                                                 }| t          j        z  }	||	|t          |d          k    <   t          j
        ||	           t          j        |	d d <   t          j
        ||	           d S )Nr   r   )r*   r@   r8   rN   
isinstancer   rB   r$   rA   r,   r-   )
rC   r   r!   r   r    rD   r:   corr_x_xexprE   s
             r
   !test_rolling_consistency_constantrb      sD    4FK%%;v &  egg  $$;v %  
dff  &&;v '  
d?  ov..	)  ""&&((  'H/2HWK+++,OFH%%% &HQQQKOHh'''''r   c                    |\  }}|                      |||                                          }|                      |||                              d          }|                      |||                                                              |                      |||                                          dz
                      dt
          j                            }t          j        |||z             d S )Nr   r   r5   g      ?r>   )	r*   r6   r@   rZ   replacer$   rA   r,   r-   )r.   r   r!   r   r    var_unbiased_xvar_biased_xvar_debiasing_factors_xs           r
   .test_rolling_consistency_var_debiasing_factorsrh      s
    4FK %%;v &  	cee  ##;v $  	cqckk  	KOO		  !{6 !  %'' gc26""

 

  ONL3J$JKKKKKr   )numpyr$   r'   pandasr   pandas._testing_testingr,   r   r   fixturer   r(   parametrizenansumr   r1   r<   rF   rL   rW   r]   rb   rh    r   r
   <module>rq      s                   ! ! !" " " '(((  )(
 88")RVLMM> > NM>* !Q((< < )(<* !Q((% % )(%* !Q(($ $ )($6 !Q((2E 2E )(2Ej8 8 8$( ( (@L L L L Lr   