
    Vfd                        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	
          e_        d Zd Zd Zd Zd Zej                             ddg          ej                             ddg          d                         Z!ej                             dddg          ej                             dddg          ej                             dddg          d                                     Z"ej                             dddg          ej                             dddg          d                         Z#ej                             dddg          ej                             dddg          d                         Z$ej                             dddg          ej                             dddg          ej                             dddg          d                                     Z%ej                             dddg          ej                             dddg          d                         Z&ej                             dddg          ej                             dddg          d                         Z'd Z(ej                             dddg          d              Z)ej                             dg d!          d"             Z*d# Z+dS )$z<
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varmax1959Q12009Q3Qstartendfreqc                     dD ]`}t          | |          }t          |j                            |                     t	          |j                                        |           ad 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vals        Jlib/python3.11/site-packages/statsmodels/tsa/statespace/tests/test_news.pycheck_impact_indicesr%      sm    G ? ?dD!!	  ..///S[''))+=>>>>	? ?    c                    | j         j        t          t          | j        d                   d           t          t          | j        d                   d           t          t          | j        d                   d           t          t          | j        d                   d           d S | j        j        j        | j        j        j	        t          t                    rg|                                                    d          }|                                }fd|d         D             |d<   fd|d         D             |d<   t          | j                            |                    | j        j                                       t          | j                            |                     d S )Nrevision dater   revised variableTdropc                 :    g | ]}                     |          S  get_loc.0datedatess     r$   
<listcomp>z*check_revision_indices.<locals>.<listcomp>:   s8     )I )I )I$(EMM$)I )I )Ir&   c                 :    g | ]}                     |          S r-   r   r1   nameendog_namess     r$   r4   z*check_revision_indices.<locals>.<listcomp><   7     ,8 ,8 ,8 d##,8 ,8 ,8r&   )news_resultsr   r   lenrevisions_ilocrevisions_ixpreviousmodel_indexr9   
isinstancestrto_framereset_indexcopyr   r   astypedtypes)r   revisions_index
desired_ixdesired_ilocr3   r9   s       @@r$   check_revision_indicesrL   '   s   
 )1S,_=>>BBBS,-?@AA1EEES*?;<<a@@@S*+=>??CCCCC #*m)5k3'' 	(&-K$--//;;;FF
!(()I )I )I )I,6,G)I )I )I_%,8 ,8 ,8 ,8"#56,8 ,8 ,8'( 	#** 3 :;;= = 	> 	> 	>!((4455555r&   c                    | j         j        t          t          | j        d                   d           t          t          | j        d                   d           t          t          | j        d                   d           t          t          | j        d                   d           d S | j        j        j        | j        j        j	        t          t                    rg|                                                    d          }|                                }fd|d         D             |d<   fd|d         D             |d<   t          | j                            |                    | j        j                                       t          | j                            |                     d S )Nupdate dater   updated variableTr*   c                 :    g | ]}                     |          S r-   r.   r0   s     r$   r4   z(check_update_indices.<locals>.<listcomp>W   s8     'G 'G 'G$(EMM$'G 'G 'Gr&   c                 :    g | ]}                     |          S r-   r6   r7   s     r$   r4   z(check_update_indices.<locals>.<listcomp>Y   r:   r&   )r;   r   r   r<   updates_iloc
updates_ixupdatedr@   rA   r9   rB   rC   rD   rE   rF   r   r   rG   rH   )r   updates_indexrJ   rK   r3   r9   s       @@r$   check_update_indicesrV   E   s    '/S*=9::A>>>S*+=>??CCCS788!<<<S);<==qAAAAA ")l(4k3'' 	(&-K"++--99t9DD
!(('G 'G 'G 'G,6},E'G 'G 'G]#,8 ,8 ,8 ,8"#56,8 ,8 ,8'( 	!(( 1 899; ; 	< 	< 	<&&z2233333r&   c                    t          |          r|}n%t          j                            g g gddg          }| 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 )NrN   rO   names)r<   pd
MultiIndexfrom_productr?   r@   r9   rB   rC   r   r   r   r   update_forecastsupdate_realizedweightsr   )r   rU   r    
news_indexr9   weights_columnss         r$   check_news_indicesrb   b   s5    = A"

]//H],>? 0 A A
-%1K+s## $"mDIO"":..///D!'..z::;;;D &--j99:::DL%%j11222m00,1LMMODL ''8899999r&   c                    d| _         t          | ||           t          | |           t          | |           t	          | ||           |rt          | j        |d           n8t          t          j	        | j        
                                                     |rt          | j        |d           nSt          | j        j        d u            t          t          j	        | j        
                                                     | j                            d          | j                            d          z   }t          | j        |d           t          | j        |	d           t          | j        |
d           t          | j        |d           t          | j        |d           t          | j        |d           t          | j        |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           t          | j        d	         | j        d           | j        }g d}t+          |j                                        |           g d}t+          |j        j        |           |r| j        d
                                                             ddg          d
         }t          || j        d           | j        d	                                                             ddg          d	         }t          || j        d           | j        d                                                             ddg          d         }t          || j        d           t          |d                              ddg          | j        d           | j        d                              ddg          !                    d                               d          }t          || j        d           | j"        }g d}t+          |j                                        |           g d}t+          |j        j        |           |r| j"        d                                                             g d          d         }t          || j        d           t          | j"        d                              ddg          | j        d           | j"        d                              ddg          !                    d                               d          }t          || j        d           | j#        }g d}t+          |j                                        |           ddg}t+          |j        j        |           t          |j$        d d df         | j        %                                d           t          |j$        d d df         | j                            d          %                                d           t          |j$        d d d f         | j                            d          %                                d           t          |j$        d d d!f         | j        %                                d           t          |j$        d d d"f         | j        %                                d           d S )#Ng|۽g-q=)atolr   revisedzobserved (prev)r(   r)   observedforecast (prev)rN   rO   )rf   rg   r   weightimpact)impact dateimpacted variablerN   rO      r   rh   ri         )axis)r   rh   ri   )rN   rO   rf   rg   rj   rk   )rm   rn         rp   rq   )estimate (prev)impact of revisionsimpact of newstotal impactestimate (new)rj   rk   rr   rs   rt   ru   rv   )&	tolerancer%   rL   rV   rb   r   r   r   npallisnullr   r;   fillnar   r   r   r]   r^   r   r_   r   data_revisionsr   r   r   rY   r   data_updatesdetails_by_impactdrop_duplicatesrE   unstacksumdetails_by_updateimpactslocstack)r   	revisionsupdatesr    r!   rI   rU   r   r   r   r   r]   r^   news_desiredr_   r   r~   desiredactualr   r   s                        r$   
check_newsr   w   s    DN |-?@@@ 4111 }--- t]L999  6+^%HHHHHt*113344555  8-/?eLLLLL!2d:;;;t,335566777 *11!44(//223MD&EBBBB D02I       D02I        D)+;%HHHHD(/FFFFDI|%8888 DL'6666 $,3355./1 1 1$*0!#568 8 8D%,,_==>>> "*1133/02 2 2"(.!346 6 6D#**49?;;<<<D%&78)7 7 7 7D%j143G        .IIIG"*1133W===2 2 2G"(.888 A():;&(("{Aq6**+<> 	 5EBBBB(4&((aV)<)<ZI 45AAAA(0&((aV)<)<VE	6666 	)(3;;QFCC5	2 	2 	2 	2 (2w1vsss{{771:: 	 3%@@@@ .***G"*1133W===F F FG"(.888 A (0&((\\\)B)B6K	6666 	.x8@@!QHH5	2 	2 	2 	2 (2w1vsss{{771:: 	 3%@@@@ lG1 1 1G''))733312G$g...GK#4 4506688uF F F FGK#8 89)003399;;%I I I IGK#3 34'..q117799G G G GGK> 12&,,..U< < < <GK#3 3406688uF F F F F Fr&   r   Tr   c                 
   t           d                                         }d }|rC|j        d d                                         }|j        d d                                         }nD|j        d d                                         }|j        d d                                         }d}| r
d|j        d<   t	          j        |          }|                    ddg          }|                    |dd	|
          }t          j	        dd	d          }	dg}
| ro|rmt          j
                            |j        dd          dggddg          }|j        d         dt          j        d                              dd          z  z  }n| rt          j
                            |j        dd          dggddg          }t          j        d|j        d         dt          j        d          z  z  f                             dd          }n't          j
                            g g gddg          }d }|rt          j
                            t          j	        ddd          dggddg          }t          j        d|j        d         d|j        d         z  z
  d|j        d         z  d|j        d         z  z
  d|j        d         z  d|j        d         z  z
  gg          j        }n't          j
                            g g gddg          }d }t'          |           |rJt          j        |j        d         dt          j        d          z  z                               dd          }nVt          j        |j        d         |j        d         dt          j        d          z  z  f                             dd          }t          j        |j        d         dt          j        d          z  |j        d         z  f                             dd          }|rd|j        d         z  g|j        d         gfdt)          t+                              D             }t          j        t          j        ddt          j        d          z  f                   j        }nt          j        g t          j                  t          j        g t          j                  t          j        g t          j                  }t          j        t          j        d                    }t5          || ||	|
||||||||           d S )Ninfl2009Q2r   rT                 ?      ?2010Q1r   r   comparison_typer   r   r(   r)   rX   rp   rl   r   rn   r   periodsr   rN   rO   g      ?g      ?c                 2    g | ]}|         |         z
  S r-   r-   r1   ir]   r^   s     r$   r4   z/test_sarimax_time_invariant.<locals>.<listcomp>_  9     ? ? ? (*-=a-@@ ? ? ?r&   dtype)r   rp   )dtarF   r   ilocr
   SARIMAXsmoothr   rZ   period_ranger[   from_arraysr   rx   arangereshaper_arrayTprintranger<   	DataFrameSeriesfloat64zerosr   )r   r   endogr   endog1endog2modresr   r    r!   rI   r   rU   r   r   r   r   r_   r]   r^   s                      @@r$   test_sarimax_time_invariantr     sr    KEO $9H9%**,,9H9%**,,9H9%**,,9H9%**,, $ B /&
!
!C
**c3Z
 
 C88F($3  5 5D ?xcJJJL    W  -33\"##)"$67 4 9 9 ";r?S")A,,2F2Fq!2L2L-LL	 
 -33\"##)"$67 4 9 9 5v{2bill!22244;GAqMM 	 -33H_.@A 4 C C  11_8QSAAAF8L "45 2 7 7 uy"S59X+>%>>%)H%%81D(DDUYx((6EIh4G+GG$I #J K K LM 	
 11H],>? 2 A A	.  P"$%KOc29Q<<//#118A 	  #%%KOV[_sBIaLL/@@@#BBI'!Q-- 	  eB	!,v{2>>@@G1   1  &*X"667!:h/0? ? ? ? ?!&s+;'<'<!=!=? ? ?,ruQRYq\\(9%9:;;=9Rrz:::)Bbj999y2:666,rx//00 tY7I&(?,	I I I I Ir&   Fwhichexogtrendc                    t           d                                         }d }|rC|j        d d                                         }|j        d d                                         }nD|j        d d                                         }|j        d d                                         }d}| r
d|j        d<   d }d }d}	|dk    r)t	          j        |          }t	          j        |          }n|d	k    rd
}	t          j        |||	          }
|
                    g d          }|	                    ||dd|          }t          j        |          }|                    ddg          }|	                    |dd|          }g d}|D ]]}t          ||          }t          ||          }t          |t          j                  rt          ||           Mt          ||           ^d S )Nr   r   r   rT   r   r   nr   r   tr   r   )r   r   r   2008Q1r   r   r   r   r   r   r   r   r   r   r   r_   r]   r^   r   r   r=   r>   rR   rS   )r   rF   r   r   rx   	ones_liker
   r   r   r   r   rB   rZ   r   r   r   )r   r   r   r   r   r   r   exog1exog2r   mod1res1news1mod2res2news2attrsr"   wxs                       r$   test_sarimax_time_varyingr   p  s    KEO $9H9%**,,9H9%**,,9H9%**,,9H9%**,, $ BEEEV$$V$$	'		
 ?6U;;;D;;~~~&&DIIf5h&5  7 7E ?6""D;;Sz""DIIfH(&5  7 7EM M ME
  % %E4  E4  a## 	%1%%%%q!$$$$% %r&   c                    t           d                                         }d }|rC|j        d d                                         }|j        d d                                         }nD|j        d d                                         }|j        d d                                         }d}| r
d|j        d<   t	          j        |          }t	          j        |          }t          j        |d|          }|                    g d	          }	|		                    ||d
d|          }
t          j        |d          }|                    ddg          }|	                    |d
d|          }g d}|D ]]}t          |
|          }t          ||          }t          |t          j                  rt          ||           Mt          ||           ^d S )Nr   r   r   rT   r   r   llevel)r   )r   皙?r   r   r   r   r   r   r   )r   rF   r   r   rx   r   r   UnobservedComponentsr   r   r   rB   rZ   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r"   r   r   s                     r$   'test_unobserved_components_time_varyingr     s    KEO $9H9%**,,9H9%**,,9H9%**,,9H9%**,, $ BL  EL  E
 *68%HHHD;;''DIIf5h&5  7 7E *68<<D;;Sz""DIIfH(&5  7 7EM M ME
  % %E4  E4  a## 	%1%%%%q!$$$$% %r&   c                    t           ddg                                         }t          j        |d                                                   dz  |d<   |j        dd          }d }|rC|j        d d                                         }|j        d d                                         }nD|j        d d                                         }|j        d d                                         }d}| r
d|j        d	<   t          j        |d
          }t          j	        d         }|
                    |          }|                    |dd|          }	t          j        ddd          }
ddg}t          j        d          }t          j        d          }|d         }||z  }||z  }| rp|rnt          j                            |j        d	d          ddggddg          }|j        d         j        }t          j        ||z  ||z  ||z  ||z  f         j        }n| rnt          j                            |j        d	d          ddggddg          }|j        d	         j        }t          j        ||z  ||z  ||z  ||z  f         j        }n't          j                            g g gddg          }d }|rs|j        d	         j        }t          j        ||z  ||z  ||z  ||z  f         j        }|j        d         j        }t          j        ||z  ||z  ||z  ||z  f         j        }n|j        d	         j        }t          j        ||j        d         z  ||z  ||z  ||z  f         j        }|j        d	         j        }t          j        ||j        d         z  ||z  ||z  ||z  f         j        }|j        d	         j        }t          j        ||j        d         z  ||z  ||z  ||z  f         j        }|rBt          j                            t          j        ddd          ddggddg          }||z
  }n't          j                            g g gddg          }d }|r||j        d         j        z  |j        d         j        fdt-          t/                              D             }t          j                            |
|gddg          }t          j        t          j        d          ||          }||j        d d df<   ||j        d d df<   |j        |j        d d d f<   |j        |j        d d df<   nt          j        g t          j        !          t          j        g t          j        !          t          j        g t          j        !          }t          j        t          j        d"                    }t7          |	| ||
|||||||||           d S )#Nrealgdpunemp  rl   r   r   rT   r   r   r   r   r   皙?r   ?r   r   皙?r   r   r   r   )rm   rm   rm   
transitionr(   r)   rX   r   r   rN   rO   c                 2    g | ]}|         |         z
  S r-   r-   r   s     r$   r4   z.test_varmax_time_invariant.<locals>.<listcomp>G  r   r&   zimpact dateszimpacted variables)rm      )r   r   2009Q4r   )r   r   )r   rF   rx   logdiffr   r   r   VARMAXr   r   r   rZ   r   r   eyer[   r\   r   valuesc_r   r   r<   r   r   r   r   )r   r   r   r   r   r   r   paramsr   r   r    r!   ZT0T1T2T3rI   tmpr   r   rev_impacted_forecastsr   rU   r   r   r   r_   r]   r^   s                               @@r$   test_varmax_time_invariantr     s    G$%**,,EveI.//4466<E)JqrrNEO $9H9%**,,9H9%**,,9H9%**,,9H9%**,, $ B -c
*
*
*CU34F
**V

C88F($3  5 5D ?xcJJJL#W- 	A	B	\	B	bB	bB   W  -44\"##G 45"$67 5 9 9 k"o$5c28R#XrCx!GHJ	  -44\"##G 45"$67 5 9 9 k"o$5S"s(BHb3h!FGI-44H"$67 5 9 9    Bk"o$"$%S"s((*S"s(); #<<= 	 k"o$!#rCxc')Cxc(: ";;< 	 k"o$"$%R "s(BHb3h>#@@A 	 k"o$!#R "s(BHb3h>"@@A 	
+b/
 C e
V[_b3hS"s(:<<=   22_8QSAAA!#+8:L*M 3 O O 13II22H],>? 3 A A  1 
8 4 ;; *X.5? ? ? ? ?!&s+;'<'<!=!=? ? ?-,,-.!#78 - : : ,rx//}'.0 0 0#$AAAxK #%AAAxK #%4AAAxK #%4AAAxK  9Rrz:::)Bbj999y2:666,rx//00 tY7I&(?,	I I I I Ir&   c                    t           ddg                                         }t          j        |d                                                   dz  |d<   |j        dd          }d }|rC|j        d d                                         }|j        d d                                         }nD|j        d d                                         }|j        d d                                         }d}| r
d|j        d	<   d }d }d
}	|dk    rYt          j        |d                   }t          j        |d                   }t          j        d         }
t          j        d         }n,|dk    r&d}	t          j        d         }
t          j        d         }t          j
        |||	          }|                    |
          }|                    ||dd|          }t          j
        |d
          }|                    |          }|                    |dd|          }g d}|D ]]}t          ||          }t          ||          }t          |t          j                  rt#          ||           Mt%          ||           ^d S )Nr   r   r   rl   r   r   rT   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   r   r   r   r   r   )r   rF   rx   r   r   r   r   r   r   r   r   r   r   r   rB   rZ   r   r   r   )r   r   r   r   r   r   r   r   r   r   params1params2r   r   r   r   r   r   r   r"   r   r   s                         r$   test_varmax_time_varyingr   `  s    G$%**,,EveI.//4466<E)JqrrNEO $9H9%**,,9H9%**,,9H9%**,,9H9%**,, $ BEEEVI.//VI.//%@A%89	'		%@A%89
 =e5999D;;wDIIf5h&5  7 7E =s+++D;;wDIIfH(&5  7 7EM M ME
  % %E4  E4  a## 	%1%%%%q!$$$$% %r&   c                    t           ddg                                         }t          j        |d                                                   dz  |d<   |j        dd          }d }|rC|j        d d                                         }|j        d d                                         }nD|j        d d                                         }|j        d d                                         }d}| r
d|j        d	<   t          j        |d                   }t          j        |d                   }t          j        d
         }t          j        d         }	t          j
        ||dd          }
