ó
    ®œ‘hìY  ã                   óØ  • S SK rS SKrS SKJrJrJrJr  S SKJ	r
  S rS rS rS rS rS r\R"                  R%                  S	\R&                  " S
5      R)                  S5      R)                  S5      \" SSS
S9\" SSS
S9R+                  S5      /5      \R"                  R%                  SS S/5      S 5       5       rS rS rS r\R"                  R%                  S/ SQ5      S 5       rS r\R"                  R%                  SS\" \" S5      \" SS5      / S QS!.\S"9/S#\" \R<                  /S-  S$/S-  / S%QS!.5      /S&\" \R<                  /S-  S'/S-  / S(QS!.5      //5      S) 5       rS* r S+ r!\R"                  R%                  S,/ S-QS.// S/QS0//5      S1 5       r"S2 r#S3 r$S4 r%\R"                  R%                  S5\" \R<                  S6S7/5      S0S.\R<                  S8S6/4\" \R<                  S6S7/5      S0S0\R<                  S8S6/4\" \R<                  S6S7/5      S.S.\R<                  S8S9/4\" \R<                  S6S7/5      S.S0\R<                  S8S9/4\" S6\R<                  S7/5      S0S.S:\R<                  S6/4\" S6\R<                  S7/5      S0S0S8\R<                  S6/4\" S6\R<                  S7/5      S.S.S:\R<                  S9/4\" S6\R<                  S7/5      S.S0S8\R<                  S9/4\" \R<                  S6\R<                  \R<                  S7\R<                  /5      S0S.\R<                  S;\R<                  \R<                  S6\R<                  /4\" \R<                  S6\R<                  \R<                  S7\R<                  /5      S0S0\R<                  S8\R<                  \R<                  S6\R<                  /4\" \R<                  S6\R<                  \R<                  S7\R<                  /5      S.S.\R<                  S;\R<                  \R<                  S9\R<                  /4\" \R<                  S6\R<                  \R<                  S7\R<                  /5      S.S0\R<                  S8\R<                  \R<                  S9\R<                  /4\" S6\R<                  S7S</5      S0S.S;\R<                  S8S6/4\" S6\R<                  S7S</5      S0S0S:\R<                  S8S6/4\" S6\R<                  S7S</5      S.S.S;\R<                  S=S>/4\" S6\R<                  S7S</5      S.S0S:\R<                  S=S9/4/5      S? 5       r&S@ r'SA r(\R"                  R%                  SB/ SCQ5      SD 5       r)\R"                  R%                  SS SE/5      \R"                  R%                  SF/ SGQ5      SH 5       5       r*\R"                  R%                  SFSISJ/5      SK 5       r+\R"                  R%                  S/ S!Q5      \R"                  R%                  SFSISJ/5      SL 5       5       r,\R"                  R%                  SFSISJ/5      SM 5       r-\R"                  R%                  SF/ SNQ5      SO 5       r.\R"                  R%                  SF/ SNQ5      SP 5       r/SQ r0SR r1SS r2\R"                  R%                  STSISJ/5      SU 5       r3SV r4\R"                  R%                  SWSJSI/5      \R"                  R%                  SXS0S./5      SY 5       5       r5\R"                  R%                  SZ\6\7/5      S[ 5       r8\R"                  R%                  SWSJSI/5      \R"                  R%                  SXS0S./5      \R"                  R%                  SZ\6\7/5      S\ 5       5       5       r9g)]é    N)Ú	DataFrameÚDatetimeIndexÚSeriesÚ
date_rangec                  ó‚   • [        SSSS[        R                  S/05      n U   U R                  SS9R	                  5         g )NÚBr   é   é   é   ç      à?©Úcom)r   ÚnpÚnanÚewmÚmean©Údfs    Ú`C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\pandas/tests/window/test_ewm.pyÚtest_doc_stringr      s9   € Ü	�C˜!˜Q ¤2§6¡6¨1Ð-Ð.Ó	/€BÙØ‡F�Fˆs€F€O×ÑÕó    c                 óâ  • U " [        S5      5      R                  nU" SS9  U" SS9  U" SS9  U" SS9  U" SS S	9  U" SS S
9  U" SS S9  Sn[        R                  " [        US9   U" SSS9  S S S 5        [        R                  " [        US9   U" SSS9  S S S 5        [        R                  " [        US9   U" SSS9  S S S 5        Sn[        R                  " [        US9   U" SS9  S S S 5        Sn[        R                  " [        US9   U" SS9  S S S 5        Sn[        R                  " [        US9   U" SS9  S S S 5        SnS H+  n[        R                  " [        US9   U" US9  S S S 5        M-     g ! , (       d  f       GN= f! , (       d  f       Nû= f! , (       d  f       Nã= f! , (       d  f       NÊ= f! , (       d  f       N±= f! , (       d  f       N˜= f! , (       d  f       M¦  = f)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Ùˆ3‚KÙˆC‚LÙˆtÒÙˆ#�DÒÙˆC�TÒÙˆt˜4Ò ð E€CÜ	�Š”z¨Ó	-Ù	ˆc˜Ò÷ 
.ä	�Š”z¨Ó	-Ù	ˆs˜TÒ"÷ 
.ä	�Š”z¨Ó	-Ù	�˜#Ò÷ 
.ð -€CÜ	�Š”z¨Ó	-Ù	ˆdŠ÷ 
.ð )€CÜ	�Š”z¨Ó	-Ù	ˆsŠ÷ 
.ð 0€CÜ	�Š”z¨Ó	-Ù	�1Š÷ 
.ð /€CÛˆÜ�]Š]œ:¨SÓ1Ù�EŠN÷ 2Ñ1ò ÷1 
.Ö	-úç	-Õ	-úç	-Õ	-ú÷
 
.Õ	-ú÷
 
.Õ	-ú÷
 
.Õ	-ú÷ 2Ö1úsT   Á$E8ÂF
Â6FÃ!F,ÄF=Ä5GÅ$GÅ8
FÆ

FÆ
F)Æ,
F:Æ=
GÇ
GÇ
G.	c                  óØ   • Sn [         R                  " [        U S9   [        [	        S5      5      R                  [        R                  " S5      S9  S S S 5        g ! , (       d  f       g = f)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:   >   sC   € Ø
,€CÜ	�Š”z¨Ó	-ÜŒu�Q‹xÓ×Ñ¤2§9¢9¨Q£<ÐÑ0÷ 
.×	-Ö	-ús   œ6AÁ
A)c                  óö   • Sn [         R                  " [        U S9   [        [	        S5      5      R                  [        R                  " S5      R                  S5      S9  S S S 5        g ! , (       d  f       g = f)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   sO   € Ø
8€CÜ	�Š”z¨Ó	-ÜŒu�Q‹xÓ×Ñ¤2§9¢9¨Q£<×#6Ñ#6Ð7GÓ#HÐÑI÷ 
.×	-Ö	-ús   œAA*Á*
A8c                  óø   • Sn [         R                  " [        U S9   [        [	        S5      5      R                  S[        R                  " S5      R                  S5      S9  S S S 5        g ! , (       d  f       g = f)Nz/halflife must be a timedelta convertible objectr$   r   r	   r<   ©r    r7   r=   r9   s    r   Ú#test_ewma_halflife_not_correct_typerB   J   sQ   € Ø
;€CÜ	�Š”z¨Ó	-ÜŒu�Q‹xÓ×Ñ a¬r¯yªy¸«|×/BÑ/BÐCSÓ/TÐÑU÷ 
.×	-Ö	-ús   œAA+Á+
A9c                 ó°   • Sn[         R                  " [        US9   [        [	        S5      5      R                  U S9  S S S 5        g ! , (       d  f       g = f)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   s<   € Ø
W€CÜ	�Š”z¨Ó	-ÜŒu�Q‹xÓ×ÑÐ&9ÐÑ:÷ 
.×	-Ö	-ús   œ"AÁ
Ar7   é
   zdatetime64[D]r<   Ú2000ÚD©ÚfreqÚperiodsÚUTCÚmin_periodsr
   c                 ó  • U n[         R                  " S5      n[         R                  US S S2'   [        SU05      nUR	                  X2US9R                  5       nUR	                  SUS9R                  5       n[        R                  " Xg5        g )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   sy   € ð #€HÜ�9Š9�T‹?€DÜ—‘€D‰ˆ1ˆ�IÜ	�C˜�;Ó	€BØ�V‰V˜XÀeˆVÐL×QÑQÓS€FØ�v‰v˜s°ˆvÐ<×AÑAÓC€HÜ×Ò˜&Õ+r   c                 ó$  • U nSn[        / SQ5      R                  U5      R                  U5      n[        R                  " S5      n[        U5      nUR                  X4S9R                  5       n[        / SQ5      n[        R                  " Xx5        g )Nz23 days)z
2020-01-01z2020-01-10T00:04:05z2020-02-23T05:00:23é   rA   )ç        gÐÇþE(â?gÁ*‡M¹ø?)
r   Útz_localizeÚas_unitr   r8   r   r   r   rS   rT   )	Útz_aware_fixtureÚunitÚtzr    r7   rU   r   rV   rW   s	            r   Ú%test_ewma_with_times_variable_spacingra   i   sv   € Ø	€BØ€HäÒRÓSß	‰�R‹ß	‰�‹ð 
ô
 �9Š9�Q‹<€DÜ	�4‹€BØ�V‰V˜XˆVÐ3×8Ñ8Ó:€FÜÒEÓF€HÜ×Ò˜&Õ+r   c                 óÊ   • [        [        S5      5      n[        S/5      n[        R                  " [
        SS9   UR                  SXS9  S S S 5        g ! , (       d  f       g = f)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_raisesrf   x   sI   € ä
”�q“Ó
€CÜ˜5˜'Ó"€EÜ	�Š”zÐ)OÓ	PØ�‰�CÐ"5ˆÑC÷ 
Q×	PÖ	Pús   ºAÁ
A"c                 ó<  • U n[         R                  " S5      n[         R                  US S S2'   [        SSSS9n[	        X"S.5      nUR                  XS9S	   R                  5       nUR                  S
S9S	   R                  5       n[        R                  " XV5        g )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_getitemrj   €   sŠ   € à"€HÜ�9Š9�T‹?€DÜ—‘€D‰ˆ1ˆ�IÜ�v C°Ñ4€EÜ	˜Ñ)Ó	*€BØ�V‰V˜XˆVÐ3°CÑ8×=Ñ=Ó?€FØ�v‰v˜sˆvÐ# CÑ(×-Ñ-Ó/€HÜ×Ò˜6Õ,r   Úarg)r   r    r   r   c                 ó4  • U SSUSU0n[        [        S5      [        S5      S.5      R                  " S0 UD6nUR                   Vs0 s H  oU[	        XE5      _M     nnUS   nUR                   Vs0 s H  oU[	        XE5      _M     nnX†:X  d   eg s  snf s  snf )Nr	   ÚadjustÚ	ignore_narh   rP   © )r   r-   r   Ú_attributesÚgetattr)	rk   rm   rn   Úkwargsr   ÚattrrW   Ú	ewm_slicerV   s	            r   Ú$test_ewm_getitem_attributes_retainedru   Œ   s�   € ð �1�h ¨°YÐ?€FÜ
œ% ›(¬¨q«Ñ2Ó
3×
7Ò
7Ñ
A¸&Ñ
A€CØ58·_²_ÓE²_¨T”g˜cÓ(Ò(±_€HÐEØ�C‘€IØ3<×3HÒ3HÓIÒ3H¨4”G˜CÓ&Ò&Ñ3H€FÐIØÓÐÑùò FùâIs   ÁBÁ1Bc                  óÂ   • [         R                  " [        SS9   [        [	        S5      5      R                  SS[        SSSS9S	9  S S S 5        g ! , (       d  f       g = f)
Nz)times is not supported with adjust=False.r$   r	   rd   FrG   rH   rI   )rm   r7   )r.   r/   ÚNotImplementedErrorr   r-   r   r   ro   r   r   Ú#test_ewma_times_adjust_false_raisesrx   —   sR   € ä	�ŠÜÐ#Nó
ô 	Œu�Q‹xÓ×ÑØ˜¤Z°¸SÈ!Ñ%Lð 	ñ 	
÷
÷ 
ö 
ús   š-AÁ
Azfunc, expectedr   r   r   é	   )gZôPÛ¶@ry   gÓø…W’$%@gd~�$I(@g7ûå¶m+@©r   r	   r
   ©ÚdtypeÚstdgÉ¬Þávø@)g‡§WÊ2„@g.äÜÈ@gÿ>ãÂ� @g ‰°áé…@g›äGüŠõ@Úvarg      2@)g—=Ô¶m5@é   gË�jÛ¶@@gÎþ@¹m[D@gg Ü¶mH@c           	      ó4  • [        [        S5      [        SS5      [        SSS5      S.US9nS	n[        R                  " [        US
9   UR                  SSS9nS S S 5        [        WU 5      " 5       n[        R                  " Xa5        g ! , (       d  f       N6= f)Nr   é   é   rF   é   r
   rz   r{   z1Support for axis=1 in DataFrame.ewm is deprecatedr$   r   r	   )r   Úaxis)r   r-   rS   Úassert_produces_warningÚFutureWarningr   rq   rT   )ÚfuncrW   Úfloat_numpy_dtyper   r3   ÚerV   s          r   Útest_float_dtype_ewmarŠ   ¡   sƒ   € ôN 
Ü�!‹Hœ˜q "›¬%°°B¸Ó*:Ñ;ÐCTñ
€Bð >€CÜ	×	#Ò	#¤M¸Ó	=Ø�F‰F˜ 1ˆFÐ%ˆ÷ 
>ä�Q˜ÔÓ€Fä×Ò˜&Õ+÷	 
>Õ	=ús   ÁB	Â	
Bc            	      óâ   • [        [        R                  " S5      [        SSSS9S.5      n [        R
                  " [        SS9   U R                  S	S
SS9  S S S 5        g ! , (       d  f       g = f)NrO   rG   rH   rF   rI   )rP   Útime_colztimes must be datetime64r$   z1 dayr   rŒ   rQ   )r   r   r8   r   r.   r/   r0   r   r   s    r   Útest_times_string_col_raisesr�   Ó   sV   € ä	Ü�iŠi˜‹o¬:°fÀ3ÐPRÑ+SÑTó
€Bô 
�Š”zÐ)CÓ	DØ
�‰˜¨Q°jˆÑA÷ 
E×	DÖ	Dús   ÁA Á 
A.c                  óÎ   • [        [        S5      5      R                  SSS9n [        R                  " [
        SS9   U R                  5         S S S 5        g ! , (       d  f       g = f)Nr	   F©r   rm   z
sum is notr$   )r   r-   r   r.   r/   rw   Úsum)rU   s    r   Ú(test_ewm_sum_adjust_false_notimplementedr‘   Ü   sE   € Ü”%˜“(Ó×Ñ A¨eÐÐ4€DÜ	�ŠÔ*°,Ó	?Ø�‰Œ
÷ 
@×	?Ö	?ús   ¼AÁ
A$zexpected_data, ignore)rO   ç      @g      @g     €&@F)rO   r’   r’   g      )@Tc                 ó¼   • [        SS[        R                  S/5      nUR                  SUS9R	                  5       n[        U 5      n[
        R                  " X45        g )NrF   r   r   )r   rn   )r   r   r   r   r�   rS   ri   )Úexpected_dataÚignorerU   rV   rW   s        r   Útest_ewm_sumr–   â   sN   € ô �2�qœ"Ÿ&™& "Ð%Ó&€DØ�X‰X˜C¨6ˆXÐ2×6Ñ6Ó8€FÜ�mÓ$€HÜ×Ò˜6Õ,r   c                  óâ   • [        [        R                  " S5      5      n SU S'   U R                  SSS9R	                  5       R                  5       n[        R                  " US-
  5      S:  d   eg )Niè  r	   r   éd   F)r   rm   g{®Gáz„?)r   r   Úzerosr   r   r�   Úabs)ÚvalsrV   s     r   Útest_ewma_adjustrœ   ï   s\   € Ü”"—(’(˜4“.Ó!€DØ€Dˆ�GØ�X‰X˜3 uˆXÐ-×2Ñ2Ó4×8Ñ8Ó:€FÜ�6Š6�&˜1‘*Ó Ó$Ð$Ñ$r   c                 óÊ   • [        / SQ5      nU (       a  [        / SQ5      nO[        / SQ5      nUR                  SXS9R                  5       n[        R                  " XC5        g )N)rR   ç       @g      @g       @)rR   gš™™™™™ù?gÊ�"kå@gYÂÚ;±@)rR   gR×ÚûTUõ?g�óSÇ@g	ßû´—@rž   ©r   rm   rn   )r   r   r   rS   ri   )rm   rn   ÚsrW   rV   s        r   Útest_ewma_casesr¡   ö   sQ   € ô 	Ò#Ó$€AæÜÒ8Ó9‰äÒ=Ó>ˆà�U‰U�s 6ˆUÐ?×DÑDÓF€FÜ×Ò˜6Õ,r   c            	      ó  • [        S/[        R                  /S-  -   S/-   5      n U R                  SS9R	                  5       n[
        R                  " U[        S/[        U 5      -  5      5        [        [        R                  /S-  S/-   [        R                  /S-  -   S/-   5      n U R                  SS9R	                  5       n[
        R                  " U[        [        R                  /S-  S/S-  -   5      5        g )NrR   r   r   r
   r   )r   r   r   r   r   rS   ri   Úlen)r    rV   s     r   Útest_ewma_nan_handlingr¤     sÎ   € Ü�ˆuœŸ™�x !‘|Ñ# s eÑ+Ó,€AØ�U‰U�qˆUˆ\×ÑÓ €FÜ×Ò˜6¤6¨3¨%´#°a³&©.Ó#9Ô:ä”—‘ˆx˜!‰|˜s˜eÑ#¤r§v¡v h°¡lÑ2°c°UÑ:Ó;€AØ�U‰U�qˆUˆ\×ÑÓ €FÜ×Ò˜6¤6¬2¯6©6¨(°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                 ón  • U R                  U5      R                  5       [        U5      R                  5       -  R                  5       nU R	                  SXS9R                  5       n[        R                  " XT5        USL a5  U R	                  SUS9R                  5       n[        R                  " XT5        g g )Nrž   rŸ   Fr�   )ÚmultiplyÚcumsumr   Úffillr   r   rS   ri   )r    rm   rn   ÚwrW   rV   s         r   Útest_ewma_nan_handling_casesrª     s•   € ðT —
‘
˜1“×$Ñ$Ó&¬°«×)9Ñ)9Ó);Ñ;×BÑBÓD€HØ�U‰U�s 6ˆUÐ?×DÑDÓF€Fä×Ò˜6Ô,Ø�EÒà—‘˜3 v�Ð.×3Ñ3Ó5ˆÜ
×Ò˜vÕ0ð r   c                  ó4  • [         R                  R                  S5      R                  S5      n [         R                  " SS5      n[         R
                  X'   [        U 5      nUR                  SS9R                  5       nUR                  SS9R                  5       nUR                  S	S
9R                  5       nUR                  SS9R                  5       n[        R                  " X45        [        R                  " X55        [        R                  " X65        g )Nr
   r˜   rƒ   é(   gŽVÎÕRÀã?r   g¿Æ·CØã?r   g‚_ãÛ!ì@r   gXlWYíç?r   )r   ÚrandomÚdefault_rngÚstandard_normalr8   r   r   r   r   rS   ri   )ÚarrÚlocsr    ÚaÚbr2   Úds          r   Útest_ewm_alpharµ   ¢  sÖ   € ä
�)‰)×
Ñ
 Ó
"×
2Ñ
2°3Ó
7€CÜ�9Š9�R˜Ó€DÜ—‘€C�Iäˆs‹€AØ	�‰Ð'ˆÐ(×-Ñ-Ó/€AØ	�‰Ð%ˆÐ&×+Ñ+Ó-€AØ	�‰Ð$ˆÐ%×*Ñ*Ó,€AØ	�‰�~ˆÐ&×+Ñ+Ó-€AÜ×Ò˜1Ô Ü×Ò˜1Ô Ü×Ò˜1Õ r   c                  óZ  • [         R                  R                  S5      R                  S5      n [         R                  " SS5      n[         R
                  X'   [        U 5      nSn[        R                  " [        US9   UR                  SS9  S S S 5        UR                  S	S9  UR                  S
S9  Sn[        R                  " [        US9   UR                  SS9  S S S 5        [        R                  " [        US9   UR                  S	S9  S S S 5        [        R                  " [        US9   UR                  SS9  S S S 5        UR                  SS9  UR                  SS9  Sn[        R                  " [        US9   UR                  SS9  S S S 5        [        R                  " [        US9   UR                  S	S9  S S S 5        UR                  S
S9  Sn[        R                  " [        US9   UR                  SS9  S S S 5        [        R                  " [        US9   UR                  S	S9  S S S 5        UR                  S
S9  UR                  SS9  [        R                  " [        US9   UR                  SS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNÈ= f! , (       d  f       GN©= f! , (       d  f       GNŠ= f! , (       d  f       GNK= f! , (       d  f       GN,= f! , (       d  f       Nû= f! , (       d  f       NÛ= f! , (       d  f       g = f)Nr
   r˜   rƒ   r¬   r(   r$   gš™™™™™¹¿r   r[   rd   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·   ²  s)  € ä
�)‰)×
Ñ
 Ó
"×
2Ñ
2°3Ó
7€CÜ�9Š9�R˜Ó€DÜ—‘€C�Iäˆs‹€AØ
,€CÜ	�Š”z¨Ó	-Ø	�‰�$ˆ‰÷ 
.à‡E�Eˆc€E�NØ‡E�Eˆc€E�Nà
(€CÜ	�Š”z¨Ó	-Ø	�‰�4ˆÑ÷ 
.ä	�Š”z¨Ó	-Ø	�‰�3ˆ‰÷ 
.ä	�Š”z¨Ó	-Ø	�‰�3ˆ‰÷ 
.à‡E�Eˆs€E�OØ‡E�Eˆs€E�Oà
/€CÜ	�Š”z¨Ó	-Ø	�‰�tˆÑ÷ 
.ä	�Š”z¨Ó	-Ø	�‰�sˆÑ÷ 
.à‡E�E�3€EÑà
.€CÜ	�Š”z¨Ó	-Ø	�‰�DˆÑ÷ 
.ä	�Š”z¨Ó	-Ø	�‰�CˆÑ÷ 
.à‡E�E�€EÑØ‡E�E�€EÑÜ	�Š”z¨Ó	-Ø	�‰�CˆÑ÷ 
.Ð	-÷; 
.Ö	-ú÷ 
.Ö	-úç	-Ö	-úç	-Ö	-ú÷ 
.Ö	-úç	-Ö	-ú÷
 
.Õ	-úç	-Õ	-ú÷ 
.Õ	-úsl   Á>JÃJ Ä J2Ä1KÆKÆ3K(Ç5K:È&LÉ5LÊ
JÊ 
J/Ê2
KË
KË
K%Ë(
K7Ë:
LÌ
LÌ
L*Úmethod)r   r}   r~   c                 ó¢   • [        / [        R                  S9nUR                  S5      n[	        X 5      " 5       n[
        R                  " X15        g )Nr{   rZ   )r   r   Úfloat64r   rq   rS   Úassert_almost_equal)r¸   r›   r   rV   s       r   Útest_ew_empty_seriesr¼   Û  s:   € ä�"œBŸJ™JÑ'€Dà
�(‰(�1‹+€CÜ�SÔ!Ó#€FÜ×Ò˜6Õ(r   r	   Úname)r   r~   r}   c                 ór  • [         R                  R                  S5      R                  S5      n[         R                  US S& [         R                  USS & [        U5      n[        UR                  SSS9U5      " 5       nUS S R                  5       R                  5       (       d   eUSS  R                  5       R                  5       (       a   e[        UR                  SU S9U5      " 5       nUS:X  aQ  US S R                  5       R                  5       (       d   eUSS  R                  5       R                  5       (       a   eOPUS S R                  5       R                  5       (       d   eUSS  R                  5       R                  5       (       a   e[        [        [        S9R                  SU S9U5      " 5       n[        R                  " U[        S	S95        [        [        S
/5      R                  SU S9U5      " 5       nUS:X  a"  [        R                  " U[        S
/5      5        O/[        R                  " U[        [         R                  /5      5        [        [        [         R                  " S5      5      R                  SS9U5      " 5       nUR                  [         R                   :X  d   eg )Nr
   é2   rF   éöÿÿÿ©r   rM   r‚   r   r{   rº   rR   )rM   r   )r   r­   r®   r¯   r   r   rq   r   ÚisnaÚallÚanyÚobjectrS   ri   r8   r|   rº   )rM   r½   r°   r    rV   Úresult2s         r   Útest_ew_min_periodsrÇ   ä  sG  € ô �)‰)×
Ñ
 Ó
"×
2Ñ
2°2Ó
6€CÜ�v‰v€Cˆˆ€HÜ—‘€Cˆˆ€IÜˆs‹€Aô �Q—U‘U˜r¨q�UÐ1°4Ô8Ó:€FØ�#�2ˆ;×ÑÓ×!Ñ!×#Ñ#Ð#Ð#Ø�b�cˆ{×ÑÓ!×%Ñ%×'Ñ'Ð'Ð'ä�Q—U‘U˜r¨{�UÐ;¸TÔBÓD€FØˆvƒ~Ø�c�rˆ{×ÑÓ!×%Ñ%×'Ñ'Ð'Ð'Ø˜"˜#�;×#Ñ#Ó%×)Ñ)×+Ñ+Ð+Ð+Ð+ð �c�rˆ{×ÑÓ!×%Ñ%×'Ñ'Ð'Ð'Ø˜"˜#�;×#Ñ#Ó%×)Ñ)×+Ñ+Ð+Ð+ô ”V¤&Ñ)×-Ñ-°"À+Ð-ÐNÐPTÔUÓW€FÜ×Ò˜6¤6°	Ñ#:Ô;ô ”V˜S˜E“]×&Ñ& r°{Ð&ÐCÀTÔJÓL€FØˆvƒ~Ü
×Ò˜v¤v¨s¨e£}Õ5ô 	×Ò˜v¤v¬r¯v©v¨hÓ'7Ô8ô ”fœRŸYšY r›]Ó+×/Ñ/°RÐ/Ð8¸$Ô?ÓA€GØ�=‰=œBŸJ™JÓ&Ð&Ñ&r   ÚcovÚcorrc                 ój  • [        [        R                  R                  S5      R	                  S5      [        S5      S9nUSS  [        R                  R                  S5      R	                  S5      -   n[        R                  US S& [        R                  UR                  SS & [        UR                  SSS	9U 5      " U5      n[        R                  " UR                  S S
 5      R                  5       (       d   e[        R                  " UR                  S
S  5      R                  5       (       a   eg )Nr
   r¿   ©Úindexé0   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ë   € äŒr�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;Ä5ÈÃ9ÑM€AØ	ˆ!ˆ"ˆ”—	‘	×%Ñ% aÓ(×8Ñ8¸Ó<Ñ<€Aä�V‰V€A€c€r€FÜ—6‘6€A‡F�Fˆ3ˆ4€Lä�Q—U‘U˜r¨q�UÐ1°4Ô8¸Ó;€FÜ�8Š8�F—M‘M # 2Ð&Ó'×+Ñ+×-Ñ-Ð-Ð-Ü�xŠx˜Ÿ™ b cÐ*Ó+×/Ñ/×1Ñ1Ð1Ð1Ð1r   c                 óÌ  • [        [        R                  R                  S5      R	                  S5      [        S5      S9nUSS  [        R                  R                  S5      R	                  S5      -   n[        R                  US S& [        R                  UR                  SS & [        UR                  SUS9U 5      " U5      n[        R                  " UR                  S S	 5      R                  5       (       d   e[        R                  " UR                  S	S  5      R                  5       (       a   e[        / [        R                  S
9n[        UR                  SUS9U 5      " U5      n[        R                   " XE5        [        [        S/5      R                  SUS9U 5      " [        S/5      5      n[        R                   " U[        [        R                  /5      5        g )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   ri   )r½   rM   rP   r   rV   Úemptys         r   Útest_ewm_corr_cov_min_periodsrÕ     sy  € ô 	Œr�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;Ä5ÈÃ9ÑM€AØ	ˆ!ˆ"ˆ”—	‘	×%Ñ% aÓ(×8Ñ8¸Ó<Ñ<€Aä�V‰V€A€c€r€FÜ—6‘6€A‡F�Fˆ3ˆ4€Lä�Q—U‘U˜r¨{�UÐ;¸TÔBÀ1ÓE€Fô �8Š8�F—M‘M # 2Ð&Ó'×+Ñ+×-Ñ-Ð-Ð-Ü�xŠx˜Ÿ™ b cÐ*Ó+×/Ñ/×1Ñ1Ð1Ð1ô �2œRŸZ™ZÑ(€EÜ�U—Y‘Y 2°;�YÐ?ÀÔFÀuÓM€FÜ×Ò˜6Ô)ô ”V˜S˜E“]×&Ñ&¨2¸;Ð&ÐGÈÔNÜ�ˆu‹ó€Fô ×Ò˜6¤6¬2¯6©6¨(Ó#3Õ4r   c                 óª  • [        [        R                  R                  S5      R	                  S5      [        S5      S9n[        R                  US S& Sn[        R                  " [        US9   [        UR                  SSS	9U 5      " [        R                  R                  S5      R	                  S5      5        S S S 5        g ! , (       d  f       g = f)
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×   8  s“   € äŒr�y‰y×$Ñ$ QÓ'×7Ñ7¸Ó;Ä5ÈÃ9ÑM€AÜ�V‰V€A€c€r€Fà
/€Cä	�Š”z¨Ó	-Ü�—‘˜"¨!�Ð,¨dÔ3Ü�I‰I×!Ñ! !Ó$×4Ñ4°RÓ8ô	
÷ 
.×	-Ö	-ús   Á.ACÃ
C)r~   r}   r   c                 ón   • [        U R                  SS9U5      " 5       n[        U[        5      (       d   eg ©NrF   r   )rq   r   Ú
isinstancer   )Úseriesr½   Úseries_results      r   Útest_ewma_seriesrÝ   E  s/   € ä˜FŸJ™J¨2˜JÐ.°Ô5Ó7€MÜ�m¤V×,Ñ,Ð,Ñ,r   c                 ón   • [        U R                  SS9U5      " 5       n[        U[        5      (       d   eg rÙ   )rq   r   rÚ   r   )Úframer½   Úframe_results      r   Útest_ewma_framerá   K  s/   € ä˜5Ÿ9™9¨˜9Ð,¨dÔ3Ó5€LÜ�l¤I×.Ñ.Ð.Ñ.r   c                 óÔ  • U R                  SS9R                  5       nU R                  SS9R                  5       n[        R                  " X5        Sn[        R
                  " [        US9   U R                  SSS9  S S S 5        Sn[        R
                  " [        US9   U R                  5       R                  5         S S S 5        g ! , (       d  f       NQ= f! , (       d  f       g = f)	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ç   Q  s«   € Ø�
‰
�sˆ
Ð× Ñ Ó"€AØ�
‰
˜ˆ
Ð× Ñ Ó"€AÜ×Ò˜1Ô Ø
D€CÜ	�Š”z¨Ó	-Ø�
‰
�s ˆ
Ñ$÷ 
.ð >€CÜ	�Š”z¨Ó	-Ø�
‰
‹×ÑÔ÷ 
.Ð	-÷	 
.Õ	-ú÷ 
.Õ	-ús   Á,CÂ CÃ
CÃ
C'c                 óÆ  • U R                  SS9R                  5       nU R                  SS9R                  5       n[        R                  " X5        Sn[        R
                  " [        US9   U R                  SSS	9  S S S 5        [        R
                  " [        US9   U R                  S
SS9  S S S 5        [        R
                  " [        US9   U R                  S
SSS9  S S S 5        Sn[        R
                  " [        US9   U R                  5         S S S 5        g ! , (       d  f       N¨= f! , (       d  f       N‡= f! , (       d  f       Ne= f! , (       d  f       g = f)Ng ‘ñHŽÝ+@r   rO   r   r#   r$   rƒ   r¿   r'   rã   )r   r    )r   r   r    rä   rå   ræ   s       r   Útest_ewma_halflife_argré   ^  s÷   € Ø�
‰
Ð)ˆ
Ð*×/Ñ/Ó1€AØ�
‰
˜Dˆ
Ð!×&Ñ&Ó(€AÜ×Ò˜1Ô Ø
D€CÜ	�Š”z¨Ó	-Ø�
‰
˜ Rˆ
Ñ(÷ 
.ä	�Š”z¨Ó	-Ø�
‰
�s Rˆ
Ñ(÷ 
.ä	�Š”z¨Ó	-Ø�
‰
�s ¨bˆ
Ñ1÷ 
.à
=€CÜ	�Š”z¨Ó	-Ø�
‰
Œ÷ 
.Ð	-÷ 
.Õ	-úç	-Õ	-úç	-Õ	-ú÷ 
.Õ	-ús0   Á,DÂD0ÃEÄEÄ
D-Ä0
D>Å
EÅ
E c                 ó(  • U nSn[         R                  " [        US9   UR                  5         S S S 5        Sn[         R                  " [        US9   UR                  SSS9  S S S 5        [         R                  " [        US9   UR                  SSS9  S S S 5        [         R                  " [        US9   UR                  SSS9  S S S 5        g ! , (       d  f       N§= f! , (       d  f       N„= f! , (       d  f       Nc= f! , (       d  f       g = f)	Nrä   r$   r#   rO   r   r&   )r   r   r"   )r.   r/   r0   r   )rÛ   r    r3   s      r   Útest_ewm_alpha_argrë   n  s¼   € à€AØ
=€CÜ	�Š”z¨Ó	-Ø	�‰Œ÷ 
.ð E€CÜ	�Š”z¨Ó	-Ø	�‰�$˜cˆÑ"÷ 
.ä	�Š”z¨Ó	-Ø	�‰�4˜sˆÑ#÷ 
.ä	�Š”z¨Ó	-Ø	�‰�t 3ˆÑ'÷ 
.Ð	-÷ 
.Õ	-ú÷ 
.Õ	-úç	-Õ	-úç	-Õ	-ús/   žCÁC!ÂC2Â6DÃ
CÃ!
C/Ã2
D Ä
Dr‡   c                 ó0  • [        UR                  SSS9U 5      " 5       nUR                  [        S 5      S4S4   nUR                  R                  S5      Ul        [        US   R                  SSS9U 5      " US   5      n[        R                  " X#SS9  g )NrF   r   ©r   rM   r	   F)Úcheck_names)rq   r   ÚlocÚslicerÌ   Ú	droplevelrS   ri   )r‡   rß   rV   rW   s       r   Útest_ewm_pairwise_cov_corrrò   ~  s†   € ä�U—Y‘Y B°A�YÐ6¸Ô=Ó?€FØ�Z‰Zœ˜t› aÐ(¨!Ð+Ñ,€FØ—<‘<×)Ñ)¨!Ó,€F„LÜ�u˜Q‘x—|‘|¨¸�|Ð;¸TÔBÀ5ÈÁ8ÓL€HÜ×Ò˜6¸Ó?r   c                 ó’  • U n[        S/SSS.5      nUS   R                  [        5      US'   UR                  SSS9n[	        XBS 5      nUb{  U" US9nU(       a  SS	/O/ SQnX7   R                  U/5      R                  S
S9R                  [        5      n[        UR                  5      U:X  d   e[        R                  " Xh5        g g )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Ü	˜!˜ 1¨1Ñ-Ó	.€BØ�‰g�n‰nœVÓ$€B€s�GØ
�&‰&�a Qˆ&Ð
'€CÜ	�˜dÓ	#€BØ	�~Ù Ñ.ˆæ ,�3˜‘*²/ˆØ‘;—?‘? F 8Ó,×8Ñ8¸dÐ8ÐC×JÑJÌ5ÓQˆÜ�H×$Ñ$Ó%¨Ó0Ð0Ð0ä
×Ò˜fÕ/ð r   rÿ   Úuse_argc                 ó�  • [        / SQSSS.5      nUS   R                  [        5      US'   U(       a  U4OSnUR                  SSS9n[	        XP5      nU" US	U06nU(       a  S
S/O/ SQnX8   R                  [
        5      n	U(       a  U	4OSn
U	R                  SSS9n[	        X°5      nU" U
S	U06n[        R                  " X}5        g )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   rk   r   r   rV   rý   Údf2Úarg2Úewm2Úop2rW   s                 r   Ú test_numeric_only_corr_cov_framer	  ˜  sÆ   € ô 
š¨°Ñ3Ó	4€BØ�‰g�n‰nœVÓ$€B€s�GÞˆ2‰% €CØ
�&‰&�a Qˆ&Ð
'€CÜ	�Ó	€BÙ�Ð0 <Ñ0€Fö )ˆs�C‰jªo€GØ
‰+×
Ñ
œUÓ
#€CÞˆC‰6 "€DØ�7‰7˜ qˆ7Ð)€DÜ
�$Ó
€CÙ�DÐ4 |Ñ4€Hä×Ò˜&Õ+r   r|   c                 óÄ  • U n[        S/US9nUR                  SSS9n[        XSS 5      nUc  [        R                  " S5        U(       a8  U[
        L a/  SU S3n[        R                  " [        US9   U" US	9  S S S 5        g U" US	9nUR                  U/5      R                  S
S9R                  [        5      n	[        R                  " X‰5        g ! , (       d  f       g = f)Nr	   r{   r
   rí   zNo op to testúExponentialMovingWindow.ú  does not implement numeric_onlyr$   rõ   Tr÷   )r   r   rq   r.   ÚskiprÅ   r/   rw   rù   rú   r>   rû   rS   ri   )
rþ   rö   r|   rÿ   re   r   r   r3   rV   rW   s
             r   Útest_numeric_only_seriesr  ®  sÉ   € ð &€FÜ
�!�˜EÑ
"€CØ
�'‰'�q aˆ'Ð
(€CÜ	�˜dÓ	#€BØ	�zä�Š�OÔ$Þ˜¤šØ(¨¨Ð0PÐQˆÜ�]Š]Ô.°cÓ:Ù˜LÒ)÷ ;Ð:ñ  Ñ.ˆØ—7‘7˜F˜8Ó$×0Ñ0°dÐ0Ð;×BÑBÄ5ÓIˆÜ
×Ò˜vÕ0÷ ;Õ:ús   Á2CÃ
Cc                 óÒ  • [        / SQUS9nU(       a  U4OSnUR                  SSS9n[        X`5      nU(       a:  U[        L a1  SU  S3n[        R
                  " [        US	9   U" US
U06  S S S 5        g U" US
U06n	UR                  [        5      n
U(       a  U
4OSnU
R                  SSS9n[        XÀ5      nU" US
U06n[        R                  " Xž5        g ! , (       d  f       g = f)Nr  r{   ro   r
   r	   rí   r  r  r$   rö   )r   r   rq   rÅ   r.   r/   rw   r>   rû   rS   ri   )rÿ   r  rö   r|   re   rk   r   r   r3   rV   Úser2r  r  r  rW   s                  r   Ú!test_numeric_only_corr_cov_seriesr  Â  sß   € ô
 ’ %Ñ
(€CÞˆ3‰& €CØ
�'‰'�q aˆ'Ð
(€CÜ	�Ó	€BÞ˜¤šØ(¨¨Ð0PÐQˆÜ�]Š]Ô.°cÓ:Ù�Ð/ ,Ò/÷ ;Ð:ñ �SÐ4 |Ñ4ˆà�z‰zœ%Ó ˆÞ!�‰w rˆØ�x‰x˜Q¨AˆxÐ.ˆÜ�dÓ#ˆÙ˜Ð8¨<Ñ8ˆÜ
×Ò˜vÕ0÷ ;Õ:ús   Á#	CÃ
C&):Únumpyr   r.   Úpandasr   r   r   r   Úpandas._testingÚ_testingrS   r   r4   r:   r?   rB   rE   ÚmarkÚparametrizer8   r>   r\   rX   ra   rf   rj   ru   rx   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Ñ4Ð5EÓFÙ�6 ¨RÑ0Ù�6 ¨RÑ0×<Ñ<¸UÓCðóð ‡�×Ñ˜¨¨A¨Ó/ñ,ó 0óð,ò,òDò	-ð ‡�×Ñ˜Ò DÓEñó Fðò
ð ‡�×ÑØð Ùá˜Q“xÙ˜Q “{ÚEñð
 ñð
	
ð ÙàŸ™�x !‘|Ø �z A‘~ÚGñóð		
ð ÙàŸ™�x !‘|Ø�v ‘zÚGñóð		
ð- ó#ñH,óI#ðH,òBòð ‡�×ÑØÚ˜uÐ%Ò(>ÀÐ'EÐFóñ-ó	ð-ò%ò-òEð ‡�×ÑØñ �B—F‘F˜C Ð'Ó(ØØØ�V‰VÐ/°#Ð6ð		
ñ �B—F‘F˜C Ð'Ó(ØØØ�V‰VÐ/°#Ð6ð		
ñ �B—F‘F˜C Ð'Ó(ØØØ�V‰VÐ/Ð3DÐFð		
ñ �B—F‘F˜C Ð'Ó(ØØØ�V‰VÐ/Ð3DÐFð		
ñ �C˜Ÿ™ Ð'Ó(ØØØ-¨r¯v©v°sÐ;ð		
ñ �C˜Ÿ™ Ð'Ó(ØØØ'¨"¯&©&°#Ð6ð		
ñ �C˜Ÿ™ Ð'Ó(ØØØ-¨r¯v©vÐ8IÐKð		
ñ �C˜Ÿ™ Ð'Ó(ØØØ'¨"¯&©&Ð3DÐFð		
ñ �B—F‘F˜C §¡¨¯©°¸¿¹Ð?Ó@ØØØ�V‰VÐ5°r·v±v¸r¿v¹vÀsÈBÏFÉFÐSð		
ñ �B—F‘F˜C §¡¨¯©°¸¿¹Ð?Ó@ØØØ�V‰VÐ/°"·&±&¸"¿&¹&À#ÀrÇvÁvÐNð		
ñ �B—F‘F˜C §¡¨¯©°¸¿¹Ð?Ó@ØØà—‘Ø0Ø—‘Ø—‘Ø"Ø—‘ðð		
ñ �B—F‘F˜C §¡¨¯©°¸¿¹Ð?Ó@ØØà—‘Ø*Ø—‘Ø—‘Ø"Ø—‘ðð		
ñ �C˜Ÿ™ ¨Ð-Ó.ØØà0Ø—‘Ø*Øð	ð	
	
ñ �C˜Ÿ™ ¨Ð-Ó.ØØà0Ø—‘Ø*Øð	ð	
	
ñ �C˜Ÿ™ ¨Ð-Ó.ØØà0Ø—‘ØAðKð	ð		
ñ �C˜Ÿ™ ¨Ð-Ó.ØØà0Ø—‘ØAØ"ð	ð	
	
ðsDóGñP	1óQGðP	1ò!ò &ðR ‡�×Ñ˜Ò#9Ó:ñ)ó ;ð)ð ‡�×Ñ˜¨¨A¨Ó/Ø‡�×Ñ˜Ò!7Ó8ñ&'ó 9ó 0ð&'ðR ‡�×Ñ˜ %¨ Ó1ñ	2ó 2ð	2ð ‡�×Ñ˜ª	Ó2Ø‡�×Ñ˜ %¨ Ó1ñ5ó 2ó 3ð5ð4 ‡�×Ñ˜ %¨ Ó1ñ	
ó 2ð	
ð ‡�×Ñ˜Ò!7Ó8ñ-ó 9ð-ð
 ‡�×Ñ˜Ò!7Ó8ñ/ó 9ð/ò

òò (ð  ‡�×Ñ˜ %¨ Ó1ñ@ó 2ð@ò0ð" ‡�×Ñ˜ F¨E ?Ó3Ø‡�×Ñ˜ T¨5 MÓ2ñ,ó 3ó 4ð,ð( ‡�×Ñ˜ 3¨ -Ó0ñ1ó 1ð1ð& ‡�×Ñ˜ F¨E ?Ó3Ø‡�×Ñ˜ T¨5 MÓ2Ø‡�×Ñ˜ 3¨ -Ó0ñ1ó 1ó 3ó 4ñ1r   