U
    Ãmœd¬¤  ã                   @   sL  d Z ddlmZmZ ddlZddlmZmZm	Z	 ddl
ZddlZddlmZ ddlmZmZmZmZ ej ¡ jZejddd	d
�e_dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej  ddg¡ej  ddg¡dd„ ƒƒZ!ej  dddg¡ej  dddg¡ej  dddg¡dd„ ƒƒƒZ"ej  dddg¡ej  dddg¡d d!„ ƒƒZ#ej  dddg¡ej  dddg¡d"d#„ ƒƒZ$ej  dddg¡ej  dddg¡ej  dddg¡d$d%„ ƒƒƒZ%ej  dddg¡ej  dddg¡d&d'„ ƒƒZ&ej  dddg¡ej  dddg¡d(d)„ ƒƒZ'd*d+„ Z(ej  d,ddg¡d-d.„ ƒZ)ej  dd/d0d1d2d3g¡d4d5„ ƒZ*d6d7„ Z+dS )8z<
Tests for news results

Author: Chad Fulton
License: BSD-3
é    )Úassert_frame_equalÚassert_series_equalN)Úassert_Úassert_allcloseÚassert_equal)Údatasets)Údynamic_factorÚsarimaxÚ
structuralÚvarmaxZ1959Q1Ú2009Q3ÚQ©ÚstartÚendÚfreqc                 C   s8   dD ].}t | |ƒ}t|j |¡ƒ t|j ¡ |ƒ qd S )N)Útotal_impactsÚupdate_impactsÚrevision_impactsÚpost_impacted_forecastsÚprev_impacted_forecasts)Úgetattrr   ÚindexÚequalsr   ÚcolumnsÚtolist)ÚnewsÚimpact_datesÚimpacted_variablesÚattrÚval© r!   úc/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/tsa/statespace/tests/test_news.pyÚcheck_impact_indices   s    
r#   c                    sü   | j jd kr^tt| jd ƒdƒ tt| jd ƒdƒ tt| jd ƒdƒ tt| jd ƒdƒ nš| jjj‰ | jjj	‰t
ˆtƒr‚ˆg‰| ¡ jdd�}| ¡ }‡ fdd„|d D ƒ|d< ‡fdd„|d D ƒ|d< t| j | | jj¡¡ƒ t| j |¡ƒ d S )	Núrevision dater   úrevised variableT©Zdropc                    s   g | ]}ˆ   |¡‘qS r!   ©Zget_loc©Ú.0Údate©Údatesr!   r"   Ú
<listcomp>:   s    z*check_revision_indices.<locals>.<listcomp>c                    s   g | ]}ˆ   |¡‘qS r!   ©r   ©r)   Úname©Úendog_namesr!   r"   r-   <   s   ÿ)Únews_resultsr   r   ÚlenÚrevisions_ilocÚrevisions_ixÚpreviousÚmodelÚ_indexr2   Ú
isinstanceÚstrÚto_frameÚreset_indexÚcopyr   r   ÚastypeÚdtypes)r   Úrevisions_indexÚ
desired_ixÚdesired_ilocr!   ©r,   r2   r"   Úcheck_revision_indices'   s*    



ÿ

þ
ÿrE   c                    sü   | j jd kr^tt| jd ƒdƒ tt| jd ƒdƒ tt| jd ƒdƒ tt| jd ƒdƒ nš| jjj‰ | jjj	‰t
ˆtƒr‚ˆg‰| ¡ jdd�}| ¡ }‡ fdd„|d D ƒ|d< ‡fdd„|d D ƒ|d< t| j | | jj¡¡ƒ t| j |¡ƒ d S )	Núupdate dater   úupdated variableTr&   c                    s   g | ]}ˆ   |¡‘qS r!   r'   r(   r+   r!   r"   r-   W   s    z(check_update_indices.<locals>.<listcomp>c                    s   g | ]}ˆ   |¡‘qS r!   r.   r/   r1   r!   r"   r-   Y   s   ÿ)r3   r   r   r4   Úupdates_ilocÚ
updates_ixÚupdatedr8   r9   r2   r:   r;   r<   r=   r>   r   r   r?   r@   )r   Úupdates_indexrB   rC   r!   rD   r"   Úcheck_update_indicesE   s*    



ÿ