|
                    |          }|                    ||dd|          }t          j
        |dd          }|                    |	          }|                    |dd|          }g d}|D ]]}t          ||          }t          ||          }t          |t          j                  rt#          ||           Mt%          ||           ^d S )Nr   r   r   rl   r   r   rT   r   r   )r   r   r   r   333333?r   r   r   )r   r   r   r   r   r   rm   )r   	k_factorsfactor_orderr   r   )r   r   r   r   )r   rF   rx   r   r   r   r   r   r   r	   DynamicFactorr   r   r   rB   rZ   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r"   r   r   s                       r$    test_dynamic_factor_time_varyingr     s^    G$%**,,EveI.//4466<E)JqrrNEO $9H9%**,,9H9%**,,9H9%**,,9H9%**,, $ BL	*++EL	*++Ee:;Ge01G
 'U23!E E ED;;wDIIf5h&5  7 7E '!!LLLD;;wDIIfH(&5  7 7EM M ME
  % %E4  E4  a## 	%1%%%%q!$$$$% %r&   c                 V   t           d                                         }|rC|j        d d                                         }|j        d d                                         }nB|j        d d                                         }|j        d d                                         }| r
d|j        d<   t	          j        |          }|                    ddg          }t	          j        |          }|                    ddg          }|                    |d	          }	|                    |d
	          }
