U
    Kvf                     @   sZ   d Z ddlZddlmZmZ ddlmZ ddlm	Z	 ddl
m  mZ dd Zdd	 ZdS )
zTests for sandwich robust covariance estimation

see also in regression for cov_hac compared to Gretl and
sandbox.panel test_random_panel for comparing cov_cluster, cov_hac_panel and
cov_white

Created on Sat Dec 17 08:39:16 2011

Author: Josef Perktold
    N)assert_almost_equalassert_allclose)OLS)add_constantc                  C   s$  dd l } | j| jt}| j|d}t|}|d d df }|d d df t	}|d d df t	}t
|d d df }t|| }tj|||d\}	}
}ddg}dd	g}d
dg}ddg}t|
}t|}t|	}t||jdd t||dd t||dd t||dd d S )Nr   ztest_data.txt      )Zgroup2gZӼ?gx&?gcZB>?ggj+?go_?g7d?gS!uq?   )decimal)ospathabspathdirname__file__joinnpZ
genfromtxtZastypeintr   r   fitswZcov_cluster_2groupsse_covr   ZHC0_se)r   Zcur_dirZfpathZpetZendoggrouptimeZexogresZcov01ZcovgZcovtZbse_petwZbse_pet0Zbse_pet1Z	bse_pet01Zbse_0Zbse_1Zbse_01 r   I/tmp/pip-unpacked-wheel-2v6byqio/statsmodels/stats/tests/test_sandwich.pytest_cov_cluster_2groups   s*    



r   c                  C   sP  ddl m}  |  j}dtt|d j }dtt|d j }ttj	||d d d jf }t
|| }dd	d
gdddgdddgg}dddgdddgdddgg}tj|ddd}t|}	tj|ddd}
t|
}t|| t|
| ttt||	 ttt|| tj|dd}tj|ddd}t|| d S )Nr   )	macrodatai  ZrealgdpZrealinvZrealintr   gX-ƀ?gƲZԿgpv>	gŲZԿg<BQ?gN;9?gvv>	ghO;9?g'g?gRp7+?gcCԿgIqgN?gx9?gIqglx9?gK?r	   T)Znlagsuse_correctionF)r   )Zstatsmodels.datasetsr   Zload_pandasdatar   Zdifflogvaluesr   Zc_r   r   r   Zcov_hac_simpler   r   sqrtZdiag)r   Zd2Zg_gdpZg_invZexoggZres_olsgZcov1_rZcov2_rZcov1Zse1Zcov2Zse2Zcov3Zcov4r   r   r   test_hac_simple:   s2    
 



r"   )__doc__Znumpyr   Znumpy.testingr   r   Z#statsmodels.regression.linear_modelr   Zstatsmodels.tools.toolsr   Z%statsmodels.stats.sandwich_covariancestatsZsandwich_covariancer   r   r"   r   r   r   r   <module>   s   
&