þ
ÿrL   c                 C   s®   t |ƒr|}ntjjg g gddgd�}| jjj}t|tƒr@|g}t	| j
j |¡ƒ t	| jj |¡ƒ t	| jj |¡ƒ t	| jj |¡ƒ tj ||g¡}t	| jj |¡ƒ d S )NrF   rG   ©Únames)r4   ÚpdÚ
MultiIndexÚfrom_productr7   r8   r2   r:   r;   r   r   r   r   Úupdate_forecastsÚupdate_realizedÚweightsr   )r   rK   r   Z
news_indexr2   Zweights_columnsr!   r!   r"   Úcheck_news_indicesb   s     ÿ

rU   c                 C   s˜  d| _ t| ||ƒ t| |ƒ t| |ƒ t| ||ƒ |rHt| j|dd� ntt 	| j 
¡ ¡ƒ |rrt| j|dd� n$t| jjd kƒ tt 	| j 
¡ ¡ƒ | j d¡| j d¡ }t| j|dd� t| j|	dd� t| j|
dd� t| j|dd� t| j|dd� t| j|dd� t| j|dd� t| jj ¡ ddgƒ t| jjjddgƒ t| jj |¡ƒ t| jj ¡ d	d
gƒ t| jjjddgƒ t| jj | jj¡ƒ t| jd
 | jdd� t| jd	 | jdd� | j}d	d
dddg}t|j ¡ |ƒ ddddg}t|jj|ƒ |�rÞ| jd
  ¡  ddg¡d
 }t|| jdd� | jd	  ¡  ddg¡d	 }t|| jdd� | jd  ¡  ddg¡d }t|| jdd� t|d   ddg¡| jdd� | jd   ddg¡j!dd�  d¡}t|| jdd� | j"}dddg}t|j ¡ |ƒ ddd	d
ddg}t|jj|ƒ |�r¤| j"d  ¡  ddddg¡d }t|| jdd� t| j"d   ddg¡| jdd� | j"d   ddg¡j!dd�  d¡}t|| jdd� | j#}dddddg}t|j ¡ |ƒ ddg}t|jj|ƒ t|j$d d …df | j %¡ dd� t|j$d d …df | j d¡ %¡ dd� t|j$d d …df | j d¡ %¡ dd� t|j$d d …df | j %¡ dd� t|j$d d …df | j %¡ dd� d S )Ng»½×Ùß|Û½gê-�™—q=)Zatolr   Zrevisedzobserved (prev)r$   r%   Zobservedzforecast (prev)rF   rG   r   ÚweightZimpactzimpact datezimpacted variableé   é   é   )Zaxisé   é   zestimate (prev)zimpact of revisionszimpact of newsztotal impactzestimate (new))&Z	tolerancer#   rE   rL   rU   r   r   r   ÚnpÚallZisnullr   r3   Zfillnar   r   r   rR   rS   r   rT   r   Zdata_revisionsr   r   r   rN   r   Zdata_updatesÚdetails_by_impactZdrop_duplicatesr=   ZunstackÚsumÚdetails_by_updateÚimpactsÚlocÚstack)r   Ú	revisionsÚupdatesr   r   rA   rK   r   r   r   r   rR   rS   Únews_desiredrT   r   r^   ÚdesiredÚactualr`   ra   r!   r!   r"   Ú
check_newsw   s   



ÿÿÿÿ
ÿÿ
ÿ
 ÿÿ ÿþþÿÿÿÿ ÿ
ÿÿÿ
  ÿ
