
    !gj                       d Z ddl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 ddlmZmZmZmZ dd	lmZ d
 Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d  Z.d! Z/d" Z0d# Z1d$ Z2d% Z3d& Z4d' Z5d( Z6d) Z7d* Z8d+ Z9d, Z:d- Z;d. Z<d/ Z=d0 Z>d1 Z?d2 Z@d3 ZAej                  j                  d4        ZDd5 ZEd6 ZFej                  j                  d7        ZGy)8zR
Tests for simulation of time series

Author: Chad Fulton
License: Simplified-BSD
    )	MONTH_ENDN)assert_assert_allcloseassert_equal)lfilter)EstimationWarningSpecificationWarning)dynamic_factorsarimax
structuralvarmax   )TVSSc                     t         j                  j                  d       d} t         j                  j                  |       }t	        j
                  dgd      }|j                  ddg| d	z   t         j                  |df   t        j                  |j                        
      }t        d	gd	dg|      }t        |d	d  |       t	        j
                  dgd      }|j                  ddg| d	z   t         j                  |df   t        j                  |j                        
      }t        d	dgd	g|      }t        |d	d  |       t	        j
                  dgd      }|j                  g d| d	z   t         j                  |df   t        j                  |j                        
      }t        d	dgd	dg|      }t        |d	d  |       y )N'  d   sizer   r   r   r   order      ?      ?r   state_shocksinitial_state      ࿩r   r   r   r   r   r   r   皙?r   r!   )nprandomseednormalr   SARIMAXsimulater_zerosk_statesr   r   )nobsepsmodactualdesireds        k/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/tsa/statespace/tests/test_simulate.pytest_arma_lfilterr1      s    IINN5D
))



%C //1#Y
/C\\3)TAXBEE#q&M(*(>  @FqcAt9c*GF12J( //1#Y
/C\\3)TAXBEE#q&M(*(>  @Fq#hS)GF12J( //1#Y
/C\\.$(sAv(*(>  @Fq#hD	3/GF12J(    c                  
   t         j                  j                  d       d} t         j                  j                  |       }t         j                  j                  |       }t	        j
                  dgd      }|j                  ddg| d	z   t         j                  |df   t        j                  |j                        
      }t        j                  |       }t        |       D ]$  }|dk(  r	||   ||<   d||d	z
     z  ||   z   ||<   & t        |d	d  |       t	        j
                  dgd      }|j                  ddg| d	z   t         j                  |df   t        j                  |j                        
      }t        j                  |       }t        |       D ]$  }|dk(  r	||   ||<   d||d	z
     z  ||   z   ||<   & t        |d	d  |       t	        j
                  dgd      }|j                  g d| d	z   t         j                  |df   t        j                  |j                        
      }t        j                  |       }t        |       D ]0  }|dk(  r	||   ||<   d||d	z
     z  d||d	z
     z  z   ||   z   ||<   2 t        |d	d  |       t	        j
                  dgdd      }|j                  g d| d	z   t         j                  |df   t        j                  |j                        
      }t        j                  |       }t        |       D ]8  }d}|dk(  r|||   z   ||<   |d||d	z
     z  z   d||d	z
     z  z   ||   z   ||<   : t        |d	d  |       t	        j
                  t        j                  | d	z         dd      }|j                  g d| d	z   t         j                  |df   t        j                  |j                        
      }t        j                  |       }t        |       D ]A  }dd|d	z   z  z   }|dk(  r|||   z   ||<   |d||d	z
     z  z   d||d	z
     z  z   ||   z   ||<   C t        |d	d  |       t	        j
                  t        j                  | d	z         t         j                  d|f   dd      }|j                  g d| d	z   t         j                  |df   t        j                  |j                        
      }t        j                  |       }t        |       D ]A  }dd|d	z   z  z   }|dk(  r|||   z   ||<   |d||d	z
     z  z   d||d	z
     z  z   ||   z   ||<   C |d|z  z
  }t        |d	d  |       y )Nr   r   r   r   r   r   r   r   r   r   r   r   r    r!   cr   trend)?r   r!   r   r7   ct)r7   r!   r   r!   r   )exogr   r6   )r7   r!   r   r   r!   r   )r"   r#   r$   r%   r   r&   r'   r(   r)   r*   ranger   )r+   r,   r9   r-   r.   r/   ir6   s           r0   test_arma_directr<   <   sh   
 IINN5D
))



%C99&D //1#Y
/C\\3)TAXBEE#q&M(*(>  @FhhtnG4[ 76QGAJwq1u~-A6GAJ	7
 F12J( //1#Y
/C\\3)TAXBEE#q&M(*(>  @FhhtnG4[ 36QGAJs1q5z)CF2GAJ	3
 F12J( //1#Y
/C\\.$(sAv(*(>  @FhhtnG4[ J6QGAJwq1u~-c!a%j0@@3q6IGAJ	J
 F12J( //1#Yc
:C\\-tax')uuS!V}(*(>  @F hhtnG4[ 56QGAJ#A"66AE
*+-0V4GAJ5 F12J(
 //"((4!8,IT
JC\\2D1H')uuS!V}(*(>  @F hhtnG4[ 5cQUm#6QGAJ#A"66AE
*+-0V4GAJ5 F12J( //"((4!8,255D> )7C\\8$(')uuS!V}(*(>  @F hhtnG4[ 5cQUm#6QGAJ#A"66AE
*+-0V4GAJ5 d
"GF12J(r2   c            	         t         j                  j                  d       d} t         j                  j                  |       }t         j                  j                  |       }t        j                  |       }t        j                  |       }d|d<   t        j                  |       }d|dd  t        j                  dgd      }t        j                  dgd	
      }|j                  ddg| |t        j                  |j                              }|j                  ddg| |t        j                  |j                              }	t        ||	       t        j                  t        j                  |       |d      }t        j                  t        j                  |       |d	      }|j                  g d| |t        j                  |j                              }|j                  g d| |t        j                  |j                              }	t        ||	       t        j                  dgd      }
