U
    Ãmœd@#  ã                h   @   s¨  d Z ddlZddlmZ ddlmZ eddddgd	d
ddgddddgddddgddddgddddgdddd gd!d"d#d$gd%d&d'd(gd)d*d+d,gd-d.d/d0gd1d2d3d4gd5d6d7d8gd9d:d;d<gd=d>d?d@gdAdBdCdDgdEdFdGdHgdIdJdKdLgdMddNdOgdPdQdRdSgdTdUdVdWgdXdYdZd[gd\d]d^d_gd`daddagdbdcdddegdfdgdhdigdjdkdldmgdndodpdqgdrdsdtdugdvdwdxdygdzd{d|d}gd~dd€d�gd‚dƒd„d…gd†dd‡dˆgd‰dŠd‹dŒgd�dŽd�dgd�d‘d’d“gd”d•d–d—gd˜d™dšd›gdœd�dždŸgd d¡d¢d£gd¤d¥d¦d§gd¨d©dªd«gd¬d­d®d¯gd°d±d²d³gd´dµd¶d·gd¸d¹dºd»gd¼d�d½d¾gd¿dÀdÁdÂgdÃdÄdÅdÆgdÇdÈdÉdÊgdËdÌdŒdÍgdÎdÏdÐdÑgdÒdÓdÔdÕgdÖd×dØdÙgdÚdÛdÜdÝgdÞdßdàdágdâdãdädågdædçdèdégdêdëdìdígdîdïdðdñgdòdódôd­gdõdöd÷døgdùdúd+dûgdüdýdþdÿg�d �d�d�dg�d�d�d�dg�d�d	�d
�dg�d�d�ddÒg�d�d�d�dg�d�d�d�dg�d�d�d�dg�d�d�d�dg�d�d �d!�d"g�d#�d$�d%�d&g�d'�d(�d)�d*g�d+�d,�d-�d.gd„�d/�d0�d1g�d2�d3�d4�d5g�d6�d7�d8�d9g�d:�d;�d<�d=g�d>�d?�d@�dg�dA�dB�dC�dDg�dE�dF�dG�dHg�dI�d�dJ�dKg�dL�dMd§�dNgde�dO�dP�dQg�dR�dS�dTdqg�dU�dV�dW�dXg�dY�dZ�d[�d\g�d]�d^dD�d_g�d`�da�db�dcg�dd�de�df�dgg�dh�di�dj�dkg�dl�dm�dn�dog�dp�dq�dr�dsg�dt�d6�du�dvg�dw�dx�dy�dzg�d{�d|�d}�d~g�d�d€�d��d‚ggdƒZe�dƒ ZG �d„�d…„ �d…ƒZ�d¢�d‡�dˆ„Z	�d£�d‰�dŠ„Z
�d‹�dŒ„ Ze�d�k�r¤d�dŽlmZ ddlZejjZe�d�d… �dƒ Ze�dƒ Z�d�Ze�d‘ƒZ�d’e_ejeg �d�d“�d”�\e_e_e_ejeg �d�d“�d”�\e_e_e_eje�d•�d–� e�d—ƒZ�d˜e_ej eg �d�d“�d”�\e_!e_e_ej eg �d�d“�d”�\e_"e_e_eje�d™�d–� e�dšƒZ#�d›e#_ej$e�dœd… ed�d�… g �d�d“�d”�\e#_%e#_e#_ej$e�dœd… ed�d�… g �d�d“�d”�\e#_&e#_e#_e#je�d™�d–� e�džƒZ'�dŸe'_e (ee )¡  �d �d¡¡Z*e e*j+ ,¡ ¡e'_-e (ee )¡  �d2�d¡¡Z*e e*j+ ,¡ ¡e'_.e'je�d™�d–� dS (¤  zlgenerate py modules with test cases and results from mlabwrap