ÿÿ ÿ
ÿÿÿ ÿ ÿ ÿ ÿ ÿ ÿri   rd   Tre   c                    sr  t d  ¡ }d }|r:|jd d…  ¡ }|jd d…  ¡ }n(|jd d…  ¡ }|jd d…  ¡ }d}| rpd|jd< t |¡}| ddg¡}|j|dd	|d
�}tj	dd	dd�}	dg}
| rþ|rþtj
j|jdd … dggddgd�}|jd dt d¡ dd¡  }nr| �rTtj
j|jdd … dggddgd�}tjd|jd dt d¡  f  dd¡}ntj
jg g gddgd�}d }|�røtj
jtj	dddd�dggddgd�}t d|jd d|jd   d|jd  d|jd   d|jd  d|jd   gg¡j}ntj
jg g gddgd�}d }t|ƒ |�rJtj|jd dt d¡    dd¡}n0tj|jd |jd dt d¡  f  dd¡}tj|jd dt d¡ |jd  f  dd¡}|�r
d|jd  g‰ |jd g‰‡ ‡fdd„ttˆ ƒƒD ƒ}t tjddt d¡ f ¡j}n@tjg tjd�‰ tjg tjd�‰tjg tjd�}t t d¡¡}t|| ||	|
||||||ˆ ˆ||ƒ d S )NÚinflÚ2009Q2r   rJ   ç        éÿÿÿÿç      à?ç      ð?Ú2010Q1©r   r   Úcomparison_typer   r   r$   r%   rM   éþÿÿÿrZ   rW   r   rY   ©r   Úperiodsr   rF   rG   g      Ð?g      À?c                    s   g | ]}ˆ| ˆ |  ‘qS r!   r!   ©r)   Úi©rR   rS   r!   r"   r-   _  s   ÿz/test_sarimax_time_invariant.<locals>.<listcomp>©Zdtype)r   rZ   )Údtar>   rb   Úilocr	   ÚSARIMAXÚsmoothr   rO   Úperiod_rangerP   Zfrom_arraysr   r\   ÚarangeZreshapeÚr_ÚarrayÚTÚprintÚranger4   Ú	DataFrameÚSeriesÚfloat64Úzerosri   )rd   re   Úendogrr   Úendog1Úendog2ÚmodÚresr   r   r   rA   r   rK   r   r   r   rf   rT   r!   rx   r"   Útest_sarimax_time_invariant  sÄ    


ÿþ"þÿ ÿ ÿþ ý ÿÿ ÿ ÿ ÿ ÿ ÿ
ÿ"      ürŽ   FÚwhichÚexogÚtrendc                 C   sj  t d  ¡ }d }|r:|jd d…  ¡ }|jd d…  ¡ }n(|jd d…  ¡ }|jd d…  ¡ }d}| rpd|jd< d }d }d}	|dkršt |¡}t |¡}n|d	kr¦d
}	tj|||	d�}
|
 dddg¡}|j	||dd|d�}t |¡}| ddg¡}|j	|dd|d�}dddddddddddddg}|D ]>}t
||ƒ}t
||ƒ}t|tjƒ�rXt||ƒ n
t||ƒ �q&d S )Nrj   rk   r   rJ   rl   rm   Únr�   r‘   Út©r�   r‘   rn   ro   Ú2008Q1©r�   r   r   rr   rq   r   r   r   r   rT   rR   rS   r   r   r5   r6   rH   rI   )rz   r>   rb   r{   r\   Ú	ones_liker	   r|   r}   r   r   r:   rO   r†   r   r   )rd   re   r�   r‰   rr   rŠ   r‹   Úexog1Úexog2r‘   Úmod1Úres1Únews1Úmod2Úres2Únews2Úattrsr   ÚwÚxr!   r!   r"   Útest_sarimax_time_varyingp  sZ    


ÿ

ÿ      ý

r£   c                 C   sJ  t d  ¡ }d }|r:|jd d…  ¡ }|jd d…  ¡ }n(|jd d…  ¡ }|jd d…  ¡ }d}| rpd|jd< t |¡}t |¡}tj|d|d�}| d	d
dg¡}	|	j	||dd|d�}
t |d¡}| d	d
g¡}|j	|dd|d�}dddddddddddddg}|D ]>}t
|
|ƒ}t
||ƒ}t|tjƒ�r8t||ƒ n
t||ƒ �qd S )Nrj   rk   r   rJ   rl   rm   Zllevel)r�   rn   çš™™™™™É?r•   r–   rq   r   r   r   r   rT   rR   rS   r   r   r5   r6   rH   rI   )rz   r>   rb   r{   r\   r—   r
   ZUnobservedComponentsr}   r   r   r:   rO   r†   r   r   )rd   re   r‰   rr   rŠ   r‹   r˜   r™   rš   r›   rœ   r�   rž   rŸ   r    r   r¡   r¢   r!   r!   r"   Ú'test_unobserved_components_time_varying­  sN    	


ÿ
ÿ      ý