|
j                  dg| |t        j                  |
j                              }t        ||       t        }d}t        j                  ||      5  t        j                  dgd      }
d d d        |
j                  dg| |dg      }t        |d|z          t        j                  dgd      }
|
j                  dg| |dg      }t        |d|z          t        j                  dgd      }
|
j                  ddg| ||t        j                  |
j                              }t        |||z          t        j                  dgd      }
|
j                  dg| ||t        j                  |
j                              }t        |||z          t        }d}t        j                  ||      5  t        j                  dgd      }
d d d        |
j                  ddg| ||ddg      }t        ||t        j                  d      z          t        j                  dgd      }
|
j                  dg| ||ddg      }t        ||t        j                  d      z          t        j                  dgd      }
|
j                  ddg| ||ddg      }|t         j                   t        j                  d      dt        j                  dd      z   f   z   }	t        ||	       t        j                  dgd      }
|
j                  dg| |ddg      }t         j                   t        j                  d      dt        j                  dd      z   f   }	t        ||	       t        j                  dgd       }
|
j                  g d!| |t         j"                  ||f   ddg      }|t         j                   t        j                  d      dt        j                  dd      z   f   z   }	t        ||	       |
j                  g d!| |t         j"                  ||f   ddg      }|t         j                   t        j                  d      t        j                  dd"d#      f   z   }	t        ||	       t        j                  dgd$      }
|
j                  ddg| ||ddg      }|t         j                   t        j                  d         z   }	t        ||	       |
j                  ddg| ||ddg      }|t         j                   t        j                  d      t        j                  dd"d#      f   z   }	t        ||	       t        j                  dgd%      }
|
j                  ddg| |ddg      }t         j                   t        j                  d         }	t        ||	       |
j                  ddg| |ddg      }t         j                   t        j                  d      t        j                  dd"d#      f   }	t        ||	       t        j                  dgdd#d&'      }
|
j                  dg| |dg      }|t        j$                  dd(gd      z   }	t        ||	       t        j                  dgdd#)      }
|
j                  ddg| ||dg      }|t         j                   t        j$                  dd(gd*      t        j$                  d+d,gd*      f   z   }	t        ||	       t        j                  dgdd-.      }
|
j                  dd/g| |ddg      }t        j&                  d/      t        j(                  d/      g}t        j(                  d/       t        j&                  d/      g}t        j*                  ||g      }|}	ddg}t-        |       D ](  }|	|xx   |d   z  cc<   t        j.                  ||      }* t        ||	       t        j                  dgdd-d-0      }
|
j                  g d1| |t         j"                  ||f   ddg      }t        j&                  d/      t        j(                  d/      g}t        j(                  d/       t        j&                  d/      g}t        j*                  ||g      }|}	ddg}t-        |       D ].  }|	|xx   |d   z  cc<   t        j.                  ||      ||   z   }0 t        ||	       y # 1 sw Y   ExY w# 1 sw Y   xY w)2N#  r   r   r   1   2   r   )autoregressiver   r   r   r   )r9   rA   )r9   r   )r   r   r!   )r!   r   r   	irregularr   )measurement_shocksr   zirregular component addedmatchzfixed intercept
   zdeterministic constantlocal levelrC   r   r   zrandom walkzfixed slopezdeterministic trendz local linear deterministic trendzrandom walk with driftzlocal linear trendr   r   r         zsmooth trendzrandom trendF)seasonalstochastic_seasonali)rL         iT)cycle333333?)rP   stochastic_cycle)r   r   rQ   )r"   r#   r$   r%   r)   r   UnobservedComponentsr   r&   r'   r*   r   r	   pytestwarnsaranger(   c_tilecossinarrayr:   dot)r+   r,   r9   eps1eps2eps3mod1mod2r.   r/   r-   warningrE   x1x2Tstatesr;   s                     r0   test_structuralrg      s
   IINN5D
))



%C99&D88D>D88D>DDH88D>DDI **A3qAD??A3i0D]]As8T)+$--)@  BFmmS!Hd*,((4==*A  CGFG$ **288D>:;=D??288D>IFD]]=$S)+$--)@  BFmmM4c*,((4==*A  CGFG$ 
)
)1#{
;C\\2$(*(>  @FFC 
 #G'E	gU	+ F--qc3DEF\\2$)+  .FFBH% 
)
)1#/G
HC\\2$)+  .FFBH% 
)
)1#}
=C\\2r(DS'+(*(>  @F FC$J' 
)
)1#}
=C\\2$'+(*(>  @F FC$J'
 #G'E	gU	+ B--qc=AB\\2r(DS'+Aq6  CFFC"))C.01 
)
)1#/D
EC\\2$'+Aq6  CFFC"))C.01 
)
)	
/1C\\2r(DS'+Aq6  CFBEE"))B-RYYr3-?)??@@GFG$ 
)
)1#/G
HC\\2$4)*A  0FeeBIIbM1ryyS'9#99:GFG$ 
)
)1#/C
DC\\,')uuT4Z'8A  PFBEE"))B-RYYr3-?)??@@GFG$\\,')uuT4Z'8A  PFBEE"))B-2sA)>>??GFG$ 
)
)1#~
>C\\2r(DS'+Aq6  CFBEE"))C.))GFG$\\2r(DS'+Aq6  CFBEE"))B-2sA)>>??GFG$ 
)
)1#~
>C\\2r(D'+Aq6  CFeeBIIcN#GFG$\\2r(D'+Aq6  CFeeBIIbM299Ra#889GFG$ 
)
)1#{Q>CEC\\2$)+  .FBGGRIr**GFG$ 
)
)1#{Q
GC\\2r(DS'+B4  AFBEE"''2s)R0"''2s)R2HHIIGFG$ 
)
)1#{$
GC\\2s)Tc)*A  0F
&&+rvvc{	#B66#;,s	$B
"bAGVF4[ #
fQi
6"# FG$ 
)
)1#{$;?AC\\-#')uuT4Z'8A  PF
&&+rvvc{	#B66#;,s	$B
"bAGVF4[ -
fQi
6"T!W,- FG$QF F>B Bs   k)%k6)k36l c            	      (   t         j                  j                  d       d} t         j                  j                  |       }t         j                  j                  | df      }t        j                  |       }t        j                  |       }d|d<   t        j                  |       }d|dd  t        j                  dggdd	
      }t        j                  dgd      }|j                  g d| |t        j                  |j                              }|j                  g d| |t        j                  |j                              }	t        ||	       t        j                  dggdd	
      }t        j                  dgd      }|j                  g d| |t        j                  |j                              }|j                  g d| |t        j                  |j                              }	t        ||	       t        }
d}t        j                  |
|      5  t        j                  dggdd	
      }d d d        t        j                  dgd      }|j                  g d| |t        j                  |j                              }|j                  g d| |t        j                  |j                              }	t        ||	       t        }
d}t        j                  |
|      5  t        j                  dggdd
      }d d d        t        j                  dgdd
      }|j                  g d| |t        j                  |j                              }|j                  g d| |t        j                  |j                              }	t        ||	       t        j                  ddgddgg      }t        j                  ddggdd	
      }|j                  t         j                   |j#                         dddf   | t         j$                  ||f   t        j                  |j                              }t        |d       |j                  t         j                   |j#                         dddf   | t         j$                  ||f   ddg      }t        j                  | df      }	t         j                   d   }t'        |       D ]  }||	|<   t        j(                  ||      } t        ||	       t        j                  ddggdd	d !      }|j                  t         j                   |j#                         dddddf   | t         j$                  ||f   t         j$                  ||f   t        j                  |j                        "      }t        |t         j$                  ||f          t        j                  t        j                  | df      dd	|#      }|j                  t         j                   |j#                         d$d%dddf   | t         j$                  ||f   ddg      }t        j                  | df      }	t         j                   d   }t'        |       D ]4  }||	|<   || dz
  k  s||dz      d$d%gz  t        j(                  ||      z   }6 t        ||	       t        j                  t         j                  j                  | df      d&d	
      }|j                  |j*                  |        t        }
d}t        j                  |
|      5  t        j                  t         j                  j                  | df      dd|#      }d d d        |j                  |j*                  |        y # 1 sw Y   =xY w# 1 sw Y   |xY w# 1 sw Y   @xY w)'Niެ r   r   r   r?   r@   r   )rK   r   nr5   rK   r   r   r   r   r!   r   r   )r   rK   )r   r   rK   zVARMA\(p,q\) models is notrD   rK   rK   )rK   r   rK   )r   r!   皙?皙ɿr   r4   )rF   r   r!   rm   rn   r   r   rm   gr!   r   r   r   rK   )r   r   T)r   r6   measurement_errorrH   )r   r6   r9      )r   r   )r"   r#   r$   r%   r)   r   VARMAXr   r&   r'   r*   r   r   rT   rU   r[   r(   ravelrW   r:   r\   start_params)r+   r,   r9   r]   r^   r_   r`   ra   r.   r/   rb   rE   
transitionr-   stater;   s                   r0   test_varmaxrx   U  s   IINN6D
))



