U
    Kvf^                     @   s  d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
Z
d dlZd dlZd dlmZmZmZmZmZ d dlZd dlmZmZmZ d dlZd dlmZ d d	lmZ d d
lmZm Z m!Z!m"Z"m#Z# d dl$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZE dZFdZGdZHdZIdZJdZKdZLe
jMNe
jMOePZQejRdddd ZSejRdddd ZTG dd dZUG dd  d eUZVG d!d" d"eUZWG d#d$ d$eUZXG d%d& d&eUZYG d'd( d(eUZZG d)d* d*eUZ[ej\]d+e^dd,gd-d. Z_G d/d0 d0Z`G d1d2 d2e`ZaG d3d4 d4e`ZbG d5d6 d6e`ZcG d7d8 d8e`ZdG d9d: d:ZeG d;d< d<ZfG d=d> d>ZgG d?d@ d@egZhdAdB ZidCdD ZjdEdF ZkG dGdH dHZlG dIdJ dJZmG dKdL dLZndMdN ZodOdP Zpej\]dQdRdSgej\]dTdRdSgdUdV Zqej\]dQdRdSgej\]dTdRdSgdWdX Zrej\]dQdRdSgej\]dTdRdSgej\]dYdRdSgdZd[ Zsej\jtej\jud\d] Zvd^d_ Zwd`da Zxdbdc Zyej\]dddedfdgdhgej\]dYdSdRgej\]dQdRdSgej\]dTdRdSgdidj Zzej\]dddedfgej\]dYdSdRgej\]dQdRdSgej\]dTdRdSgdkdl Z{dmdn Z|dodp Z}dqdr Z~dsdt Zdudv Zdwdx Zdydz Zd{d| Zd}d~ Zdd Zdd Zdd Zdd Zdd Zdd ZG dd dZG dd deZdd Zdd Zdd ZejdZedZeeZeeedZeeedZeeZeeedZeeedZeeeegZej\]dedd Zdd Zdd Zej\]dddddgdd Zdd ZdS )    )lstsq)	MONTH_ENDYEAR_ENDassert_index_equal)PLATFORM_WIN)lrangeN)assert_assert_allcloseassert_almost_equalassert_equalassert_raises)	DataFrameSeries
date_range)stats)interp1d)	macrodata
modechoicenilerandhiesunspots)CollinearityWarningInfeasibleTestErrorInterpolationWarningMissingDataErrorValueWarning)
array_like	bool_like)
arma_acovf)SARIMAX)acfacovfadfullerarma_order_select_ic breakvar_heteroskedasticity_testccfccovfcointgrangercausalitytestsinnovations_algoinnovations_filterkpsslevinson_durbinlevinson_durbin_pacfpacf	pacf_burgpacf_olspacf_ywrange_unit_root_testzivot_andrews                     module)Zscopec                  C   s   t jd} | dS )N90     )nprandomRandomStaterandn)rnd rC   H/tmp/pip-unpacked-wheel-2v6byqio/statsmodels/tsa/tests/test_stattools.py
acovf_dataE   s    rE   c                  C   s6   t  j} | ddg j} | t}tjt|ddS )Nrealgdprealconsr   Zaxis)	r   load_pandasdatavaluesastypefloatr>   difflog)mdatarJ   rC   rC   rD   gc_dataK   s    

rQ   c                   @   sR   e Zd ZdZdddgZe Zejd jZ	ejd jZ
dd Zd	d
 Zdd ZdS )CheckADFzI
    Test Augmented Dickey-Fuller

    Test values taken from Stata.
    1%5%10%rF   inflc                 C   s   t | jd | jt d S )Nr   )r
   res1teststat	DECIMAL_5selfrC   rC   rD   test_teststat_   s    zCheckADF.test_teststatc                 C   s   t | jd | jt d S Nr:   )r
   rW   pvaluerY   rZ   rC   rC   rD   test_pvalueb   s    zCheckADF.test_pvaluec                    s&    fdd j D }t| jt d S )Nc                    s   g | ]} j d  | qS )r7   )rW   ).0ZlevrZ   rC   rD   
<listcomp>f   s     z,CheckADF.test_critvalues.<locals>.<listcomp>)levelsr
   
critvalues	DECIMAL_2)r[   rc   rC   rZ   rD   test_critvaluese   s    zCheckADF.test_critvaluesN)__name__
__module____qualname____doc__rb   r   rI   rJ   rK   xyr\   r_   re   rC   rC   rC   rD   rR   S   s   
rR   c                   @   s   e Zd ZdZedd ZdS )TestADFConstantz*
    Dickey-Fuller test for unit root
    c                 C   s0   t | jdd dd| _d| _d| _dddg| _d S )	Ncr7   
regressionautolagmaxlagg"]3?gf?+Mb/$r"   rj   rW   rX   r^   rc   clsrC   rC   rD   setup_classo   s    zTestADFConstant.setup_classNrf   rg   rh   ri   classmethodrx   rC   rC   rC   rD   rl   j   s   rl   c                   @   s   e Zd ZdZedd ZdS )TestADFConstantTrend c                 C   s0   t | jdd dd| _d| _d| _dddg| _d S )	Nctr7   rn   g|kɴg?gI+"~jt	ru   rv   rC   rC   rD   rx   z   s    z TestADFConstantTrend.setup_classNry   rC   rC   rC   rD   r{   w   s   r{   c                   @   s   e Zd ZdZedd ZdS )TestADFNoConstantr|   c                 C   s0   t | jdd dd| _d| _d| _dddg| _d S )	Nnr7   rn   gwr.@gwJ?V-333333Zd;ru   rv   rC   rC   rD   rx      s    zTestADFNoConstant.setup_classNry   rC   rC   rC   rD   r      s   r   c                   @   s   e Zd Zedd ZdS )TestADFConstant2c                 C   s0   t | jdd dd| _d| _d| _dddg| _d S )	Nrm   r:   rn   g
@HVgRjN=V9?rr   rs   rt   r"   rk   rW   rX   r^   rc   rv   rC   rC   rD   rx      s    zTestADFConstant2.setup_classNrf   rg   rh   rz   rx   rC   rC   rC   rD   r      s   r   c                   @   s   e Zd Zedd ZdS )TestADFConstantTrend2c                 C   s0   t | jdd dd| _d| _d| _dddg| _d S )	Nr}   r:   rn   gSKgZ`?g/$r~   r   r   rv   rC   rC   rD   rx      s    z!TestADFConstantTrend2.setup_classNr   rC   rC   rC   rD   r      s   r   c                   @   s    e Zd Zedd Zdd ZdS )TestADFNoConstant2c                 C   sN   t | jdd dd| _d| _d| _dddg| _t | jdd dd	d
\}}}| _d S )Nr   r:   rn   g'6zgKXc'?r   r   r   T)ro   rp   rq   store)r"   rk   rW   rX   r^   rc   r   )rw   _Z_1Z_2rC   rC   rD   rx      s        zTestADFNoConstant2.setup_classc                 C   s   t | j d d S )Nz$Augmented Dickey-Fuller Test Results)r   r   __str__rZ   rC   rC   rD   test_store_str   s     z!TestADFNoConstant2.test_store_strN)rf   rg   rh   rz   rx   r   rC   rC   rC   rD   r      s   
r   rj         @c              	   C   s"   t t t|  W 5 Q R X d S N)pytestraises
ValueErrorr"   )rj   rC   rC   rD   !test_adfuller_resid_variance_zero   s    r   c                   @   s@   e Zd ZdZe Zejd Zej	
eddZejeddZdS )CheckCorrGramz%
    Set up for ACF, PACF tests.
    rF   resultszresults_corrgram.csv,	delimiterN)rf   rg   rh   ri   r   rI   rJ   rj   ospathjoinCURR_DIRfilenamepdread_csvr   rC   rC   rC   rD   r      s
   