r¥   c                    sr  t ddg  ¡ }t |d ¡ ¡ d |d< |jdd … }d }|rf|jd d…  ¡ }|jd d…  ¡ }n(|jd d…  ¡ }|jd d…  ¡ }d}| rœd|jd	< tj|d
d�}tj	d }| 
|¡}|j|dd|d�}	tjdddd�}
ddg}t d¡}t d¡}|d }|| }|| }| �rx|�rxtjj|jd	d … ddggddgd�}|jd j}tj|| || || || f j}nz| �rÖtjj|jd	d … ddggddgd�}|jd	 j}tj|| || || || f j}ntjjg g gddgd�}d }|�rZ|jd	 j}tj|| || || || f j}|jd j}tj|| || || || f j}nl|jd	 j}tj||jd  || || || f j}|jd	 j}tj||jd  || || || f j}|jd	 j}tj||jd  || || || f j}|�r4tjjtjdddd�ddggddgd�}|| }ntjjg g gddgd�}d }|�r
||jd j ‰ |jd j‰‡ ‡fdd„ttˆ ƒƒD ƒ}tjj|
|gddgd�}tjt d¡||d �}||jd d …df< ||jd d …df< |j|jd d …d!f< |j|jd d …df< n@tjg tjd"�‰ tjg tjd"�‰tjg tjd"�}t t d#¡¡}t|	| ||
|||||||ˆ ˆ||ƒ d S )$NÚrealgdpÚunempé�  rW   rk   r   rJ   rl   rm   r’   ©r‘   ©rn   çš™™™™™¹?r¤   çÍÌÌÌÌÌì?ro   r«   çš™™™™™ñ?rp   rq   r   r   )rX   rX   rX   Z
transitionr$   r%   rM   rs   rt   rF   rG   c                    s   g | ]}ˆ| ˆ |  ‘qS r!   r!   rv   rx   r!   r"   r-   G  s   ÿz.test_varmax_time_invariant.<locals>.<listcomp>zimpact dateszimpacted variables)rX   é   )r   r   Z2009Q4ry   )r   r®   )rz   r>   r\   ÚlogÚdiffr{   rb   r   ÚVARMAXr€   r}   r   rO   r~   rˆ   ÚeyerP   rQ   r   ÚvaluesZc_r‚   r„   r4   r…   r†   r‡   ri   )rd   re   r‰   rr   rŠ   r‹   rŒ   Úparamsr�   r   r   r   ÚZZT0ZT1ZT2ZT3rA   Útmpr   r   Zrev_impacted_forecastsr   rK   r   rf   r   rT   r!   rx   r"   Útest_varmax_time_invariantã  sâ    



ÿ

þ&þ&þ ÿ ÿ
 ÿ ÿ ÿÿþ
 ÿ
ÿþÿ      ür·   c                 C   sÂ  t ddg  ¡ }t |d ¡ ¡ d |d< |jdd … }d }|rf|jd d…  ¡ }|jd d…  ¡ }n(|jd d…  ¡ }|jd d…  ¡ }d}| rœd|jd	< d }d }d
}	|dkrât |d ¡}t |d ¡}tjd }
tjd }n"|dk�rd}	tjd }
tjd }t	j
|||	d�}| |
¡}|j||dd|d�}t	j
|d
d�}| |¡}|j|dd|d�}ddddddddddd d!d"g}|D ]>}t||ƒ}t||ƒ}t|tjƒ�r°t||ƒ n
t||ƒ �q~d S )#Nr¦   r§   r¨   rW   rk   r   rJ   rl   rm   r’   r�   )	rn   r«   r¤   r¬   rl   rl   ro   r«   r­   rª   r‘   r“   )	rl   rl   rn   r«   r¤   r¬   ro   r«   r­   r”   r•   r–   r©   rq   r   r   r   r   rT   rR   rS   r   r   r5   r6   rH   rI   )rz   r>   r\   r¯   r°   r{   rb   r—   r€   r   r±   r}   r   r   r:   rO   r†   r   r   )rd   re   r�   r‰   rr   rŠ   r‹   r˜   r™   r‘   Úparams1Úparams2rš   r›   rœ   r�   rž   rŸ   r    r   r¡   r¢   r!   r!   r"   Útest_varmax_time_varying`  sf    






ÿ

ÿ      ý

rº   c                 C   sŽ  t ddg  ¡ }t |d ¡ ¡ d |d< |jdd … }d }|rf|jd d…  ¡ }|jd d…  ¡ }n(|jd d…  ¡ }|jd d…  ¡ }d}| rœd|jd	< t |d ¡}t |d ¡}tjd
 }tjd }	t	j