%C99$+D88D>D88D>DDH88D>DDI ==1#fC8D??A3i0D]]=$S)+$--)@  BFmmM4c*,((4==*A  CGFG$ ==1#fC8D??A3i0D]]=$S)+$--)@  BFmmM4c*,((4==*A  CGFG$  G)E	gU	+ =}}qcU&<=??A3i0D]]3T)+$--)@  BFmm4d*,((4==*A  CGFG$  G)E	gU	+ =}}qcU&<=??A3is;D]]7(+)+$--)@  BF mm8$),*,((4==*A  CG FG$ C#; #;( )J --!Qc
:C\\"%%
 0 0 2B2 =>')uuT4Z'8(*(>  @F FA\\"%%
 0 0 2B2 =>')uuT4Z'8A  PFhhay!GEE$KE4[ *
z5)* FG$ --!Qc*.0C\\"%%
 0 0 2B2r2 EF-/UU38_')uuT4Z'8(*(>  @F FBEE#s(O, --$+6!#C\\"%%
 0 0 2Ar2q" DEt')uuT4Z'8A  PFhhay!GEE$KE4[ F
tax<QK1b')BFF:u,EEEF FG$ --
		tQi(cCCLL!!4(  G)E	gU	+ mmII4),F# LL!!4(]= == =| s$   ].&];:^.]8;^^c            	         t         j                  j                  d       d} t         j                  j                  |       }t         j                  j                  | df      }t        j                  |       }t        j                  |       }d|d<   t        j                  |       }d|dd  t        j                  ddggdd	      }t        j                  dgd
      }|j                  g d| t         j                  ||f   |t        j                  |j                              }|j                  g d| |t        j                  |j                              }	t        |d d df   d|	z         t        |d d df   d|	z         t        j                  t        j                  | df      dd|      }t        j                  dgd
      }|j                  g d| t         j                  ||f   |t        j                  |j                              }|j                  g d| |t        j                  |j                              }	t        |d d df   d|	z  d|d d df   z  z          t        |d d df   d|	z  d|d d df   z  z
         t        j                  t         j                  j                  | df      dd|dd      }
|
j                  |
j                  |        y )Ni+n r   r   r   r?   r@   r   rK   	k_factorsfactor_orderrj   r   )皙?r   r   r   r!   rH   rk   r   r}   r~   r{   r|   r9   )r}   r~   rq   rr   r   r   r   r!   rq      T)r{   r|   r9   error_order	error_var)r"   r#   r$   r%   r)   r
   DynamicFactorr   r&   r'   rW   r*   r   ru   )r+   r,   r9   r]   r^   r_   r`   ra   r.   r/   r-   s              r0   test_dynamic_factorr     s   IINN5D
))



%C99$+D88D>D88D>DDH88D>DDI ''!QAAND??A3i0D]]8$.0eeD$J.?(+)+$--)@  BF mmM4c*,((4==*A  CGF1a4L$.1F1a4L#-0 ''$(;q56TCD??A3i0D]]?.0eeD$J.?(+)+$--)@  BF mmM4c*,((4==*A  CGF1a4L$.1tAqDz>"ABF1a4L#-!d1a4j."@A 
&
&ryy'7'7dAY'7'G1234FC LL!!4(r2   c            
         t         j                  j                  d       d} t         j                  j                  |       }t        j                  |       }t        j                  |       }d|d<   t        j                  |       }d|dd  t        j                  dgd	      }|j                  j                  dgdgg       |j                  d
dg| |      }t        |dd
t        j                  |       z  z         t        j                  dgd      }|j                  j                  dgdgg       |j                  ddg| ||      }t        |d|z   |z          t        j                  d
dg      }t        j                   ddggdd      }|j                  ddgt        j                  ddg             |j                  t         j"                  |j%                         dddf   | t         j&                  ||f   t         j&                  ||f         }t        |t         j&                  dd
t        j                  |       z  z  ddt        j                  |       z  z  f          t)        j*                  ddggdd      }|j                  dgdgg       |j                  g d| t         j&                  ||f   |      }dd
t        j                  |       z  z  }t        |t         j&                  d|z  d|z  f          y )Nr>   r   r   r   r?   r@   r   r   r   r   r   )r   rG   )rC   r   r!   ro   ri   r5   rz   )r~   r!   r   r   r   r~   )r"   r#   r$   r%   r)   r   r&   ssminitialize_knownr'   r   rV   r   rS   diagr   rs   r(   rt   rW   r
   r   )	r+   r,   r]   r^   r_   r-   r.   rv   tmps	            r0   test_known_initializationr     s    IINN5D
))



%C88D>D88D>DDH88D>DDI
 //1#Y
/CGGcUaSE*\\3)T\=FFC#ryy"667 
)
)1#}
=CGGcUaSE*\\2r(DS'+  -FFC#I,-
 #s$J
--!Qc
:C#rBGGQFO4\\"%%
 0 0 2B2 =>-/UU4:->')uuT4Z'8  :F FBEE#RYYt_(<"<"$sBIIdO';";#< = > 
&
&Ax11
MC#!&\\3T-/UU4:->'+  -F RYYt_$
$CFBEE#)S3Y"678r2   c                     d} t        j                  dgdd      }|j                  ddg|       }t        |t	        j
                  |              |j                  ddg|       }t        |t	        j
                  |       dz         y )Nr   r   )r   r   r   r4   r5   r   rF   )r   r&   r'   r   r"   ones)n_simulationsr-   r.   s      r0   test_sequential_simulater   +  sp     M
//1#Yc
:C\\1a&-0FFBGGM23\\2q'=1FFBGGM2R78r2   c                  P   t        j                  dd      } t        j                  |       }|j	                  ddg      }d}t        j
                  ||j                  f      }t        j
                  ||j                  f      }|j                  d   }t        |d       |j                  |d|||	      }ddt        j                  d|dz         z  z  }t        ||       |j                  |j                  |d|||	      }	t        |	|       t        ||j                  |             y )
Nr   rO   r   r   rF   .rq   endanchorrC   r   r   )r"   rV   r   r&   filterr)   k_endogr*   predicted_stater   r'   paramsforecast
endogr-   resnsimulationsrC   r   r   r.   r/   
mod_actuals
             r0   (test_sarimax_end_time_invariant_noshocksr   9  s    IIaE
//%
 C
**c2Y
CL<"=>88\3<<89L''0MM1%\\,u-?'3(5  7F 3		!\A%5666GFG$ 

L-!#	  %J J( FCLL67r2   c                  |   t        j                  t        j                  dd            } t        j                  | dd      }|j                  ddg      }d}t        j                  ||j                  f      }t        j                  ||j                  f      }|j                  d	   }t        |d
       |j                  |d|||      }ddt        j                  d|dz         z  z  }t        ||       |j                  |j                  |d|||      }	t        |	|       t        ||j                  |             y )Nr   rO   r   r   r   Tr   simple_differencingr   r   rF   r   rq   r   r   r   )r"   cumsumrV   r   r&   r   r)   r   r*   r   r   r'   r   r   r   s
             r0   <test_sarimax_simple_differencing_end_time_invariant_noshocksr   ]  s$    IIbii2&'E