r   c                   @   s4   e Zd ZdZedd Zdd Zdd Zdd	 Zd
S )TestACFz'
    Test Autocorrelation Function
    c                 C   sD   | j d | _| j d | _t| jddddd| _| j dd	g j| _d S )
NacvarQ1(   T皙?F)nlagsqstatalphafftZacvar_lbZacvar_ub)r   r    r   rj   rW   rK   confint_resrv   rC   rC   rD   rx      s    zTestACF.setup_classc                 C   s    t | jd dd | jt d S Nr   r:   )   r
   rW   r    	DECIMAL_8rZ   rC   rC   rD   test_acf   s    zTestACF.test_acfc                 C   s@   | j d | j d dd d d f  }t|dd | jt d S )Nr:   r   )rW   meanr
   r   r   )r[   centeredrC   rC   rD   test_confint   s    &zTestACF.test_confintc                 C   s    t | jd d d | jt d S )Nr9   r   r
   rW   r   	DECIMAL_3rZ   rC   rC   rD   
test_qstat   s    zTestACF.test_qstatN)	rf   rg   rh   ri   rz   rx   r   r   r   rC   rC   rC   rD   r      s   
r   c                   @   s(   e Zd Zedd Zdd Zdd ZdS )TestACF_FFTc                 C   s0   | j d | _| j d | _t| jdddd| _d S )NZacvarfftr   r   T)r   r   r   )r   r    r   rj   rW   rv   rC   rC   rD   rx      s    zTestACF_FFT.setup_classc                 C   s    t | jd dd  | jt d S )Nr   r:   r   rZ   rC   rC   rD   r      s    zTestACF_FFT.test_acfc                 C   s   t | jd | jt d S r]   r   rZ   rC   rC   rD   r      s    zTestACF_FFT.test_qstatN)rf   rg   rh   rz   rx   r   r   rC   rC   rC   rD   r      s   
r   c                   @   s@   e Zd Zedd Zdd Zdd Zdd Zd	d
 Zdd Z	dS )TestACFMissingc                 C   s   t t t jg| jf| _| jd | _| jd | _t| jdddddd| _t| jddddd	d
| _	t 
dt j | _t 
dt j | _t| jdddddd| _d S )Nr   r   r   Tr   dropF)r   r   r   missingr   conservative)r   r   r   r   r   none)r>   Zconcatenatearraynanrj   r   r    r   res_dropres_conservativeemptyacf_none
qstat_noneres_nonerv   rC   rC   rD   rx     s:              zTestACFMissing.setup_classc              	   C   s0   t t t| jdddddd W 5 Q R X d S )Nr   TFr   raise)r   r   r   r   r   )r   r   r   r    rj   rZ   rC   rC   rD   
test_raise  s    zTestACFMissing.test_raisec                 C   s    t | jd dd | jt d S r   )r
   r   r   r   rZ   rC   rC   rD   test_acf_none$  s    zTestACFMissing.test_acf_nonec                 C   s    t | jd dd | jt d S r   )r
   r   r    r   rZ   rC   rC   rD   test_acf_drop'  s    zTestACFMissing.test_acf_dropc                 C   s    t | jd dd | jt d S r   )r
   r   r    r   rZ   rC   rC   rD   test_acf_conservative*  s
      z$TestACFMissing.test_acf_conservativec                 C   s   t | jd | jt d S )Nr9   )r
   r   r   r   rZ   rC   rC   rD   test_qstat_none/  s    zTestACFMissing.test_qstat_noneN)
rf   rg   rh   rz   rx   r   r   r   r   r   rC   rC   rC   rD   r     s   
r   c                   @   sH   e Zd Zedd Zdd Zdd Zdd Zd	d
 Zdd Z	dd Z
dS )TestPACFc                 C   s   | j d | _| j d | _d S )NZPACOLSZPACYW)r   pacfolspacfywrv   rC   rC   rD   rx   <  s    zTestPACF.setup_classc                 C   s   t | jdddd\}}t|dd  | jt ||dd d d f  }ddggd }t|dd |t t|d	 d
d
g t|d	 ddg t|d	 d d S )Nr   r   Zols)r   r   methodr:   gS㥛gS㥛?r   r           )r.   rj   r
   r   	DECIMAL_6r   r   )r[   r   confintr   resrC   rC   rD   test_olsA  s    zTestPACF.test_olsc           	      C   s   d}t | j|dd}| j }|| 8 }|jd }t|d df}|dd  }t|d }d|d< t|D ]\}|d|d  |d   |d d |f< t	|d d d |d f |d dd d ||d < qpt