currently matlab: princomp, garchar, garchma
é    N)Úassert_array_almost_equal)Úarrayi]þÿÿi%ýÿÿiæúÿÿiòúÿÿé   i  i8ÿÿÿiKþÿÿiåÿÿÿi¿üÿÿiúÿÿÿiÌýÿÿiÐþÿÿiïþÿÿi
þÿÿiýÿÿia  ipüÿÿiŸ  i  i‰þÿÿiûýÿÿiþýÿÿé1   é÷   iþÿÿé{   iýþÿÿiÈ  i  iûüÿÿi  éÃ   iÈûÿÿi¸  iNÿÿÿiªüÿÿéK   i>ýÿÿiÄûÿÿi=ûÿÿiœýÿÿiñÿÿÿi5ÿÿÿi&  iŒýÿÿiþÿÿi‚õÿÿi“þÿÿi`  iûÿÿi=  iþÿÿi   i=ÿÿÿi¯  ipýÿÿiV  iH  i-ýÿÿé   i—úÿÿi�üÿÿi4þÿÿi  i4÷ÿÿé`   é6   i  iýÿÿi¥ûÿÿi}  i¿ÿÿÿi÷üÿÿi   ió  éR   iÚüÿÿi  iÙÿÿÿiVÿÿÿiª÷ÿÿiç  i¥üÿÿi  iê  i{ÿÿÿiú  éü   i>þÿÿi5þÿÿiSüÿÿi6ÿÿÿiÊÿÿÿés   iÇ  i„  i¼úÿÿiÞ  i–  i þÿÿéå   iéýÿÿiÙøÿÿiô  iuýÿÿiYÿÿÿiD  iã  iûÿÿi£úÿÿix  i¼ûÿÿiµÿÿÿiŽ÷ÿÿiæ  iþÿÿi„	  i¥ùÿÿiÓûÿÿé¢   iÁÿÿÿi0  i§ýÿÿiK  iÄÿÿÿi  iëþÿÿi+  i1  éD   é   iü  i‡ýÿÿieüÿÿi¸  i�  i  iùÿÿii  iÜýÿÿi  ia  i(  i=  iG  i  i+ÿÿÿidþÿÿi+öÿÿi•  éI   i-üÿÿi   i<ûÿÿi°úÿÿiÅ÷ÿÿiÿÿÿiò  i{ýÿÿéÍ   iáýÿÿiWÿÿÿi,ÿÿÿi0  i  i€ÿÿÿi þÿÿiÿÿÿi£ýÿÿixüÿÿiÿ  éU   é§   i†øÿÿië  iF  i®  iV  i/þÿÿio  iþÿÿi§ÿÿÿiŒúÿÿiÞ  é€   iÿÿÿiÑÿÿÿiÔ  iõ  iþúÿÿiÆÿÿÿiÏÿÿÿižýÿÿi‡üÿÿigûÿÿiþÿÿiî  i‡  iz  i.ýÿÿiÕ  i ÿÿÿi·ùÿÿiÀÿÿÿiðýÿÿi§ùÿÿéç   is  i¹þÿÿid  i$þÿÿi—þÿÿióüÿÿi  iZ  éê   iþÿÿiÏýÿÿiÄ  iÖüÿÿi/ûÿÿi»  iûþÿÿit  é5   i-  i8  iK  iPûÿÿiGþÿÿi¿þÿÿiS  iF  i*  iüÿÿi  i4ùÿÿi`ýÿÿi¤ùÿÿiVúÿÿižþÿÿéà   ioýÿÿiöÿÿiî  iSúÿÿi3ýÿÿi1þÿÿiY  iãøÿÿi   iÚÿÿÿi\þÿÿi9þÿÿiõýÿÿi5  i©  ir  iúûÿÿiEÿÿÿi«  éN   i*ÿÿÿiÈþÿÿimûÿÿi3  ià  i÷þÿÿi§  i;  i_  iv  iC  i}þÿÿi‚ÿÿÿiÛùÿÿi*	  iÉ  é   iG  izÿÿÿé£   éã   éZ   iå  iþ  iÌûÿÿé®   i0  i  i%  i7  ip  iâ  i¸üÿÿi'  i[
  i6  i{  iCÿÿÿé   iÓ  iî  i  iiýÿÿi%  iðùÿÿiyûÿÿi&  i‡  iæ	  i9ÿÿÿiþÿÿið  iÛûÿÿi¦÷ÿÿiÔýÿÿi‘þÿÿi7þÿÿiœüÿÿieþÿÿiÑýÿÿiÖ  iê  i„üÿÿi•þÿÿi)  i ýÿÿiþÿÿi	þÿÿi)  iËüÿÿiüýÿÿiTúÿÿi@ÿÿÿií  iX  i&  i
  é¯   iH  iüÿÿi‹  i$  iÄùÿÿiÜ  i¼  éÖ   i|ýÿÿiHýÿÿiþÿÿiR  i­  i·üÿÿiµýÿÿi+þÿÿi³ûÿÿé   iKûÿÿiv  i“  iÐ  ijÿÿÿiŽ  iR  iŠ  é"   éë   i²þÿÿiÔùÿÿi‡  éï   i¡þÿÿi÷ÿÿi§þÿÿi¿  i*úÿÿiƒ  iI  ihÿÿÿih  g     @�@c                   @   s   e Zd Zdd„ Zddd„ZdS )ÚHoldItc                 C   s
   || _ d S )N)Úname)Úselfr+   © r-   úe/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/sandbox/tests/maketests_mlabwrap.pyÚ__init__t   s    zHoldIt.__init__NTc           
   
   C   sà   |d krdd„ | j D ƒ}|r2dg}|r6| d¡ ng }|rV| d| j ¡ d| j }nd}|d k	rt| d||f ¡ |D ]"}| d	||tt| |ƒƒf ¡ qx| ddg¡ |d k	rÜt|d
dd��}	|	 d |¡¡ W 5 Q R X |S )Nc                 s   s   | ]}|d  dkr|V  qdS )r   Ú_Nr-   )Ú.0Úir-   r-   r.   Ú	<genexpr>y   s      zHoldIt.save.<locals>.<genexpr>z,import numpy as np
from numpy import array

z.from statsmodels.tools.testing import Holder

z%s = Holder()z%s.Ú z%scomment = '%s'z	%s%s = %sza+zutf-8)ÚencodingÚ
)	Ú__dict__Úappendr+   ÚreprÚgetattrÚextendÚopenÚwriteÚjoin)
r,   ÚwhatÚfilenameÚheaderZ
useinstantÚcommentÚtxtÚprefixÚxÚfdr-   r-   r.   Úsavev   s(     zHoldIt.save)NNTTN)Ú__name__Ú
__module__Ú__qualname__r/   rG   r-   r-   r-   r.   r*   s   s     ÿr*   útestsave.pyc                 C   s  ddl m} tjddd� tdƒ}| |_|jddd	� td
ƒ}|jtdd�\|_	|_
|_|j|ddd� tdƒ}|jtd d…f dd�\|_	|_
|_tjddd� |j|ddd� tdƒ}|jtd d…f td d…f  d¡ dd�\|_	|_
|_tjddd� |j|ddd� d S )Nr   ©Úmlabé   éd   )Ú	precisionZ	linewidthÚdatarK   zgenerated data, divide by 1000)r@   rB   Z	princomp1é   ©ZnoutFzmlab.princomp(x, nout=3)©r@   rA   rB   Z	princomp2r#   zmlab.princomp(x[:20,], nout=3)Z	princomp3z.mlab.princomp(x[:20,]-x[:20,].mean(0), nout=3))ÚmlabwraprM   ÚnpZset_printoptionsr*   ÚxorG   ZprincomprE   ZcoefZfactorsÚvaluesÚmean)rW   ÚfilenrM   rQ   Zres_princompr-   r-   r.   Úgenerate_princomp’   s2    ÿÿÿÿ*ÿÿr[   c                 C   s˜   ddl m} tdƒ}t dddg¡|_t dddg¡|_| |jd	d …  |jd	d … d
¡|_| 	|jd	d …  |jd	d … d
¡|_
|j| ddd� d S )Nr   rL   Zarmarepg      ð?g      à¿gš™™™™™é?g333333ã¿g{®Gáz´?é   r#   Fzw''mlab.garchma(-res_armarep.ar[1:], res_armarep.ma[1:], 20)
mlab.garchar(-res_armarep.ar[1:], res_armarep.ma[1:], 20)''rT   )rU   rM   r*   rV   r   ÚarÚmaZgarchmaÚmarepZgarcharÚarreprG   )rZ   rM   Úres_armarepr-   r-   r.   Úgenerate_armarep®   s    &&ÿrb   c                 C   sn   ddl m} |j| j| jdd�dd … }|j| j| jdd�dd … }t| j ¡ |dƒ t| j ¡  |dƒ d S )Nr   )Útsaé   )Znobsr\   rN   )	Zstatsmodels.sandboxrc   Zarma_impulse_responser^   r]   r   r_   Úravelr`   )ra   rc   r`   r_   r-   r-   r.   Úexampletest¿   s
    rf   Ú__main__rL   iœÿÿÿztestsavetls.pyZmlpacfzmlab.parcorr(x, [], 2, nout=3)rR   rS   T)r@   rA   Zmlacfzmlab.autocorr(x, [], 2, nout=3)FZmlccfz,mlab.crosscorr(x[4:], x[:-4], [], 2, nout=3)é   éüÿÿÿZmlywarz-mlab.ar(x100-x100.mean(), 10, 'yw').a.ravel()é
   Zyw)rK   )rK   )/Ú__doc__ÚnumpyrV   Znumpy.testingr   r   rW   rE   r*   r[   rb   rf   rH   rU   rM   ZsavedrvsZrvsdataZxar2Zx100Zx1000rZ   Zres_pacfrB   ZparcorrZpacf100Zlags100Z	bounds100Zpacf1000Zlags1000Z
bounds1000rG   Zres_acfZautocorrZacf100Zacf1000Zres_ccfZ	crosscorrZccf100Zccf1000Zres_ywarr]   rY   ZmbarywÚare   Z	arcoef100Z
arcoef1000r-   r-   r-   r.   Ú<module>   s   































































�e
	

ÿÿ
ÿÿ
,ÿ,ÿ