//%yd
KC
**c2Y
CL<"=>88\3<<89L''0MM1%\\,u-?'3(5  7F 3		!\A%5666GFG$ 

L-!#	  %J J( FCLL67r2   c                    t        j                  dd      }t        j                  |      }|j	                  ddg      }d}t         j
                  j                  |      }t         j
                  j                  |      }|j                  d ddf   }|j                  |d|||	      }t        dgdd
gt         j                  ||f         d d |z   }	t        ||	       |j                  |j                  |d|||	      }
t        |
|	       y )Nr   rO   r   r   rF   r   r   r   r   r   )r"   rV   r   r&   r   r#   r%   r   r'   r   r(   r   r   reset_randomstater   r-   r   r   rC   r   r   r.   r/   r   s              r0   "test_sarimax_time_invariant_shocksr     s    IIaE
//%
 C
**c2Y
CL))|)<99###6L''B/M\\,u-?'3(5  7F 	aYm\&A BCCRH	  FG$ 

L-!#	  %J J(r2   c                  F   t        j                  t        j                  dd            } t        j                  | dd      }|j                  ddg      }d}t         j                  j                  |	      }t         j                  j                  |	      }|j                  d d
df   }|j                  |d|||      }t        d
gd
dgt         j                  ||f         d d |z   }t        ||       |j                  |j                  |d|||      }	t        |	|       y )Nr   rO   r   Tr   r   r   rF   r   r   r   r   r   r   )r"   r   rV   r   r&   r   r#   r%   r   r'   r   r(   r   r   r   s
             r0   :test_sarimax_simple_differencing_end_time_invariant_shocksr     s$    IIbii2&'E
//%yd
KC
**c2Y
CL))|)<99###6L''B/M\\,u-?'3(5  7F 	aYm\&A BCCRH	  FG$ 

L-!#	  %J J(r2   c            
         t        j                  dd      } t        j                  | d      }|j	                  g d      }d}t        j
                  ||j                  f      }t        j
                  ||j                  f      }|j                  d   }t        |d       |j                  |d	|||
      }t        dgddgt         j                  dt        j                  dd      f         }t        ||       |j                  |j                  |d	|||
      }	t        |	|       t        ||j                  |             y )Nr   rO   tr6   r   r!   r   rF   r      r   r   rn      )r"   rV   r   r&   r   r)   r   r*   r   r   r'   r   r(   r   r   r   s
             r0   (test_sarimax_time_varying_trend_noshocksr     s#    IIaE
//%s
+C
**]
#CL<"=>88\3<<89L''0MM2&\\,u-?'3(5  7F qcAt9beeB		"b0A,A&BCGFG$ 

L-!#	  %J J( FCLL67r2   c            
         t        j                  t        j                  dd            } t        j                  | ddd      }|j                  g d      }d}t        j                  ||j                  f      }t        j                  ||j                  f      }|j                  d	   }t        |d
       |j                  |d|||      }t        dgddgt         j                  d
t        j                  dd      f         }t        ||       |j                  |j                  |d|||      }	t        |	|       t        ||j                  |             y )Nr   rO   r   r   Tr   r6   r   r   rF   r   r   r   r   r   rn   r   )r"   r   rV   r   r&   r   r)   r   r*   r   r   r'   r   r(   r   r   r   s
             r0   <test_sarimax_simple_differencing_time_varying_trend_noshocksr     s3    IIbii2&'E
//%y.24C
**]
#CL<"=>88\3<<89L''0MM2&\\,u-?'3(5  7F qcAt9beeB		"b0A,A&BCGFG$ 

L-!#	  %J J( FCLL67r2   c                 P   t        j                  dd      }t        j                  |d      }|j	                  g d      }d}t         j
                  j                  |      }t         j
                  j                  |      }|j                  d ddf   }|j                  |d	|||
      }t         j                  ||t        j                  dd      z   f   }	t        dgddg|	      d d |z   }
t        ||
       |j                  |j                  |d	|||
      }t        ||
       y )Nr   rO   r   r   r   rF   r   r   r   r      rn   r"   rV   r   r&   r   r#   r%   r   r'   r(   r   r   r   r   r   r-   r   r   rC   r   r   r.   xr/   r   s               r0   &test_sarimax_time_varying_trend_shocksr     s#    IIaE
//%s
+C
**]
#CL))|)<99###6L''B/M\\,u-?'3(5  7F
 	m\BIIb",===>AqcAt9a("-0BBGFG$ 

L-!#	  %J J(r2   c                    t        j                  t        j                  dd            }t        j                  |ddd      }|j                  g d      }d}t         j                  j                  |	      }t         j                  j                  |	      }|j                  d d
df   }t        |d       |j                  |d|||      }t         j                  ||t        j                  dd      z   f   }	t        d
gd
dg|	      d d |z   }
t        ||
       |j                  |j                  |d|||      }t        ||
       y )Nr   rO   r   r   Tr   r   rF   r   r   r   r   r   r   r   rn   )r"   r   rV   r   r&   r   r#   r%   r   r   r'   r(   r   r   r   s               r0   :test_sarimax_simple_differencing_time_varying_trend_shocksr   ,  s=   
 IIbii2&'E
//%y.24C
**]
#CL))|)<99###6L''B/MM2&\\,u-?'3(5  7F
 	m\BIIb",===>AqcAt9a("-0BBGFG$ 

L-!#	  %J J(r2   c            	         t        j                  dd      } t        j                  dd      dz  }t        j                  | |d d       }|j	                  g d      }d}t        j
                  ||j                  f      }t        j
                  ||j                  f      }|j                  d   }|j                  ||dd  d	|||
      }t        dgddgt         j                  |dgdz  f         |dd  z   }	t        ||	       |j                  |j                  ||dd  d	|||
      }
t        |
|	       t        ||j                  ||dd               y )Nr   rO   r   rK   rF   r9   r   r   r   r9   r   rC   r   r   rn   r   	   )r"   rV   r   r&   r   r)   r   r*   r   r'   r   r(   r   r   r   r   r9   r-   r   r   rC   r   r   r.   r/   r   s              r0   'test_sarimax_time_varying_exog_noshocksr   O  sW    IIaE99QQD
//%d3Bi
0C
**]
#CL<"=>88\3<<89L''0M\\,T"#Yu-?'3(5  7F sQIruu]QC!G-C'DEBCyGFG$ 

LtBCy-!#	  %J J( FCLLDILFGr2   c            	          t        j                  t        j                  dd            } t        j                  t        j                  dd      dz        }t        j                  | d|d d d      }|j                  g d      }d	}t        j                  ||j                  f      }t        j                  ||j                  f      }|j                  d
   }|j                  ||dd  d|||      }t        dgddgt         j                  |dgdz  f         t        j                  |      d	d  z   }	t        ||	       |j                  |j                  ||dd  d|||      }
t        |
|	       t        ||j!                  ||dd               y )Nr   rO   r   rK   r   Tr   r9   r   r   rF   r   r   r   r   rn   r   r   )r"   r   rV   r   r&   r   r)   r   r*   r   r'   r   r(   diffr   r   r   r   s              r0   ;test_sarimax_simple_differencing_time_varying_exog_noshocksr   u  sy    IIbii2&'E99RYYq"%q()D
//%ytCRy.24C
**]
#CL<"=>88\3<<89L''0M\\,T"#Yu-?'3(5  7F sQIruu]QC!G-C'DEwwt}RS!"GFG$ 