||ddd�}
|
 |¡}|j||dd|d�}t	j
|ddd�}| |	¡}|j|dd|d�}dddddddddddddg}|D ]>}t||ƒ}t||ƒ}t|tjƒ�r|t||ƒ n
t||ƒ �qJd S )Nr¦   r§   r¨   rW   rk   r   rJ   rl   rm   )r¬   r¤   rl   rl   ç333333ó?r­   rn   r¤   )r¬   r¤   r»   r­   rn   r¤   rX   )r�   Ú	k_factorsÚfactor_orderr•   r–   )r¼   r½   rq   r   r   r   r   rT   rR   rS   r   r   r5   r6   rH   rI   )rz   r>   r\   r¯   r°   r{   rb   r—   r€   r   ZDynamicFactorr}   r   r   r:   rO   r†   r   r   )rd   re   r‰   rr   rŠ   r‹   r˜   r™   r¸   r¹   rš   r›   rœ   r�   rž   rŸ   r    r   r¡   r¢   r!   r!   r"   Ú test_dynamic_factor_time_varying¤  s\    	


 ÿ
ÿ

ÿ      ý

r¾   c                 C   sp  t d  ¡ }|r6|jd d…  ¡ }|jd d…  ¡ }n$|jd d…  ¡ }|jd d…  ¡ }| rhd|jd< t |¡}| ddg¡}t |¡}| ddg¡}|j|dd	�}	|j|d
d	�}
|j|dd	�}|j|d
d	�}dddddddddddddg}|D ]x}t|	|ƒ}t|
|ƒ}t||ƒ}t||ƒ}t	|t
jƒ�rLt||ƒ t||ƒ t||ƒ qòt||ƒ t||ƒ t||ƒ qòd S )Nrj   rk   r   rl   rm   rn   ro   rJ   ©rr   r7   r   r   r   r   rT   rR   rS   r   r   r5   r6   rH   rI   )rz   r>   rb   r{   r	   r|   r}   r   r   r:   rO   r†   r   r   )rd   re   r‰   rŠ   r‹   rš   r›   r�   rž   Znews_updated_dataZnews_previous_dataZnews_updated_resultsZnews_previous_resultsr    r   r¡   r¢   ÚyÚzr!   r!   r"   Útest_defaultsà  sN    


      ý







rÂ   c               	   C   sè   t d  ¡ } tj| jd< d}t | ¡}| ddg¡}tj	t
|d�� | | ¡ W 5 Q R X tj	t
|d�� | |¡ W 5 Q R X |j| dd�}t|jd	ƒ |j| d
d�}t|jd	ƒ |j|d
d�}t|jd	ƒ |j|d
d�}t|jd	ƒ d S )Nrj   rm   z8Could not automatically determine the type of comparisonrn   ro   ©Úmatchr7   r¿   r   rJ   )rz   r>   r\   Únanr{   r	   r|   r}   ÚpytestÚraisesÚ
ValueErrorr   r   r   )r‰   ÚmsgrŒ   r�   r   r!   r!   r"   Útest_comparison_types  s"    
rÊ   Úuse_periodsc                 C   sô  t d  ¡ }| rtj}ndd„ }|jdd�}t |jd d… ¡}| ddg¡}| 	|¡}|d	d
dd�}t
|jj |¡ƒ |j	|dd
d�}|dd
dd�}t
|jj |¡ƒ |j	|ddd�}|dddd�}t
|jj |¡ƒ |j	||jd
 d
d�}|d	d
dd�}t
|jj |¡ƒ |j	||jd dd�}|dddd�}t
|jj |¡ƒ |j	|dd
d�}|dd
dd�}t
|jj |¡ƒ |j	|ddd�}|dddd�}t
|jj |¡ƒ |j	||jd
 d
d�}|d	d
dd�}t
|jj |¡ƒ |j	||jd dd�}|dddd�}t
|jj |¡ƒ |j	|ddd�}|dddd�}t
|jj |¡ƒ |j	|dd	d�}|dd	dd�}t
|jj |¡ƒ |j	|d|jd d�}|dddd�}t
|jj |¡ƒ |jd|jd d�}t
|jj |j¡ƒ |j	|d|jd
 d�}|dd	dd�}t
|jj |¡ƒ |jd|jd
 d�}t