|                    |d	          }|                    |d
	          }g d}|D ]}t          |	|          }t          |
|          }t          ||          }t          ||          }t          |t          j                  r1t          ||           t          ||           t          ||           t          ||           t          ||           t          ||           d S )Nr   r   r   r   r   r   r   rT   r   r?   r   )r   rF   r   r   r
   r   r   r   r   rB   rZ   r   r   r   )r   r   r   r   r   r   r   r   r   news_updated_datanews_previous_datanews_updated_resultsnews_previous_resultsr   r"   r   r   yzs                      r$   test_defaultsr     s1    KE -9H9%**,,9H9%**,,9H9%**,,9H9%**,, B ?6""D;;Sz""D?6""D;;Sz""D		&)	DD6:FF99T99EE IIdJIGGM M ME
  % %%t,,&--($//)400a## 	%1%%%1%%%1%%%%q!$$$q!$$$q!$$$$% %r&   c                  F   t           d                                         } t          j        | j        d<   d}t          j        |           }|                    ddg          }t          j	        t          |          5  |                    |            d d d            n# 1 swxY w Y   t          j	        t          |          5  |                    |           d d d            n# 1 swxY w Y   |                    | d          }t          |j        d	           |                    | d
          }t          |j        d	           |                    |d
          }t          |j        d	           |                    |d
          }t          |j        d	           d S )Nr   r   z8Could not automatically determine the type of comparisonr   r   matchr?   r   r   rT   )r   rF   rx   nanr   r
   r   r   pytestraises