LtBCy-!#	  %J J( FCLLDILFGr2   c           	      v   t        j                  dd      }t        j                  dd      dz  }t        j                  ||d d       }|j	                  g d      }d}t         j
                  j                  |      }t         j
                  j                  |      }|j                  d dd	f   }|j                  ||dd  d
|||      }	t         j                  ||d d	 f   }
t        dgddg|
      |dd  z   |z   }t        |	|       |j                  |j                  ||dd  d
|||      }t        ||       y )Nr   rO   r   rK   rF   r   r   r   r   r   r   rn   r   r   r   r9   r-   r   r   rC   r   r   r.   r   r/   r   s                r0   %test_sarimax_time_varying_exog_shocksr     sI    IIaE99QQD
//%d3Bi
0C
**]
#CL))|)<99###6L''B/M\\,T"#Yu-?'3(5  7F
 	m\#2../AqcAt9a(4947IIGFG$ 

LtBCy-!#	  %J J(r2   c           	         t        j                  t        j                  dd            }t        j                  t        j                  dd      dz        }t        j                  |d|d d d      }|j                  g d      }d	}t         j                  j                  |
      }t         j                  j                  |
      }|j                  d ddf   }|j                  ||dd  d|||      }	t         j                  ||d d f   }
t        dgddg|
      t        j                  |      d	d  z   |z   }t        |	|       |j                  |j                  ||dd  d|||      }t        ||       y )Nr   rO   r   rK   r   Tr   r   rF   r   r   r   r   r   rn   )r"   r   rV   r   r&   r   r#   r%   r   r'   r(   r   r   r   r   r   s                r0   9test_sarimax_simple_differencing_time_varying_exog_shocksr     sm    IIbii2&'E99RYYq"%q()D
//%ytCRy.24C
**]
#CL))|)<99###6L''B/M\\,T"#Yu-?'3(5  7F 	m\#2../AsQIq)BGGDM"#,>>!"GFG$ 

LtBCy-!#	  %J J(r2   c                     t        j                  dd      } t        j                  | d      }|j	                  ddg      }d}t        j
                  ||j                  f      }t        j
                  ||j                  f      }|j                  d   }|j                  |d|||      }|d	   }t        ||       |j                  |j                  |d|||      }	t        |	|       t        ||j                  |             y )
Nr   rO   llevelr   rF   r   r   r   r   r"   rV   r   rS   r   r)   r   r*   r   r'   r   r   r   r   s
             r0   6test_unobserved_components_end_time_invariant_noshocksr     s     IIaE

)
)%
:C
**b"X
CL<"=>88\3<<89L''0M\\,u-?'3(5  7F AGFG$ 

L-!#	  %J J( FCLL67r2   c                 ,   t        j                  dd      }t        j                  |d      }|j	                  ddg      }d}t         j
                  j                  |      }t         j
                  j                  |      }|j                  d ddf   }|j                  |d|||	      }|t        j                  t         j                  d
|d d f         z   |z   }	t        ||	       |j                  |j                  |d|||	      }
t        |
|	       y )Nr   rO   r   r   rF   r   r   r   r   r   r"   rV   r   rS   r   r#   r%   r   r'   r   r(   r   r   r   s              r0   4test_unobserved_components_end_time_invariant_shocksr     s    IIaE

)
)%
:C
**b"X
CL))|)<99###6L''B/M\\,u-?'3(5  7F
 ryyq,s2C/C)DEE!"GFG$ 

L-!#	  %J J(r2   c            	      h   t        j                  dd      } t        j                  dd      dz  }t        j                  | d|d d       }|j	                  g d      }d}t        j
                  ||j                  f      }t        j
                  ||j                  f      }|j                  d	   }|j                  ||dd  d
|||      }|d   |dd  z   }	t        ||	       |j                  |j                  ||dd  d
|||      }
t        |
|	       t        ||j                  ||dd               y )Nr   rO   r   rK   r   rF   r   rI   r   r   r   r   r   r   s              r0   9test_unobserved_components_end_time_varying_exog_noshocksr   #  s:    IIaE99QQD

)
)%Sb	
JC
**\
"CL<"=>88\3<<89L''0M\\,T"#Yu-?'3(5  7F Abc*GFG$ 

LtBCy-!#	  %J J( FCLLDILFGr2   c           	         t        j                  dd      }t        j                  dd      dz  }t        j                  |d|d d       }|j	                  g d      }d}t         j
                  j                  |	      }t         j
                  j                  |	      }|j                  d dd
f   }|j                  ||dd  d|||      }	|t        j                  t         j                  d|d d
 f         z   |z   |dd  z   }
t        |	|
       |j                  |j                  ||dd  d|||      }t        ||
       y )Nr   rO   r   rK   r   rF   r   rI   r   r   r   r   r   r   )r   r   r9   r-   r   r   rC   r   r   r.   r/   r   s               r0   7test_unobserved_components_end_time_varying_exog_shocksr   H  sL    IIaE99QQD

)
)%Sb	
JC
**\
"CL))|)<99###6L''B/M\\,T"#Yu-?'3(5  7F
 ryyq,s2C/C)DEE!"$(I.GFG$ 

LtBCy-!#	  %J J(r2   c                  ~   t        j                  dd      j                  dd      } t        j                  | d      }|j                  g d      }d}t        j                  ||j                  f      }t        j                  ||j                  f      }|j                  d d df   }|j                  |d	|||
      }|d d d f   dt        j                  d      z  z  j                  }t        ||       |j                  |j                  |d	|||
      }	t        |	|       t        ||j                  |             y )Nr   r   rF   rK   ri   r   r   r   r   r   r   r   r   r   r   r   )r"   rV   reshaper   rs   r   r)   r   r*   r   r'   re   r   r   r   r   s
             r0   'test_varmax_end_time_invariant_noshocksr   h  s$    IIa$$R+E
--S
)C
**2
3CL<"=>88\3<<89L''2.M\\,u-?'3(5  7F
 QW%RYYr](::==GFG$ 

L-!#	  %J J( FCLL67r2   c                    t        j                  dd      j                  dd      }t        j                  |d      }|j                  g d      }d}t         j                  j                  ||j                  f      }t         j                  j                  ||j                  f      }|j                  d d d	f   }|j                  |d
|||      }t        j                  ||j                  f      }	||	d<   t        d|      D ]$  }
|	|
dz
     j                         ||
dz
     z   |	|
<   & |	|z   }	t        ||	       |j                  |j                   |d
|||      }t        ||	       y )Nr   r   rF   rK   ri   r   r   r   r   r   r   r   )r"   rV   r   r   rs   r   r#   r%   r   r*   r   r'   r)   r:   sumr   r   r   r   r-   r   r   rC   r   r   r.   r/   r;   r   s               r0   %test_varmax_end_time_invariant_shocksr     sf    IIa$$R+E
--S
)C
**2
3CL))ckk/J)K99##,)E#FL''2.M\\,u-?'3(5  7F
 hhckk23GGAJ1l# @QU^'')LQ,??
@**GFG$ 

L-!#	  %J J(r2   c                     t        j                  dd      j                  dd      } t        j                  | d      }|j                  g d      }d}t        j                  ||j                  f      }t        j                  ||j                  f      }|j                  d d      5  |j                  d d d	f   j                         }d d d        |j                  |d
||      }t        j                  ||j                  f      }||d<   dt        j                  dd      z   }	t        d|      D ]*  }
||
dz
     j                         |	|
   z   ||