||d	d
 d S )Nr6   F)r   Z	efficientr   r:         ?)Zrcond:0yE>atol)r0   rj   copyr   shaper>   zerosr   ranger   r	   )	r[   Zlag_lenr   rj   r   lagsZleaddirectirC   rC   rD   test_ols_inefficientM  s    

&4zTestPACF.test_ols_inefficientc                 C   s*   t | jddd}t|dd  | jt d S )Nr   mler   r   r:   )r1   rj   r
   r   r   )r[   r   rC   rC   rD   test_yw\  s    zTestPACF.test_ywc              	   C   s,   t t ttddd W 5 Q R X d S )N   r5   r   )r   warnsr   r.   r>   onesrZ   rC   rC   rD   test_yw_singular`  s    zTestPACF.test_yw_singularc                 C   s\   t | jddd}t| jddd}t||t t| jddd}t| jddd}t||t d S )Nr   r   r   ZldbZywZlda)r1   rj   r.   r
   r   )r[   r   ZpacfldrC   rC   rD   test_ldd  s    zTestPACF.test_ldc                 C   s2   t | jdd\}}t| jddd}t||t d S )Nr   r   Zburgr   )r/   rj   r.   r
   r   )r[   Z	pacfburg_r   ZpacfburgrC   rC   rD   	test_burgm  s    zTestPACF.test_burgN)rf   rg   rh   rz   rx   r   r   r   r   r   r   rC   rC   rC   rD   r   ;  s   
	r   c                   @   sz   e Zd ZdZe Zejd   Z	ejd   Z
ejeddZejeddZdZed	d
 Zdd Zdd ZdS )TestCCFz)
    Test cross-correlation function
    ZunemprV   r   zresults_ccf.csvr   r      c                 C   s*   | j d | _t| j| j| jddd| _d S )Nr%   F)r   adjustedr   )r   r%   rj   rk   r   rW   rv   rC   rC   rD   rx     s    zTestCCF.setup_classc                 C   s   t | j| jt d S r   )r
   rW   r%   r   rZ   rC   rC   rD   test_ccf  s    zTestCCF.test_ccfc                 C   s   d}t | j| j| jdd|d\}}t|| j t||d d df  |d d df | t tj	j
|d d df | dtt| j d}t|td|d  | jt d S )	Nr   F)r   r   r   r   r   r:   r   )Zscale       @)r%   rj   rk   r   r   rW   r
   r   r   Znormcdfr>   sqrtlenrepeat)r[   r   Zres2r   Zalpha1rC   rC   rD   r     s    ,0zTestCCF.test_confintN)rf   rg   rh   ri   r   rI   rJ   rN   Zdropnarj   rk   r   r   r   r   r   r   r   r   r   rz   rx   r   r   rC   rC   rC   rD   r   s  s   
r   c                   @   s   e Zd ZddlmZmZ dd Zdd Zej	
ddd	deed	dded	dd fd
ddeedddeddd fgdd Zej	
ddd	deed	dded	dd fddedddfdd	ed	ddfgdd Zdd ZdS )"TestBreakvarHeteroskedasticityTestr   )chi2fc                 C   sb   ddddddg}d}dt | j|dd| j|dd }t|\}}||ksRt||ks^td S )	Nr   r   r         @      @r        D@r9   )minr   r   sfr$   AssertionErrorr[   input_residualsexpected_statisticexpected_pvalueactual_statisticactual_pvaluerC   rC   rD   test_1d_input  s    z0TestBreakvarHeteroskedasticityTest.test_1d_inputc                 C   s   t ddt jgdt jdgddt jgdddgdddgdddgdddgdddgd	d	d	gg	}t d
dt jg}t dt| j|d dd| j|d dd dt| j|d dd| j|d dd t jg}t|\}}t|| t|| d S )Nr   r   r   r   r   r         @g      @g       @g=@g     B@r9   r   r8   r:   )	r>   r   r   r   r   r   r   r$   r   r   rC   rC   rD   !test_2d_input_with_missing_values  sN    



zDTestBreakvarHeteroskedasticityTest.test_2d_input_with_missing_valuesz0subset_length,expected_statistic,expected_pvaluer9   r         ?
   r8   c                 C   s<   ddddddg}t ||d\}}||ks,t||ks8td S )Nr   r   r   r   r   r   )subset_lengthr$   r   )r[   r  r   r   r   r   r   rC   rC   rD   test_subset_length  s    
z5TestBreakvarHeteroskedasticityTest.test_subset_lengthz.alternative,expected_statistic,expected_pvaluez	two-sidedZ
decreasingg?Z
increasingc                 C   s<   ddddddg}t ||d\}}||ks,t||ks8td S )Nr   r   r   r   r   r   )alternativer  )r[   r	  r   r   r   r   r   rC   rC   rD   test_alternative  s    
z3TestBreakvarHeteroskedasticityTest.test_alternativec                 C   sj   ddddddg}d}dt | jd| d| jd| d }t|d	d
\}}||ksZt||ksftd S )Nr   r   r   r   r   r   r   r9   F)Zuse_f)r   r   r   r   r$   r   r   rC   rC   rD   test_use_chi2  s    
z0TestBreakvarHeteroskedasticityTest.test_use_chi2N)rf   rg   rh   Zscipy.statsr   r   r  r  r   markparametrizer   r   r   r  r
  r  rC   rC   rC   rD   r     s&   -&&
&
r   c                   @   sB   e Zd ZdZdddgZe Zejd jZ	ejd jZ
dd Zd	S )

CheckCointza
    Test Cointegration Test Results for 2-variable system

    Test values taken from Stata
    rS   rT   rU   rG   rF   c                 C   s   t | j| jt d S r   )r
   coint_trX   	DECIMAL_4rZ   rC   rC   rD   
test_tstat  s    zCheckCoint.test_tstatN)rf   rg   rh   ri   rb   r   rI   rJ   rK   y1y2r  rC   rC   rC   rD   r    s   
r  c                   @   s   e Zd ZdZedd ZdS )TestCoint_tz*
    Get AR(1) parameter on residuals
    c                 C   s,   t | j| jddd dd | _d| _d| _d S )Nrm   r   trendrq   rp   g{(vT"g9_aH)r'   r  r  r  rX   rv   rC   rC   rD   rx     s
    zTestCoint_t.setup_classNry   rC   rC   rC   rD   r    s   r  c               	   C   s@  d} d}ddddg}t jd t j|  }|t j| d }|d d d df  |d d d f 7  < ||7 }t |d}dD ]}td	| tt|d d df |d d df |dd d
 tt|d d df |d d ddf |dd d
 tt|d d df |d d dd f |dd d
 tt|d d df |d d dd f |dd d
 qi }i  }|d< ddddg|d< ddddg|d< ddddg|d< ddddg|d< i  }|d< ddddg|d< d|d d< d d!d"d#g|d< d$d!d"d#g|d< d%d&d'd(g|d< i  }|d)< d*d+d,d-g|d< d.d/d0d1g|d< d2d/d0d1g|d< d3d4d5d6g|d< i  }|d7< t j}d8|||g|d< d9|||g|d< d:|||g|d< d;|||g|d< d<D ]0}i }	t|d d df |d d df |dd d
|	d< t|d d df |d d ddf |dd d
|	d< t|d d df |d d dd f |dd d
|	d< t|d d df |d d dd f |dd d
|	d< t	dD ]X}
|| }t
|	|
 d ||
 d d=d> ||
 dd  }|	|
 d }t
||dd?d@ qvqt|d d df |d d df dddA}t
|d |d d dd  dd?d@ t
|d d dBdCgdDdEd@ d S )FN   r:   r   r  {   r7   r9   rC   
r  r8   r}   g\yvg LٟgӯgAg;,g0Wg ng bgA>"g3x֚gUgUpg$rm   g$
gpʐȝg!
g҆gSZg%Igkţ/wgσjEgć!6g1;];gg+ggg`EzcttgSsgo$/ggx\tjig3grqg!gL'g]ɬJ	gkgȨK3g!S4Mg0r   g权ng8gȁgMncd)rm   r}   r  r   gdy=rtolgv!>r  r   )r  rq   gIwvc+gq:i}f:g|=g<6S:)r>   r?   seedrA   cumsumroundprintr'   r   r   r	   )nobsscale_econstunitrk   r  Zres_egrangerr   r   rW   r   Zr2Zr1Zres1_0rC   rC   rD   
test_coint(  s    (
.224

.    
22($
r&  c               	   C   s|   d} d}t jd |t j|  }tdt tt t	||ddd d}W 5 Q R X t
|d d tt |d  d S )	Nr  r:   r  alwaysrm   r   r  r   )r>   r?   r  rA   warningssimplefilterr   r   r   r'   r   r   isneginf)r"  r#  rk   rm   rC   rC   rD   test_coint_identical_series  s    r+  c               	   C   s   d} d}t jd |t j| d }d|jdd dt j|   }tdt tjdd	}t	||d
dd d}W 5 Q R X t
|d d tt |d  d S )Nr  r:   r  r9   rH   gHz>r'  T)recordrm   r   r  r   )r>   r?   r  rA   sumr(  r)  r   catch_warningsr'   r   r   r*  )r"  r#  rj   rk   wrm   rC   rC   rD   test_coint_perfect_collinearity  s     r0  c                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestGrangerCausalityc              	   C   s   t  j}|ddg j}|t}tjt|dd}ddddg}t	j
td	d
& t|d d dd df ddd}W 5 Q R X t||d d d dd t|d d d |d d d dd d S )NrF   rG   r   rH   g,`p?gV?   r9   
verbose ismatchr:   r   Fverbose	ssr_ftest   decimalparams_ftest)r   rI   rJ   rK   rL   rM   r>   rN   rO   r   r   FutureWarningr(   r
   )r[   rP   rJ   Zr_resultgrrC   rC   rD   test_grangercausality  s    

*  z*TestGrangerCausality.test_grangercausalityc              	   C   s  t  j}|ddg j}|t}tjt|dd}t	j
tdd& t|d d dd df d	d
d}W 5 Q R X t	j
tdd( t|d d dd df d	gd
d}W 5 Q R X d|kstd|kstt|d	 d d |d	 d d dd t|d	 d d |d	 d d dd d S )NrF   rG   r   rH   r3  r4  r:   r   r9   Fr6  r8  r9  r:  r<  )r   rI   rJ   rK   rL   rM   r>   rN   rO   r   r   r=  r(   r   r
   )r[   rP   rJ   r>  Zgr2rC   rC   rD   test_grangercausality_single  s(    

*,    z1TestGrangerCausality.test_grangercausality_singlec              
   C   sx   t jdd}tjtdd t|ddd W 5 Q R X tt. tjtdd t|ddd W 5 Q R X W 5 Q R X d S )Nr  r9   r3  r4  Fr6  r8   )	r>   r?   randr   r   r=  r(   r   r   r[   reset_randomstaterj   rC   rC   rD    test_granger_fails_on_nobs_check  s    z5TestGrangerCausality.test_granger_fails_on_nobs_checkc              	   C   sJ   t jdd}t j|d< t j|d< tjtdd t|d W 5 Q R X d S )N  r9   )  r   )i  r:   zx contains NaNr4  )	r>   r?   rA  r   infr   r   r   r(   rB  rC   rC   rD   "test_granger_fails_on_finite_check  s
    

z7TestGrangerCausality.test_granger_fails_on_finite_checkc              	   C   s<   t jdd}tjtdd t|dddg W 5 Q R X d S )NrE  r9   zAmaxlag must be a non-empty list containing only positive integersr4  r   r:   )r>   r?   rA  r   r   r   r(   rB  rC   rC   rD   test_granger_fails_on_zero_lag  s    z3TestGrangerCausality.test_granger_fails_on_zero_lagN)rf   rg   rh   r?  r@  rD  rH  rI  rC   rC   rC   rD   r1    s
   	r1  c                   @   sp   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd ZdS )TestKPSSz
    R-code
    ------
    library(tseries)
    kpss.stat(x, "Level")
    kpss.stat(x, "Trend")

    In this context, x is the vector containing the
    macrodata['realgdp'] series.
    c                 C   s   t  | _| jjd j| _d S NrF   r   rI   rJ   rK   rj   rZ   rC   rC   rD   setup_method  s    
zTestKPSS.setup_methodc              	   C   sB   t t t| jdd W 5 Q R X tjdd}tt	t| d S )Nlegacyr   r   r9   )
r   r   r   r+   rj   r>   r?   rA  r   r   rB  rC   rC   rD   test_fail_nonvector_input  s    z"TestKPSS.test_fail_nonvector_inputc              	   C   s   t t t| jddd W 5 Q R X t t t| jddd W 5 Q R X t t t| jddd W 5 Q R X t t t| jddd W 5 Q R X ttt| jddd d S )Nrm   rN  r   Cr}   ZCTzunclear hypothesis)r   r   r   r+   rj   r   r   rZ   rC   rC   rD   test_fail_unclear_hypothesis  s        z%TestKPSS.test_fail_unclear_hypothesisc              	   C   st   t t t| jdd\}}}}W 5 Q R X t|dt t t t| jdd\}}}}W 5 Q R X t|dt d S )Nrm   r8   g5;N@r}   g?W[?)r   r   r   r+   rj   r
   r   )r[   Z	kpss_statr   rC   rC   rD   r\   &  s      zTestKPSS.test_teststatc              	   C   sp   t t t| jdd\}}}}W 5 Q R X t|d t t t| jdd\}}}}W 5 Q R X t|d d S )Nrm   r8   {Gz?r}   r   r   r   r+   rj   r   )r[   r   pvalrC   rC   rD   	test_pval/  s     
 zTestKPSS.test_pvalc              	   C   sP   t t t| jddd\}}}}W 5 Q R X t|jt| j t|jd d S )Nrm   r8   T)	r   r   r   r+   rj   r   r"  r   r   r[   r   r   rC   rC   rD   
test_store8  s    "zTestKPSS.test_storec              	   C   s  t t t| jddd}W 5 Q R X t|d d tt jd ddd}t|d d t t tt	 jd ddd}W 5 Q R X t|d d	 t t tt
 jd
 ddd}W 5 Q R X t|d d t t tt jd ddd}W 5 Q R X t|d d d S )Nrm   autor   r9   	   SUNACTIVITYr9  volumer6   Zlncoinsr}   K   Zinvt   )r   r   r   r+   rj   r   r   loadrJ   r   r   r   r[   r   rC   rC   rD   	test_lagsA  s    """zTestKPSS.test_lagsc              	   C   sD   t | j}d||}tjt|d t| jd|d W 5 Q R X d S )Nz3lags \({}\) must be < number of observations \({}\)r4  rm   r   )r   rj   formatr   r   r   r+   )r[   r"  msgrC   rC   rD   test_kpss_fails_on_nobs_checkV  s    
 z&TestKPSS.test_kpss_fails_on_nobs_checkc              	   C   sD   t dddddddg}t jt |ddddgf }t|dd d S )Nr   r:   r   *   rX  r   )r>   r   r_Ztiler+   )r[   baseZdata_which_breaks_autolagrC   rC   rD   5test_kpss_autolags_does_not_assign_lags_equal_to_nobsa  s    z>TestKPSS.test_kpss_autolags_does_not_assign_lags_equal_to_nobsc              	   C   s8   t t t| jddd}W 5 Q R X t|d d d S )Nrm   rN  r   r9      rS  r_  rC   rC   rD   test_legacy_lagsi  s    zTestKPSS.test_legacy_lagsc              	   C   s*   t t t| jddd W 5 Q R X d S )Nrm   unknownr   )r   r   r   r+   rj   rZ   rC   rC   rD   test_unknown_lagso  s    zTestKPSS.test_unknown_lagsc              	   C   s(   t t t| jd d W 5 Q R X d S )Nr   )r   r   r=  r+   rj   rZ   rC   rC   rD   	test_nonet  s    zTestKPSS.test_noneN)rf   rg   rh   ri   rM  rO  rQ  r\   rU  rW  r`  rc  rg  ri  rk  rl  rC   rC   rC   rD   rJ    s   			rJ  c                   @   sB   e Zd ZdZdd ZdddZdd Zd	d
 Zdd Zdd Z	dS )TestRURa  
    Simple implementation
    ------
    Since an R implementation of the test cannot be found, the method is tested against
    a simple implementation using a for loop.
    In this context, x is the vector containing the
    macrodata['realgdp'] series.
    c                 C   s   t  | _| jjd j| _d S rK  rL  rZ   rC   rC   rD   rM    s    