ValueErrorr   r   r   )r   msgr   r   r   s        r$   test_comparison_typesr	    s   KEVEJrN
DC
/%
 
 C
**c3Z
 
 C 
z	-	-	-                	z	-	-	-                 88E:866DD&***88E9855DD&***88C833DD&***88C833DD&*****s$   <BB"%B"C&&C*-C*use_periodsc                    t           d                                         }| rt          j        }nd }|                    d          }t          j        |j        d d                   }|                    ddg          }|	                    |          } |dd	d
          }t          |j        j                            |                     |	                    |dd	          } |dd	d
          }t          |j        j                            |                     |	                    |dd          } |ddd
          }t          |j        j                            |                     |	                    ||j        d	z
  d	          } |dd	d
          }t          |j        j                            |                     |	                    ||j        dz
  d          } |ddd
          }t          |j        j                            |                     |	                    |dd	          } |dd	d          }t          |j        j                            |                     |	                    |dd          } |ddd          }t          |j        j                            |                     |	                    ||j        d	z
  d	          } |dd	d          }t          |j        j                            |                     |	                    ||j        dz
  d          } |ddd          }t          |j        j                            |                     |	                    |dd          } |ddd          }t          |j        j                            |                     |	                    |dd          } |ddd          }t          |j        j                            |                     |	                    |d|j        dz
            } |ddd          }t          |j        j                            |                     |                    d|j        dz
            }t          |j        j                            |j                             |	                    |d|j        d	z
            } |ddd          }t          |j        j                            |                     |                    d|j        d	z
            }t          |j        j                            |j                             |	                    ||j        dz
  d          } |ddd          }t          |j        j                            |                     |                    |j        dz
  d          }t          |j        j                            |j                             |	                    ||j        dz
  d          } |ddd          }t          |j        j                            |                     |                    |j        dz
  d          }t          |j        j                            |j                             t!          |          }t#          ||j        d	z               |ddd          }|j        dz
  |dz
  dfD ]}	|	                    |d|	          }t          |j        j                            |                     |	dk    rH|                    d|	          }t          |j        j                            |j                              |ddd          }|j        dz
  |dz
  dfD ]}