dz
     z   ||
<   , ||z   }t        ||       |j                  |j                   |d
|||      }t        ||       t        ||j#                  |             y # 1 sw Y   xY w)Nr   r   rF   rK   r8   r   r   r   r   r   r   r   r   r   r   r   r   r9   out_of_sampler   r   r   r   rO   )r"   rV   r   r   rs   r   r)   r   r*   _set_final_predicted_stater   copyr'   r:   r   r   r   r   )r   r-   r   r   rC   r   r   r.   r/   	tmp_trendr;   r   s               r0   +test_varmax_end_time_varying_trend_noshocksr     s    IIa$$R+E
--T
*C
**@
ACL<"=>88\3<<89L 
	'	'T	'	D :++ArE2779: \\,u-?'3(5  7F
 hhckk23GGAJBIIb"%%I1l# OQU^'')IaL8<A;NN
O**GFG$ 

L-!#	  %J J( FCLL679: :s   ("F::Gc                    t        j                  dd      j                  dd      }t        j                  |d      }|j                  g d      }d}t         j                  j                  ||j                  f      }t         j                  j                  ||j                  f      }|j                  d d	      5  |j                  d d d
f   j                         }d d d        |j                  |d||      }t        j                  ||j                  f      }	||	d<   dt        j                  dd      z   }
t        d|      D ]*  }|	|dz
     j!                         |
|   z   ||dz
     z   |	|<   , |	|z   }	t#        ||	       |j                  |j$                  |d|||      }t#        ||	       y # 1 sw Y   xY w)Nr   r   rF   rK   r8   r   r   r   r   r   r   r   r   rO   )r"   rV   r   r   rs   r   r#   r%   r   r*   r   r   r   r'   r)   r:   r   r   r   )r   r   r-   r   r   rC   r   r   r.   r/   r   r;   r   s                r0   )test_varmax_end_time_varying_trend_shocksr     s    IIa$$R+E
--T
*C
**@
ACL))ckk/J)K99##,)E#FL 
	'	'T	'	D :++ArE2779: \\,u-?'3(5  7F
 hhckk23GGAJBIIb"%%I1l# OQU^'')IaL8<A;NN
O**GFG$ 

L-!#	  %J J(1: :s   >"F55F>c            	         t        j                  dd      j                  dd      } t        j                  dd      dz  }t        j                  | d|d d       }|j                  g d      }d}t        j                  ||j                  f      }t        j                  ||j                  f      }|j                  |dd  d      }|j                  |d	      5  |j                  d d d
f   j                         }d d d        |j                  ||dd  d||      }	t        j                  ||j                  f      }
||
d<   t        d|      D ]-  }|
|dz
     j                         |d|z      z   ||dz
     z   |
|<   / |
|z   }
t!        |	|
       |j                  |j"                  ||dd  d|||      }t!        ||
       t!        |	|j%                  ||dd               y # 1 sw Y   xY w)Nr   r   rF   rK   ri   r6   r9   	r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r"   rV   r   r   rs   r   r)   r   r*   _validate_out_of_sample_exogr   r   r   r'   r:   r   r   r   r   )r   r9   r-   r   r   rC   r   tmp_exogr   r.   r/   r;   r   s                r0   *test_varmax_end_time_varying_exog_noshocksr     s    IIa$$R+E99QQD
--StCRy
9C
**:
;CL<"=>88\3<<89L //RS	/LH		'	'XR	'	H :++ArE2779: \\,T"#Yu-?'3(5  7F
 hhckk23GGAJ1l# OQU^'')DaL8<A;NN
O**GFG$ 

LtBCy-!#	  %J J( FCLLDILFG7: :s   "G$$G-c           
         t        j                  dd      j                  dd      }t        j                  dd      dz  }t        j                  |d d d|d d       }|j                  g d	      }t        j                  |d|d d       }|j                  g d	      }d}t         j                  j                  ||j                  f
      }t         j                  j                  ||j                  f
      }	|j                  |dd  d      }
|j                  |
d      5  |j                  d d df   j                         }d d d        |j                  ||dd  d||	      }|j                  ||dd  d||	|j                  d d df         }t        j                  ||j                  f      }||d<   t!        d|      D ]-  }||dz
     j#                         |d|z      z   |	|dz
     z   ||<   / ||z   }t%        ||       t%        ||       |j                  |j&                  ||dd  d||	|      }t%        ||       y # 1 sw Y   xY w)Nr      rO   rK   r   rF   ri   r   r   r   r   r   r   r   r   rr   r   )r"   rV   r   r   rs   r   r#   r%   r   r*   r   r   r   r   r'   r)   r:   r   r   r   )r   r   r9   r-   r   ra   res2r   rC   r   r   r   r.   actual2r/   r;   r   s                    r0   (test_varmax_end_time_varying_exog_shocksr   ,  sa    IIa$$R+E99QQD
--cr
#D"I
>C
**:
;C==cSb	:D;;<=DL))ckk/J)K99##,)E#FL //RS	/LH		'	'XR	'	H :++ArE2779: \\,T"#Yu-?'3(5  7F mmLtBCy/A)5*.*>*>q"u*E  GG
 hhckk23GGAJ1l# OQU^'')DaL8<A;NN
O**GFG$GW% 

LtBCy-!#	  %J J(9: :s   ""IIc                     t        j                  dd      j                  dd      } t        j                  | dd      }d|j
                  _        |j                  g d      }d}t        j                  ||j                  f      }t        j                  ||j                  f      }|j                  d   }|j                  |d	|||
      }t        j                  ||j                  f      }||d<   t        d|      D ]  }	||	dz
     ||	dz
     z   ||	<    ||z   }t        ||       |j                  |j                  |d	|||
      }
t        |
|       t        ||j!                  |             y )Nr   r   rF   rK   rz   T)r   r   r   r   r   r   r   r   r   r"   rV   r   r
   r   r   filter_univariater   r)   r   r*   r   r'   r:   r   r   r   )r   r-   r   r   rC   r   r   r.   r/   r;   r   s              r0   /test_dynamic_factor_end_time_invariant_noshocksr   \  sl    IIa$$R+E

&
&u
JC $CGG
**)
*CL<"=>88\3<<89L''0M \\,u-?'3(5  7F hhckk23GGAJ1l# :QU^l1q5&99
:**GFG$ 

L-!#	  %J J( FCLL67r2   c                    t        j                  dd      j                  dd      }t        j                  |dd      }d|j
                  _        |j                  g d      }d}t         j                  j                  ||j                  f      }t         j                  j                  ||j                  f      }|j                  d	   }|j                  |d
|||      }t        j                  ||j                  f      }	||	d<   t        d|      D ]  }
|	|
dz
     ||
dz
     z   |	|
<    |	|z   }	t!        ||	       |j                  |j"                  |d
|||      }t!        ||	       y )Nr   r   rF   rK   rz   Tr   r   r   r   r   r   r   r   r   r   r   r   r"   rV   r   r
   r   r   r   r   r#   r%   r   r*   r   r'   r)   r:   r   r   r   s               r0   -test_dynamic_factor_end_time_invariant_shocksr     sg   IIa$$R+E