|jj |j¡ƒ |j	||jd dd�}|dddd�}t
|jj |¡ƒ |j|jd dd�}t
|jj |j¡ƒ |j	||jd d	d�}|dd	dd�}t
|jj |¡ƒ |j|jd d	d�}t
|jj |j¡ƒ t|ƒ}t||jd
 ƒ |dddd�}|jd |d dfD ]T}	|j	|d|	d�}t
|jj |¡ƒ |	dk�r"|jd|	d�}t
|jj |j¡ƒ �q"|dddd�}|jd |d dfD ]T}
|j	||
dd�}t
|jj |¡ƒ |	dk�rš|j|
dd�}t
|jj |j¡ƒ �qšd S )Nrj   c                  _   s   t j| |Žjdd�S )Nr   ©r   )rO   r~   Úto_timestamp)ÚargsÚkwargsr!   r!   r"   Úindex_range1  s    z)test_start_end_dates.<locals>.index_ranger   rÌ   rm   rn   ro   rk   rW   rt   Z2009Q1©r   ru   rX   ©r   ru   )r   ru   r   ©r   r   r   rY   éýÿÿÿr   )rz   r>   rO   r~   rÍ   r	   r|   r{   r}   r   r   r   r   r   ÚnobsÚpredictr4   r   )rË   r‰   rÐ   rŒ   r�   r   rg   Ú	predictedZ
total_nobsr   r   r!   r!   r"   Útest_start_end_dates+  s˜    


rØ   r„   Úrange2Úint64ÚnumpyÚlistc           
      C   sl  t d  ¡ }t|ƒ}| dkrDt |¡|_|jd d… }t |d ¡}| dkr†tj|d dd�|_|jd d… }tj|d d dd�}n”| dkrÄt t 	|¡¡|_|jd d… }t t 	|d ¡¡}nV| d	krî|j
}|d d… }t |d ¡}n,| d
k�r| ¡ }|d d… }t |d ¡}t |¡}| ddg¡}| |¡}|dd… }t|jj |¡ƒ |j||jd dd�}|dd… }t|jj |¡ƒ |j||jd dd�}|dd… }t|jj |¡ƒ |j||jd dd�}|dd… }t|jj |¡ƒ |j||jd dd�}|dd… }t|jj |¡ƒ |j||jd |jd d�}|dd… }t|jj |¡ƒ | dk�rœ|j|jd |jd d�}	t|jj |	j¡ƒ |j||j|jd�}|dd… }t|jj |¡ƒ | dk�rþ|j|j|jd�}	t|jj |	j¡ƒ |j||j|jd d�}|dd… }t|jj |¡ƒ | dk�rh|j|j|jd d�}	t|jj |	j¡ƒ d S )Nrj   r„   rm   rX   rÙ   )ÚstopÚstep)rÞ   rÚ   rÛ   rÜ   rn   ro   éüÿÿÿrÔ   rW   rÑ   éûÿÿÿrÒ   iúÿÿÿrÓ   )rÛ   rÜ   rs   )rz   r>   r4   rO   Z
RangeIndexr   r{   ÚIndexr\   r   r³   r   r	   r|   r}   r   r   r   r   rÕ   rÖ   )
r�   r‰   rÕ   Z
endog_initZindex_plus2rŒ   r�   r   rg   r×   r!   r!   r"   Útest_start_end_int—  sr    





râ   c               	   C   s\   t d  ¡ } t | jd d… ¡}| ddg¡}d}tjt|d�� | 	| j
¡ W 5 Q R X d S )Nrj   rm   rn   ro   z?The index associated with the updated results is not a supersetrÃ   )rz   r>   r	   r|   r{   r}   rÆ   rÇ   rÈ   r   r³   )r‰   rŒ   r�   rÉ   r!   r!   r"   Útest_invalidá  s    rã   ),Ú__doc__Zstatsmodels.compat.pandasr   r   rÛ   r\   Znumpy.testingr   r   r   ZpandasrO   rÆ   Zstatsmodelsr   Zstatsmodels.tsa.statespacer   r	   r
   r   Z	macrodataZload_pandasÚdatarz   r~   r   r#   rE   rL   rU   ri   ÚmarkZparametrizerŽ   r£   r¥   r·   rº   r¾   rÂ   rÊ   rØ   râ   rã   r!   r!   r!   r"   Ú<module>   s^   
 ^:4{A:-
k ÿ
H