|	                    ||
d          }t          |j        j                            |                     |	dk    rH|                    |
d          }t          |j        j                            |j                             d S )Nr   c                  L    t          j        | i |                    d          S )Nr   r   )rZ   r   to_timestamp)argskwargss     r$   index_rangez)test_start_end_dates.<locals>.index_range1  s(    ?D3F33@@c@JJJr&   r   r  r   r   r   r   rl   r   2009Q1r   r   rm   r   r   )r   r   r   r   r   r   rn   r   )r   rF   rZ   r   r  r
   r   r   r   r   r   r   r   r   nobspredictr<   r   )r
  r   r  r   r   r   r   	predicted
total_nobsr   r   s              r$   test_start_end_datesr  +  s   KE -o	K 	K 	K""",,
/%*SbS/
*
*C
**c3Z
 
 C 88E??Dk!#>>>GD$++G44555 88E1855Dk!#>>>GD$++G4455588E1855Dk!#>>>GD$++G44555 88EAq899Dk!#>>>GD$++G4455588EAq899Dk!#>>>GD$++G44555 88Ex833Dkh<<<GD$++G4455588Ex833Dkh<<<GD$++G44555 88Esx!|Q877Dkh<<<GD$++G4455588Esx!|Q877Dkh<<<GD$++G44555 88Ex888DkhSAAAGD$++G4455588Ex888DkhSAAAGD$++G44555 88Esx!|8<<DkhSAAAGD$++G44555(1==ID$++IO<<===88Esx!|8<<DkhSAAAGD$++G44555(1==ID$++IO<<=== 88EA88<<DkhSAAAGD$++G44555#(Q,H==ID$++IO<<===88EA88<<DkhSAAAGD$++G44555#(Q,H==ID$++IO<<===
 UJSX\*** khSAAAG1j1nb1 F FxxX3x77"(//8899977(<<ID&,33IODDEEE khSAAAG(Q,
Q3 F FxxUx99"(//8899977%X>>ID&,33IODDEEEF Fr&   )r   range2int64numpylistc                    t           d                                         }t          |          }| dk    r?t          j        |          |_        |j        d d         }t          j        |dz             }| dk    rJt          j        |dz  d          |_        |j        d d         }t          j        |dz   dz  d          }n| dk    rdt          j        t          j	        |                    |_        |j        d d         }t          j        t          j	        |dz                       }nj| d	k    r)|j
        }|d d         }t          j        |dz             }n;| d
k    r5|                                }|d d         }t          j        |dz             }t          j        |          }|                    ddg          }|                    |          }|dd         }t!          |j        j                            |                     |                    ||j        dz
  d          }|dd         }t!          |j        j                            |                     |                    ||j        dz
  d          }|dd         }t!          |j        j                            |                     |                    ||j        dz
  d          }|dd         }t!          |j        j                            |                     |                    ||j        dz
  d          }|dd         }t!          |j        j                            |                     |                    ||j        dz
  |j        dz
            }|dd         }t!          |j        j                            |                     | dvrX|                    |j        dz
  |j        dz
            }	t!          |j        j                            |	j                             |                    ||j        |j                  }|dd         }t!          |j        j                            |                     | dvrR|                    |j        |j                  }	t!          |j        j                            |	j                             |                    ||j        |j        dz             }|dd         }t!          |j        j                            |                     | dvrW|                    |j        |j        dz             }	t!          |j        j                            |	j                             d S d S )Nr   r   r   rm   r  )stopstep)r"  r  r  r  r   r   r  rl   r  r  ir  )r  r  r   )r   rF   r<   rZ   
RangeIndexr   r   Indexrx   r   r   r   r
   r   r   r   r   r   r   r  r  )
r   r   r  
endog_initindex_plus2r   r   r   r   r  s
             r$   test_start_end_intr)    s    KEu::DmD))Z_
mD1H--m:::Z_
mTAXN;;;	'		hry//Z_
hry2233	'		3B3Z
mD1H--	&3B3Z
mD1H--
/*
%
%C
**c3Z
 
 C 88E??D"R% GD$++G44555 88EAq899D"R% GD$++G4455588EAq899D"R% GD$++G44555 88Esx!|Q877D"R% GD$++G4455588Esx!|Q877D"R% GD$++G44555 88EA38a<8@@D"R% GD$++G44555%%%KKchl1KEE	"(//	@@AAA88Esx888D"R% GD$++G44555%%%KKchCHK==	"(//	@@AAA88Esx!|8<<D"R% GD$++G44555%%%KKchCHqLKAA	"(//	@@AAAAA &%r&   c                  T   t           d                                         } t          j        | j        d d                   }|                    ddg          }d}t          j        t          |          5  |	                    | j
                   d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   z?The index associated with the updated results is not a supersetr  )r   rF   r
   r   r   r   r  r  r  r   r   )r   r   r   r  s       r$   test_invalidr+    s    KE
/%*SbS/
*
*C
**c3Z
 
 C
KC	z	-	-	-                   s   5BB!$B!),__doc__statsmodels.compat.pandasr   r   r  rx   numpy.testingr   r   r   pandasrZ   r  statsmodelsr   statsmodels.tsa.statespacer	   r
   r   r   	macrodataload_pandasdatar   r   r   r%   rL   rV   rb   r   markparametrizer   r   r   r   r   r   r   r	  r  r)  r+  r-   r&   r$   <module>r7     s          
     @ @ @ @ @ @ @ @ @ @                             $$&&+BO(sCCC	? ? ?6 6 6<4 4 4:: : :*TF TF TFr tf--TF++[I [I ,+ .-[I| tUm44T5M2267"3447% 7% 54 32 547%t tUm44T5M221% 1% 32 541%h tUm44T5M22xI xI 32 54xIv tUm44T5M2267"344>% >% 54 32 54>%B tUm44T5M227% 7% 32 547%t tUm44T5M22*% *% 32 54*%Z+ + +8 u66hF hF 76hFV  #4 #4 #4 5 5EB EB5 5EBP    r&   