zTestRUR.setup_methodFc                 C   s  t |d}t|d}|jd }||jkr8td|jddddd	d
g}tddddddddddddg}tddddddgdddd d!d"gd#d$d%d&d'd(gd)d*d+d,d-d.gd/d0d1d2d3d4gd5d6d7d8d9d4gd:d;d<d=d>d?gd@dAdBdCdDdEgdFdGdHdIdJdKgdLdMdNdOdPdQgdRdSdNdTdUdVgdWdXdYdZd[d\gg}td]|jd] f}t	|jd] D ],}t
||d d |f }	|	||d|f< q>d}
|d }|d }|d]d  D ]2}||kr|}|
d] }
||k r|}|
d] }
q|
tt| }t|d] }t	t|d] d^d^D ]$}||d|f k r|}n qq|| }d_}d`}||d^ kr<da}n||d krNdb}|rht|j|dct |dd |de |df |dg dh}|rddilm} | }||_dj|_dk|_||||fS |||fS d S )lNrj   r   r   zx of shape {0} not understoodrR  g?r   g??gffffff?   2   d      r  r=   rF  rE  i  i  i  i  gJ4?gX ?g`vOj?gkw#?g[ A@g}b@gI&?gB?g?gMSt$?gDt@g(@g/$?gOec?gcZB?gW[?ge`TR@gQI	@gaTR'?g&S:?gZڊ?g48E?go!@gkw	@gŏ1w?g?g;Nё\?gSt$?g58EGr@gHP	@g[ A?gX?g6<R?g䃞ͪ?gGx$@g'W?gk	?gͪV?gݓ?g7d*@gY 
@gݓZ?g	h"?g@?gOjM?g/n@gRI&B@g	^)?gQ?g^I+?g9#J?gRI&@g"uq@g(?gy&1?g;MO?gHPs?g@g3@g0*?goT?gn4@?g;O@g/L
@gJ4?g?ggs?gTt$?gqh 	@gc=y@r:   r   z        The test statistic is outside of the range of p-values available in the
        look-up table. The actual p-value is {direction} than the p-value returned.
        r|   ZsmallerZlarger)	direction)r   r8   )r   r9   )r   r:   )r   r   )rU   rT   z2.5%rS   )ResultsStorezThe series is not stationaryzThe series is stationary)r   r   r   sizer   ra  r>   r   r   r   r   r   r   r(  warnr   Zstatsmodels.stats.diagnosticrt  r"  ZH0ZHA)r[   rj   r   r"  Zpvalsr   critZ
inter_critr   r   countZmax_pZmin_pvrur_statkZp_valueZwarn_msgrs  Z	crit_dictrt  ZrstorerC   rC   rD   
simple_rur  s    







 zTestRUR.simple_rurc              	   C   s>   t t t| j W 5 Q R X tjdd}tt	t| d S )Nr   r9   )