&
&u
JC $CGG
**1
2CL))ckk/J)K99##,)E#FL''0M \\,u-?'3(5  7F hhckk23GGAJ1l# :QU^l1q5&99
:**GFG$ 

L-!#	  %J J(r2   c            	      J   t        j                  dd      j                  dd      } t        j                  dd      dz  }t        j                  | dd|d d       }d|j
                  _        |j                  g d      }d}t        j                  ||j                  f      }t        j                  ||j                  f      }|j                  d   }|j                  ||dd  d	|||
      }t        j                  ||j                  f      }	||	d<   t        d|      D ]  }
|	|
dz
     ||
dz
     z   |	|
<    |	|z   |dd d f   z   }	t        ||	       |j                  |j                  ||dd  d	|||
      }t        ||	       t        ||j!                  ||dd               y )Nr   r   rF   rK   r   Tr   r   r   r   r   r   r   )r   r9   r-   r   r   rC   r   r   r.   r/   r;   r   s               r0   2test_dynamic_factor_end_time_varying_exog_noshocksr     s    IIa$$R+E99QQD

&
&u,0"I7C $CGG
**1
2CL<"=>88\3<<89L''0M \\,T"#Yu-?'3(5  7F hhckk23GGAJ1l# :QU^l1q5&99
:**T"#t)_<GFG$ 

LtBCy-!#	  %J J( FCLLDILFGr2   c           	         t        j                  dd      j                  dd      }t        j                  dd      dz  }t        j                  |d d dd|d d       }d|j
                  _        |j                  g d	      }t        j                  |dd|d d       }d|j
                  _        |j                  g d	      }d}t         j                  j                  ||j                  f
      }t         j                  j                  ||j                  f
      }	|j                  d   }
|j                  ||dd  d||	|
      }|j                  ||dd  d||	|
      }t        j                  ||j                  f      }|
|d<   t        d|      D ]  }||dz
     |	|dz
     z   ||<    ||z   |dd d f   z   }t!        ||       t!        ||       |j                  |j"                  ||dd  d||	|
      }t!        ||       y )Nr   r   rO   rK   r   rF   r   Tr   r   r   r   r   r   r   r   )r   r   r9   r-   r   ra   r   r   rC   r   r   r.   r   r/   r;   r   s                   r0   0test_dynamic_factor_end_time_varying_exog_shocksr    s    IIa$$R+E99QQD

&
&cr
aad3BiAC $CGG
**1
2C''cr<D!%DHH;;34DL))ckk/J)K99##,)E#FL''0M \\,T"#Yu-?'3(5  7F mmLtBCy/A)5*7  9G hhckk23GGAJ1l# :QU^l1q5&99
:**T"#t)_<GFG$GW% 

LtBCy-!#	  %J J(r2   c                     t        j                  t        j                  d            } t	        j
                  |       }|j                  ddg      }|j                  dt        j                  d      t        j                  d            }t        j                  ddg      }t        ||       |j                  ddt        j                  d      t        j                  d            }t        j                  dd      }t        j                  ddg|	      }t        ||       t        |j                  j                  |j                               y )
NrK   r   r   r   r   r   r   r   r      index)pdSeriesr"   r)   r   r&   r   r'   r   
RangeIndexr   r  equalsr   r-   r   r.   r/   ixs         r0   !test_pandas_univariate_rangeindexr    s    IIbhhqk"E
//%
 C
**c2Y
C \\!"((1+(*  5FiiAGFG$ \\!ABHHQK(*  5F	q!	BiiAb)GFG$FLL./r2   c                  <   t        j                  t        j                  d            } t	        j
                  |       }|j                  ddg      }|j                  dt        j                  d      t        j                  d      d      }t         j                  j                  dgddgg      }t        j                  t        j                  d      |	      }t        ||       t        |j                  j                  |j                               |j                  ddt        j                  d      t        j                  d      d
      }t        j                  dd      }t         j                  j                  dgddgg      }t        j                  t        j                  d      ||      }t        ||       t        |j                   j                  |j                                t        |j                  j                  |j                               y )NrK   r   r   r   r   r   repetitionsyr   rl   columnsr   r   r   r  r  r  r  )r  r  r"   r)   r   r&   r   r'   
MultiIndexfrom_product	DataFramer   r   r  r
  r	  r  r   r-   r   r.   r  r/   r  s          r0   -test_pandas_univariate_rangeindex_repetitionsr    s}   IIbhhqk"E
//%
 C
**c2Y
C \\!"((1+(*  DFmm((3%!Q9Gll288F+W=GFG$FNN!!'//23 \\!ABHHQK(*  DF	q!	Bmm((3%!Q9Gll288F+2wGGFG$FLL./FNN!!'//23r2   c                  *   t        j                  ddt              } t        j                  t	        j
                  d      |       }t        j                  |      }|j                  ddg      }|j                  dt	        j
                  d      t	        j
                  d            }t        j                  d	dt              } t        j                  d
d
g|       }t        ||       t        |j                  j                  |j                               |j                  ddt	        j
                  d      t	        j
                  d            }t        j                  ddt              } t        j                  d
d
g|       }t        ||       y )N2000rK   startperiodsfreqr  r   r   r   r   2000-01r   r  2000-03r  
date_ranger   r  r"   r)   r   r&   r   r'   r   r   r  r
  r  r   r-   r   r.   r/   s         r0    test_pandas_univariate_dateindexr&  4  s!   	VQY	?BIIbhhqk,E
//%
 C
**c2Y
C \\!"((1+(*  5F	Y		BBiiAb)GFG$FLL./ \\!ABHHQK(*  5F	Y		BBiiAb)GFG$r2   c                     t        j                  ddt              } t        j                  t	        j
                  d      |       }t        j                  |      }|j                  ddg      }|j                  dt	        j
                  d      t	        j
                  d      d      }t        j                  d	dt              } t         j                  j                  d
gddgg      }t        j                  t	        j
                  d      | |      }t        ||       t        |j                  j!                  |j                               |j                  ddt	        j
                  d      t	        j
                  d      d      }t        j                  ddt              } t         j                  j                  d
gddgg      }t        j                  t	        j
                  d      | |      }t        ||       t        |j"                  j!                  |j"                               t        |j                  j!                  |j                               y )Nr  rK   r  r  r   r   r   r  r!  r  r   rl   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/   s          r0   ,test_pandas_univariate_dateindex_repetitionsr)  K  s   	VQY	?BIIbhhqk,E
//%
 C
**c2Y
C \\!"((1+(*  DF	Y		BBmm((3%!Q9Gll288F+2wGGFG$FNN!!'//23 \\!ABHHQK(*  DF	Y		BBmm((3%!Q9Gll288F+2wGGFG$FLL./FNN!!'//23r2   c                     t        j                  t        j                  d            } t	        j
                  | d      }|j                  g d      }|j                  dt        j                  d      t        j                  d            }t        j                  t        j                  d            }t        ||       |j                  ddt        j                  d      t        j                  d            }t        j                  dd      }t        j                  t        j                  d      |	      }t        ||       t        |j                  j                  |j                               y )
Nrl   ri   r   r           r,  r!   r   r,  r   rK   r   r  r  r  )r  r  r"   r)   r   rs   r   r'   r   r	  r   r  r
  r  s         r0   #test_pandas_multivariate_rangeindexr-  f  s   LL&)*E
