
    M/Ph
                        d Z ddlZddlZddlmZ ddlZddlm	Z	 dZ
dZdZdZd	Zd
ZdZej                            ej                            e                    Zej                            edd          Z ej        ed          Zej                            edd          Z ej        ed          Z G d d          Z G d de          Z G d de          Z G d de          Z G d de          Z dS )a%  
Test for BDS test for IID time series

References
----------

Kanzler, Ludwig. 1998.
BDS: MATLAB Module to Calculate Brock, Dechert & Scheinkman Test for
Independence.
Statistical Software Components. Boston College Department of Economics.
http://ideas.repec.org/c/boc/bocode/t871803.html.

    N)assert_almost_equal)bds                     resultszbds_data.csv)headerzbds_results.csvc                       e Zd ZdZd Zd ZdS )CheckBDSzF
    Test BDS

    Test values from Kanzler's MATLAB program bds.
    c                 R    t          | j        d         | j        t                     d S )Nr   )r   res	bds_stats	DECIMAL_8selfs    ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/tsa/tests/test_bds.py	test_statzCheckBDS.test_stat-   s"    DHQKCCCCC    c                 R    t          | j        d         | j        t                     d S )Nr   )r   r   pvaluesr   r   s    r   test_pvaluezCheckBDS.test_pvalue0   s"    DHQKyAAAAAr   N)__name__
__module____qualname____doc__r   r    r   r   r   r   '   sD         
D D DB B B B Br   r   c                   (    e Zd ZdZed             ZdS )TestBDSSequencez%
    BDS Test on np.arange(1,26)
    c                    t           t           d         dk             | _         t          j        | j         d         j        dd                    | _        t          j        | j         d         j        dd                    | _        t          d         t          d                                                  | _        t          | j        d          | _	        d S )Nr   r   r
   r	   r   
r   nparrayilocr   r   datanotnullr   r   clss    r   setup_classzTestBDSSequence.setup_class8       gajAo.Q!4QRR!899hs{1~2122677747??,,-ch""r   Nr   r   r   r   classmethodr,   r    r   r   r"   r"   4   9          # # [# # #r   r"   c                   (    e Zd ZdZed             ZdS )TestBDSNormalz/
    BDS Test on np.random.normal(size=25)
    c                    t           t           d         dk             | _         t          j        | j         d         j        dd                    | _        t          j        | j         d         j        dd                    | _        t          d         t          d                                                  | _        t          | j        d          | _	        d S )Nr   r
   r   r	   r   r$   r*   s    r   r,   zTestBDSNormal.setup_classF   r-   r   Nr.   r    r   r   r2   r2   B   r0   r   r2   c                   (    e Zd ZdZed             ZdS )TestBDSCombinedzR
    BDS Test on np.r_[np.random.normal(size=25), np.random.uniform(size=25)]
    c                    t           t           d         dk             | _         t          j        | j         d         j        dd                    | _        t          j        | j         d         j        dd                    | _        t          d         t          d                                                  | _        t          | j        d          | _	        d S )Nr   r	   r
   r   r   r$   r*   s    r   r,   zTestBDSCombined.setup_classT   r-   r   Nr.   r    r   r   r5   r5   P   r0   r   r5   c                   (    e Zd ZdZed             ZdS )TestBDSGDPC1z
    BDS Test on GDPC1: 1947Q1 - 2013Q1

    References
    ----------
    http://research.stlouisfed.org/fred2/series/GDPC1
    c                    t           t           d         dk             | _         t          j        | j         d         j        dd                    | _        t          j        | j         d         j        dd                    | _        t          d         t          d                                                  | _        t          | j        d          | _	        d S )Nr   r   r
   r   r	   r   r$   r*   s    r   r,   zTestBDSGDPC1.setup_classf   r-   r   Nr.   r    r   r   r8   r8   ^   s9          # # [# # #r   r8   )!r   osnumpyr%   numpy.testingr   pandaspdstatsmodels.tsa.stattoolsr   r   	DECIMAL_6	DECIMAL_5	DECIMAL_4	DECIMAL_3	DECIMAL_2	DECIMAL_1pathdirnameabspath__file__curdirjoin	data_fileread_csvr(   res_filer   r   r"   r2   r5   r8   r    r   r   <module>rO      s    
			     - - - - - -     ) ) ) ) ) )								22	3	3GLLN;;	r{9T***7<<	+<==
"+ht
,
,
,
B 
B 
B 
B 
B 
B 
B 
B# # # # #h # # ## # # # #H # # ## # # # #h # # ## # # # #8 # # # # #r   