r   r   r   r2   rj   r>   r?   rA  r   r   rB  rC   rC   rD   rO    s    z!TestRUR.test_fail_nonvector_inputc              	   C   sH   t t( t| j\}}}| | j\}}}W 5 Q R X t||t d S r   )r   r   r   r2   rj   r|  r
   r   )r[   rz  r   Zsimple_rur_statrC   rC   rD   r\     s    zTestRUR.test_teststatc              	   C   sF   t t( t| j\}}}| | j\}}}W 5 Q R X t|| d S r   )r   r   r   r2   rj   r|  r   )r[   r   rT  Zsimple_pvalrC   rC   rD   rU    s    zTestRUR.test_pvalc              	   C   s@   t t t| jd\}}}}W 5 Q R X t|jt| j d S )NT)r   r   r   r2   rj   r   r"  r   rV  rC   rC   rD   rW    s    zTestRUR.test_storeN)F)
rf   rg   rh   ri   rM  r|  rO  r\   rU  rW  rC   rC   rC   rD   rm  y  s   	
crm  c                  C   s.   t tdd} tt| ddt| jdd d S )Nr:      Fr   )r   r   r
   r!   rK   )srC   rC   rD   test_pandasacovf  s    r  c              	   C   sz   t  j}tddtdd d |_|d= t|dd}t|t|jdd t	j