--S
)C
**3
4C \\!"((6*:(*  5Fll288F+,GFG$ \\!ABHHV4D(*  5F	q!	Bll288F+26GFG$FLL./r2   c                  L   t        j                  t        j                  d      ddg      } t	        j
                  | d      }|j                  g d      }|j                  dt        j                  d      t        j                  d      d	      }t         j                  j                  ddgd
dgg      }t        j                  t        j                  d      |      }t        ||       t        |j                  j                  |j                               |j                  ddt        j                  d      t        j                  d      d      }t        j                  dd      }t         j                  j                  ddgd
dgg      }t        j                  t        j                  d      ||      }t        ||       t        |j                  j                  |j                               t        |j                  j                  |j                               y )Nrl   y1y2r  ri   r   r+  rK   r  r   r   rK   r  r  r  r  )r  r  r"   r)   r   rs   r   r'   r  r  r   r   r  r
  r	  r  r  s          r0   /test_pandas_multivariate_rangeindex_repetitionsr2  {  s   LL&)D$<@E
--S
)C
**3
4C \\!"((6*:(*  DFmm((4,A)?@Gll288F+W=GFG$FNN!!'//23 \\!ABHHV4D(*  DF	q!	Bmm((4,A)?@Gll288F+2wGGFG$FLL./FNN!!'//23r2   c                  :   t        j                  ddt              } t        j                  t	        j
                  d      |       }t        j                  |d      }|j                  g d      }|j                  dt	        j
                  d      t	        j
                  d      	      }t        j                  t	        j
                  d      |       }t        ||       |j                  ddt	        j
                  d      t	        j
                  d      
      }t        j                  ddt              } t        j                  t	        j
                  d      |       }t        ||       t        |j                  j                  |j                               y )Nr  rK   r  rl   r  ri   r   r+  r   r  r"  )r  r$  r   r  r"   r)   r   rs   r   r'   r   r   r  r
  r%  s         r0   "test_pandas_multivariate_dateindexr4    s   	VQY	?BLL&)4E
--S
)C
**3
4C \\!"((6*:(*  5Fll288F+26GFG$ \\!ABHHV4D(*  5F	Y		BBll288F+26GFG$FLL./r2   c                     t        j                  ddt              } t        j                  t	        j
                  d      ddg|       }t        j                  |d	      }|j                  g d
      }|j                  dt	        j
                  d      t	        j
                  d      d      }t         j                  j                  ddgddgg      }t        j                  t	        j
                  d      ||       }t        ||       t        |j                  j                  |j                               |j                  ddt	        j
                  d      t	        j
                  d      d      }t        j                  ddt              } t         j                  j                  ddgddgg      }t        j                  t	        j
                  d      | |      }t        ||       t        |j                   j                  |j                                t        |j                  j                  |j                               y )Nr  rK   r  rl   r/  r0  )r  r  ri   r   r+  r  r   r   r1  r  r"  r  )r  r$  r   r  r"   r)   r   rs   r   r'   r  r  r   r   r  r
  r  r(  s          r0   .test_pandas_multivariate_dateindex_repetitionsr6    s   	VQY	?BLL&)D$<rJE
--S
)C
**3
4C \\!"((6*:(*  DFmm((4,A)?@Gll288F+WBGGFG$FNN!!'//23 \\!ABHHV4D(*  DF	Y		BBmm((4,A)?@Gll288F+2wGGFG$FLL./FNN!!'//23r2   c                  0   t        j                  ddt              } t        j                  t	        j
                  d      |       }t        j                  |      }|j                  ddg      }|j                  ddt	        j
                  d      t	        j
                  d            }|j                  d| d   t	        j
                  d      t	        j
                  d            }t        ||       t        |j                  j                  |j                               |j                  dd	t	        j
                  d      t	        j
                  d            }t        ||       t        |j                  j                  |j                               y )
Nr  rK   r  r  r   r   r   r  r   r#  )r  r   r-   r   r/   r.   s         r0   test_pandas_anchorr8    s"   	VQY	?BIIbhhqk,E
//%
 C
**c2Y
Cll1QRXXa[)+!  6G \\!BqE(*  5FFG$FLL./ \\!BRXXa[(*  5FFG$FLL./r2   c                 d    t        t        j                  d            }|j                  g d       y )NrF   rK   rF   )r   r"   r)   r'   r   r-   s     r0   test_time_varyingr<    s#    
rxx 
!CLLRr2   c                    t        t        j                  d            }t        j                  |j                  |j                  |j                  f      |d<   t        j
                  |j                        |d<   d|dd d f<   |dd d d d df   dz  |d<   |dd d d d df   |d<   t        |d   j                  |j                  j                  |j                  j                  f       t        |d   j                  |j                  |j                  j                  f       |j                  g dt        j                  |j                        	      }t        |d d
 |dd d d d
f   j                         y )Nr:  obs_cov)r>  .r   r   state_intercept	state_cov	selectionrF   )r   r   obs_intercept)r   r"   r)   r   r+   eyer   shaper   k_posdefr*   r'   r   re   r   r-   sims      r0   test_time_varying_obs_covrH    s4   
rxx 
!CXXs{{CKKBCC	NVVCKK0C !C1;1a/014C;1a/0C[!''#''*:*:CGG<L<L)MN[!''#,,8H8H)IJ
,,r2RXXcll-C,
DCCGS!RaR!78::;r2   c                    t        t        j                  d            }|dd d d d df   dz  |d<   |dd d d d df   |d<   d|dd d f<   t        j                  |j                  j                  |j                  j                  |j
                  f      |d<   t        j                  |j                  j                        |d<   t        |d   j                  |j                  |j                  f       t        |d   j                  |j                  |j                  j                  f       |j                  g d      }t        ||d	   j                         y )
Nr:  r>  r   rA  r?  r@  )r@  .r   rF   rB  )r   r"   r)   r   rE  r+   rC  r   rD  r   r*   r'   r   re   rF  s      r0   test_time_varying_state_covrJ    s   
rxx 
!CAq!+,q0C	N;1a/0C !C1xx!1!13773C3CSXX NOC "sww'7'7 8CY%%S[['AB[!''#,,8H8H)IJ
,,r2
CC_-//0r2   c                    t        t        j                  d            }|dd d d d df   |d<   |dd d d d df   |d<   t        |d   j                  |j
                  |j
                  f       t        |d   j                  |j                  j                  |j                  j                  f       |j                  g d       y )Nr:  r>  r   r@  rF   )	r   r"   r)   r   rD  r   r   rE  r'   r;  s     r0   test_time_varying_selectionrL    s    
rxx 
!CAq!+,C	N;1a/0CY%%S[['AB[!''#''*:*:CGG<L<L)MNLLRr2   )H__doc__statsmodels.compat.pandasr   numpyr"   numpy.testingr   r   r   pandasr  rT   scipy.signalr   statsmodels.tools.sm_exceptionsr   r	   statsmodels.tsa.statespacer
   r   r   r   test_impulse_responsesr   r1   r<   rg   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   r   r   r  r  r  r&  r)  r-  r2  r4  r6  r8  marksmoker<  rH  rJ  rL   r2   r0   <module>rY     sr   0  @ @      ))<a)Hr%jo)d*)Z49n9!8H"8J)@)B!8H#8L)> )F#HL$HN)@!)H!8H)>"HJ)@8D)D)8X$)N*HZ-)`&8R!)H)HX.)b0*42%.460*420,440.  
<
1  r2   