d}tt t|dd W 5 Q R X d S )	NZ1700Z2009)startendfreqi5  ZYEARFr~  r  r9   )r   rI   rJ   r   r   indexr!   r   rK   r>   r?   r   r   r   )rC  Zdtar   rj   rC   rC   rD   test_acovf2d  s    
r  demeanTFr   c                 C   s@   t jjdd}t|| |dd}t|| |dd}t||dd d S )Nrq  ru  Tr  r   r   Fr9  r:  )r>   r?   normalr!   r
   )r  r   rC  qF1F2rC   rC   rD   test_acovf_fft_vs_convolution  s    r  c                 C   sR   t jjdd}t jjdd}t||| |dd}t||| |dd}t||dd d S )N   r  Fr  Tr9  r:  )r>   r?   r  r&   r
   )r  r   rC  rj   rk   r  r  rC   rC   rD   test_ccovf_fft_vs_convolution   s
    r  r   c                 C   sB   t jjdd}t|| ||d}t||| ||d}t||dd d S )Nr  r  r  r9  r:  )r>   r?   r  r!   r&   r
   )r  r   r   rC  rj   r  r  rC   rC   rD   test_compare_acovf_vs_ccovf+  s    r  c               	   C   s|  ddl m}  tddg}tddg}tjd| f }tjd|f }d}tjd	 | |||}t|d
dgdd}tdddgdddgdddgdddgdddgg}tdddgd d!d"gd#d$d%gd&d'd(gd)d*d+gg}t|t	d,t	d-d.}	t|t	d,t	d-d.}
t
|jj|	jd, t
|jj|
jd, t|jd/ t|jd/ t|jj|	j t|jj|	j t|jj|
j t|jj|
j tjd0tt|d1}tj||d2}t|d3dd
dgdd4}t
|jj|	jd d-d d3f d, t
|jj|
jd d-d d3f d, t|jd5 t|jd6 t|d
dd}t
|jj|	jd, t|jj|	j t|jj|	j t|jd/ d S )7Nr   )arma_generate_sampleg      ?g      пg?gffffff?r:   r=   i  aicbicr   )icr  g@gsE@gλD~@gAߐ@gQX~@gAPA~@gGߦ@gVm.~@gTJ~@gв@~@gW`"~@g=~@g!(~@g1_g=~@g4Zf]~@gLR@g17~@g͹~@g 7Ɂ@gkX@g6~@gA,@g	
@g!Yl8@gxOJ"@g<@g"j@g˞%D7@gGv@g@r6   r8   )r  columns)r:   r9   z2000-1-1)r  periodsr  r9   )Zmax_arZmax_mar  r  )r9   r:   )r:   r:   )statsmodels.tsa.arima_processr  r>   r   re  r?   r  r#   r   r   r
   r  rK   r  r   Zaic_min_orderZbic_min_orderr   r  equalsr  r   r   r   r   r   )r  ZarparamsZmaparamsZmaparamr"  rk   r   Zaic_xZbic_xr  r  r  Zy_seriesZres_pdrC   rC   rD   test_arma_order_select_ic6  sj    		    ""r  c                  C   sd   t ddddddddd	d
ddddddddddg} dd l}|  |d t| }W 5 Q R X d S )Ng /6?gM[!M?g?g k?g39&?gEw?gbD<?gM?gKZ?gѿgx?οgXUοgk
u)пg)s&=˿g(9thĿgI?g
mQ-?gg^:?gV0*̸?gN*t?r   ignore)r>   r   r(  r.  r)  r#   )rk   r(  r   rC   rC   rD   !test_arma_order_select_ic_failures  s6    

r  c                  C   s*   t t jdg ddd} t| jd d S )NrZ  Tr   )r   r   r:   )r    r   rI   rJ   r   ndim)resultrC   rC   rD   test_acf_fft_dataframe  s      r  c                  C   s   d} d}| t d }t||dd\}}}}}t|d| d   t|t | gdg|d   d	d
 t|t d| gdg|d   d	d
 d S )Nrn  r   r  TZisacovr:   r9   r   r   r   )r>   aranger,   r	   r   )rhomZacovZ
sigma2_epsarr.   r   rC   rC   rD   test_levinson_durbin_acov  s    $r  r   r   r   r   r   c                 C   s<   t | ||||d}t | ||||dd}t|d d | d S )Nr   r  r   r   r  r   r  r   r   nlagr}  )r!   r	   rE   r   r  r   r   fullZlimitedrC   rC   rD   test_acovf_nlags  s         r  c                 C   sR   |   } tj| dd< t| ||||d}t| ||||dd}t|d d | d S )Nr:   r8   r  r  r  r}  )r   r>   r   r!   r	   r  rC   rC   rD   test_acovf_nlags_missing  s$        r  c              	   C   s(   t t t| ddd W 5 Q R X d S )Nr=   F)r  r   )r   r   r   r!   )rE   rC   rC   rD   test_acovf_error  s    r  c                  C   s   t d} d| d< d| d< t| \}}t|dt d  t|| dd  dd t| dd	\}}t|dt d
  t|| dd dd d S )Nr  r:   r   rn  g      $@r   r   r6   r   r  r5   )r>   r   r-   r	   r  )r.   r  r    rC   rC   rD   test_pacf2acf_ar  s    
r  c               
   C   s   dt d  } d| d< t| \}}t|ddd\}}}}}t||dd	 t| |dd	 d
dddddddddg
}t||dd	 d S )Nrn        &@r:   r   r  Tr  r   r   g7¤g4@"geX,gJ+1gUN1gd]F,g/$#gꕲqg=yXg_vOֿ-C6?)r>   r  r-   r,   r	   )r.   r  r    r   Zar_ldZpacf_ldZ	ar_from_rrC   rC   rD   test_pacf2acf_levinson_durbin  s$    r  c               	   C   s   dt d  } d| d< tt t| dd W 5 Q R X tt t| dd   W 5 Q R X tt tt d W 5 Q R X tt tt d W 5 Q R X d S )	Nrn  r  r:   r   r   r   r  r  )r>   r  r   r   r   r-   r   )r.   rC   rC   rD   test_pacf2acf_errors  s    r  c            	      C   s   t jd} | d}|dd  d|d d   }t|d\}}t|d}t||dd ||  }||d	 }d
|d
< |t 	d|d   }t||dd d S )Nr<   i'  r:   r  r   r  gMb@?r   i'  r   r9   MbP?)
r>   r?   r@   rA   r/   r1   r	   r   dotZcumprod)	rB   erk   r.   sigma2Zyw_pacfZyeZs2yZsigma2_directrC   rC   rD   test_pacf_burg	  s    

r  c                	   C   sP   t t ttdd W 5 Q R X t t ttdd W 5 Q R X d S )N)r   r9   r  rq  e   )r   r   r   r/   r>   r   rC   rC   rC   rD   test_pacf_burg_error  s    r  c                  C   s   d} t d| d  | g}t|dd\}}t dgdgdgd	gg}t||d
d t|ddddgd
d t|dd\}}t|d |  t|d d d S )Nr:   r9   r7   r"  r   g߿gkw#g6>W[r  r  g(\?g?g r?g#J{/L?rF  )r   r   r   r   )r>   r   r)   r	   )mar!   thetar  Z	exp_thetarC   rC   rD   %test_innovations_algo_brockwell_davis  s    r  c                  C   s|   t ddg} t d| d   | d | d | d   | d g}t|dd\}}t|ddd	\}}t|| t|| d S )
Nr  r  r:   r9   r   rF  r  r   )r"  r  )r>   r   r-  r)   r	   )r  r!   r  r  Ztheta_2Zsigma2_2rC   rC   rD   test_innovations_algo_rtol,  s    4
r  c               	   C   s   d} t d| d  | g}tt t|dd W 5 Q R X tt t|dd W 5 Q R X tt tt d W 5 Q R X tt t|dd	 W 5 Q R X d S )
Nr  r:   r9   g@r  r   r9   r9   r   r  )r>   r   r   r   	TypeErrorr)   r   r   )r  r!   rC   rC   rD   test_innovations_errors5  s    r  c           
      C   s   d}t d|d  |g}t|dd\}}t jd}|dd  ||d d   }t||}|d g}tddD ]&}	|||	 ||	df |d    qpt |}t|| d S )	Nr  r:   r9   r7   r  r6   r   r   )	r>   r   r)   r?   rA   r*   r   appendr	   )
rC  r  r!   r  r   r  endogresidexpectedr   rC   rC   rD   'test_innovations_filter_brockwell_davisB  s    

$
r  c           	      C   s   t ddg}t d|d   |d |d |d   |d g}t|dd\}}t jd}tj|tjddd	d
}t	||}t	||}t
||j t|j|j d S )Nr  r  r:   r9   r   r  r  z
2000-01-01)r  r  )r>   r   r-  r)   r?   rA   r   r   r   r*   r	   rK   r   r  )	rC  r  r!   r  r   r  Zendog_pdr  Zresid_pdrC   rC   rD   test_innovations_filter_pandasP  s    4

r  c               	   C   s   d} t d| d  | g}t|dd\}}tt tt d| W 5 Q R X tt tt d|d d  W 5 Q R X tt tt	t d| W 5 Q R X d S )	Nr  r:   r9   r7   r  r  r   )r:   r7   )
r>   r   r)   r   r   r   r*   r   r   r   )r  r!   r  r   rC   rC   rD   test_innovations_filter_errors\  s    "r  c                 C   s&  t dg}t dg}d}t jjdd}tt jd| f t jd|f t|d}t|\}}t||}d|d  ||  dt 	dt j
 |   }	t|t|d	t|fd
}
|
t j|||f }trdnd}t||jd	 d|d t|dd d	f |jjd	d	d df |d t|	|j|d d S )Nr  g?r:   r  r  r  g      r9   r   )ordergư>r   r  r   r   )r>   r   r?   r  r   re  r   r)   r*   rO   pir   filterr   r	   Zforecasts_errorZfilter_resultsZkalman_gainllf_obs)rC  Z	ar_paramsZ	ma_paramsr  r  r!   r  ry  ur  modr   r   rC   rC   rD   *test_innovations_algo_filter_kalman_filterh  s,      
,  r  c              	   C   s   t jd}t|dd}|d jdks*tt jd}tjtdd t| W 5 Q R X t jd	}tjtdd t|d
d W 5 Q R X d S )Nr9  T)r   r   r:   r9   zsample size is too shortr4  r8   r}   ro   )	r>   r?   standard_normalr"   rq   r   r   r   r   )rC  rk   r   rC   rC   rD   test_adfuller_short_series  s    r  c              	   C   s6   t jd}tjtdd t|dd W 5 Q R X d S )Nrq  zmaxlag must be less thanr4  3   rq   )r>   r?   r  r   r   r   r"   rC  rk   rC   rC   rD   test_adfuller_maxlag_too_large  s    r  c                   @   s<   e Zd ZeZejedZejedZ	e
ee	ZdS )SetupZivotAndrewsr   zrgnp.csvN)rf   rg   rh   r   Zcur_dirr   r   r   run_dirZ	fail_filer>   asarrayr   r   fail_mdlrC   rC   rC   rD   r    s   r  c                   @   sp   e Zd Zdd Zdd Zdd Zdd Zej	d	d
ddgdd Z
dd Zdd Zdd Zdd Zdd ZdS )TestZivotAndrewsc              	   C   s(   t t t| jdd W 5 Q R X d S )Nrj   r  r   r   r   r3   r  rZ   rC   rC   rD   test_fail_regression_type  s    z*TestZivotAndrews.test_fail_regression_typec              	   C   s(   t t t| jdd W 5 Q R X d S )Nr  )Ztrimr  rZ   rC   rC   rD   test_fail_trim_value  s    z%TestZivotAndrews.test_fail_trim_valuec              	   C   s,   t t ttjdd W 5 Q R X d S )Nrp  r9   )r   r   r   r3   r>   r?   rA  rZ   rC   rC   rD   test_fail_array_shape  s    z&TestZivotAndrews.test_fail_array_shapec              	   C   s(   t t t| jdd W 5 Q R X d S )NNonerp   r  rZ   rC   rC   rD   test_fail_autolag_type  s    z'TestZivotAndrews.test_fail_autolag_typerp   ZAICr  ZAicc                 C   s"   t | j|d}|d dkstd S )Nr  r8   r:   )r3   r  r   )r[   rp   r   rC   rC   rD   test_autolag_case_sensitivity  s    z.TestZivotAndrews.test_autolag_case_sensitivityc                 C   s<   t | jddd d}t|d |d |d gddd	gd
d d S )Nr4   rm   rq   ro   rp   r   r:   r7   g\CMg'>i?r   r  r  )r3   r  r	   r_  rC   rC   rD   test_rgnp_case  s         zTestZivotAndrews.test_rgnp_casec                 C   sb   t j| jd}tt|}t|dddd}t	|d |d |d |d	 gd
dddgdd d S )Nz
gnpdef.csvr4   rm   t-statr  r   r:   r8   r7   gPkw|gs?r6   r   r  r  
r   r   r   r  r>   r  r   r   r3   r	   r[   ZmdlfileZmdlr   rC   rC   rD   test_gnpdef_case  s    
z!TestZivotAndrews.test_gnpdef_casec                 C   sb   t j| jd}tt|}t|dddd}t	|d |d |d |d	 gd
dddgdd d S )Nz
stkprc.csvr4   r}   r  r  r   r:   r8   r7   gytmg}"O?A   r  r  r  r  rC   rC   rD   test_stkprc_case  s    
z!TestZivotAndrews.test_stkprc_casec                 C   sb   t j| jd}tt|}t|dddd}t	|d |d |d |d	 gd
dddgdd d S )Nz	rgnpq.csv   tr  r  r   r:   r8   r7   g*Wx8gCVzNz?f   r  r  r  r  rC   rC   rD   test_rgnpq_case  s    
z TestZivotAndrews.test_rgnpq_casec                 C   s`   t j| jd}tt|}t|ddd}t	|d |d |d |d gd	d
ddgdd d S )Nzrand10000.csvrm   r  )ro   rp   r   r:   r8   r7   g]3fg?ro  i  r  r  r  r  rC   rC   rD   test_rand10000_case  s    
z$TestZivotAndrews.test_rand10000_caseN)rf   rg   rh   r  r  r  r  r   r  r  r  r  r  r  r  r  rC   rC   rC   rD   r    s   



r  c                 C   s   t jd}td|jd D ] }||  d||d   7  < qt j|d d d< t|dddd	}|t | }t d
}|jd }t 	|| }tdd
D ].}t 	||d  |d ||   | ||< qt
||ddd d S )Nrq  r:   r   rn  r9  r   r  F)r   r   r   r}  r  r  )r>   r?   r  r   r   r   r    Znanmeanr   Znansumr	   )rC  r  r   r  r  r  r"  Zgamma0rC   rC   rD   test_acf_conservate_nanops  s    

,r  c              	   C   s4   t jd}tjtdd t|d W 5 Q R X d S )Nc   zCan only compute partialr4  rp  )r>   r?   r  r   r   r   r.   )rC  r  rC   rC   rD   test_pacf_nlags_error  s    r  c               	   C   s\   t jd} t | d}t | d}t||dddddd}t |d d	k sXtd S )
Nl   0= rq  rm   Zaegr   r  F)r  r   rq   rp   Zreturn_resultsgffffff?)r>   r?   r@   r  r  r'   absr   )rsrj   rk   r   rC   rC   rD   test_coint_auto_tstat  s    	r  x   )ba)r  r  datasetc              
   C   sB   t t. t jtdd t| ddd W 5 Q R X W 5 Q R X d S )Nr7  r4  r7   Fr6  )r   r   r   r   r=  r(   )r  rC   rC   rD   !test_granger_causality_exceptions"  s    r  c              	   C   sN   t jtdd t| dd W 5 Q R X t t t| ddd W 5 Q R X d S )Nzmaxlag must ber4  r   r  r8   F)Zaddconst)r   r   r   r(   NotImplementedErrorrQ   rC   rC   rD   'test_granger_causality_exception_maxlag)  s    r   c              	   C   s,   t jtdd t| ddd W 5 Q R X d S )Nr7  r4  r8   Tr6  )r   r   r=  r(   r  rC   rC   rD   test_granger_causality_verbose0  s    r  ru  r9  rY  c                 C   s   t j| }t|}t|t js$tt|\}}t|t js@tt|t jsPtt|}t|t jshtt	|}t|t jstd S r   )
r>   r?   r  r.   
isinstanceZndarrayr   r/   r0   r1   )ru  rC  rk   r  r  rC   rC   rD   test_pacf_small_sample4  s    r  c              	   C   sr   t jd}tt t| W 5 Q R X tt t| W 5 Q R X tt t| W 5 Q R X t	| d S r]   )
r>   r?   r  r   r   r   r.   r/   r0   r1   r  rC   rC   rD   test_pacf_1_obsB  s    r  )Zstatsmodels.compat.numpyr   Zstatsmodels.compat.pandasr   r   r   Zstatsmodels.compat.platformr   Zstatsmodels.compat.pythonr   r   r(  Znumpyr>   Znumpy.testingr   r	   r
   r   r   Zpandasr   r   r   r   r   Zscipyr   Zscipy.interpolater   Zstatsmodels.datasetsr   r   r   r   r   Zstatsmodels.tools.sm_exceptionsr   r   r   r   r   Zstatsmodels.tools.validationr   r   r  r   Z"statsmodels.tsa.statespace.sarimaxr   Zstatsmodels.tsa.stattoolsr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r   r   rY   r  r   rd   Z	DECIMAL_1r   dirnameabspath__file__r   ZfixturerE   rQ   rR   rl   r{   r   r   r   r   r  r  r  r   r   r   r   r   r   r   r   r  r  r&  r+  r0  r1  rJ  rm  r  r  r  r  r  ZsmokeZslowr  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  Zrandom_sampler  Z
zeros_liker  Zdf1Zdf2Z	ones_likeZdf3Zdf4Zgc_data_setsr  r   r  r  r  rC   rC   rC   rD   <module>   s   X



		
:8x <z 	;$	
	"	J




