
    i6                         d Z ddlmZ ddlZddlmZmZ ddlZddl	m
Z
mZ ddlmZmZ  G d d      Z G d	 d
      Zedk(  rddlZ ej$                  edddg       yy)z=
Created on Sat Apr 16 15:02:13 2011
@author: Josef Perktold
    )	SP_LT_116N)assert_allcloseassert_almost_equal)mvstdnormcdf
mvstdtprob)MVTMVNormalc                      e Zd Zed        Zej                  j                  e d      d        Z	ej                  j                  e d      d        Z
ej                  j                  e d      d        Zej                  j                  e d      d        Zej                  j                  e d      d        Zy	)
Test_MVN_MVT_probc                    t        j                  g dg dg dg      | _        dt        j                  d      z  | _        dt        j                  d      z  | _        d| _        | j                  j                         }d|d<   || _        y )	N)      ?      ?r   )r      r   )r   r   r               )   r   )	npasarray
corr_equalonesabdfcopycorr2)clsr   s     /home/ubuntu/crypto_trading_bot/.venv/lib/python3.12/site-packages/statsmodels/sandbox/distributions/tests/test_multivariate.pysetup_classzTest_MVN_MVT_prob.setup_class   sh    _[$MNRWWQZBGGAJ##%c
	    zSciPy < 1.16.0 required)reasonc           	         | j                   | j                  }}| j                  }| j                  }d}d}t	        |t        ||||      d       t	        |t        |||d      d       t        |||dd      }t	        ||d	       y )
NghU?g)?r   h㈵>abseps:0yE>i )r&   maxpts   )r   r   r   r   r   r   r   )selfr   r   r   r   	probmvt_R	probmvn_Rmvn_highs           r   test_mvn_mvt_1z Test_MVN_MVT_prob.test_mvn_mvt_1!   s    vvtvv1WW__
 		Iz!Q
B'GKI(Az$G	L  1jhOIx3r!   c           	          | j                   | j                  }}| j                  }| j                  }d}d}t	        |t        ||||      d       t	        |t        |||d      d       y )Ng E?g^Nl?r   r$   r%   )r   r   r   r   r   r   r   )r*   r   r   r   r   r,   r+   s          r   test_mvn_mvt_2z Test_MVN_MVT_prob.test_mvn_mvt_27   s]    vvtvv1WW

		Iz!Qr'BAFI|Aq%'MqQr!   c                 4   | j                   | j                  }}| j                  }| j                  }|j	                         }t
        j                   |d d  d}d}ddi}t        |||||      }	t        ||	d       t        |||dd	
      }
t        ||
d       y )NgR*?gT¸x?epsabsr'   )quadkwdsgMb@?)atol順 r$   r(   r&   g-C6?)
r   r   r   r   r   r   infr   r   r   )r*   r   r   r   r   a2r,   r+   r3   probmvtprobmvns              r   test_mvn_mvt_3z Test_MVN_MVT_prob.test_mvn_mvt_3B   s    vvtvv1WW

VVX1		e$RE2A	76r1eF4H	76r!   c           
      l   | j                   | j                  }}| j                  }| j                  }|j	                         }t
        j                   |d d  d}d}t        |t        t        j                  d      | ||      d       t        |t        t        j                  d      | |dd      d       y )NgUU?r   r   r5   r$   r6   )r   r   r   r   r   r   r7   r   r   zerosr   )r*   r   blr   r   r8   r,   r+   s           r   test_mvn_mvt_4z Test_MVN_MVT_prob.test_mvn_mvt_4T   s    2WW

 VVX1		Iz"((1+sE2'NPQRI(!rc506tEFG	Ir!   c           
         | j                   | j                  }}| j                  }| j                  }t	        j
                  g d      }d}d}t        t        ||dz   ||      |d       t        |t        ||dz   |dd      d       y )	N)r   r   r   gT۰?gWa?r   r   r5   r$   r6   )	r   r   r   r   r   arrayr   r   r   )r*   r   r>   r   r   a3r,   r+   s           r   test_mvn_mvt_5z Test_MVN_MVT_prob.test_mvn_mvt_5e   s    2WW

 XX&'		Jr2a4;YJI|B1e7=d(LMN	Pr!   N)__name__
__module____qualname__classmethodr    pytestmarkskipifr   r.   r0   r;   r?   rC    r!   r   r   r      s       [[I.GH4 I4* [[I.GHR IR [[I.GH7 I7" [[I.GHI II  [[I.GHP IPr!   r   c                   (    e Zd Zed        Zd Zd Zy)TestMVDistributionsc                    t        j                  ddgddgg      }g d}t        j                  g dg dg dg      }|| _        || _        t	        ||      }t	        t        j                  g d      |      }|| _        || _        y )Nr   r   )r                  @)r   r         ?)r   g      ?333333?)rQ   rR   rP   r   r   r   )r   rA   mu3cov3r	   mvn3mvn3c)r   covxrT   rU   rV   rW   s         r   r    zTestMVDistributions.setup_classx   s}    xx#sc3Z01xx...0 1 T"'*D1	r!   c                 <   | j                   }| j                  }g d}t        |j                  |      |d       g d}t        |j	                  |      |d       t        t        j                  g d      |      }g d}t        |j	                  |      |d       y )N)g&Ng&Ng&NgvIh%<=)rtol)gue>?g7P?gTw?rS   )gEOQם?g4x=?g9"8?)rU   rV   r   logpdfpdfr	   r   rA   )r*   rU   rV   r_valmvn3bs        r   test_mvn_pdfz TestMVDistributions.test_mvn_pdf   s    yyyy
 	D)5u=
 	E:),d3
 			$U;r!   c                     | j                   }| j                  }t        ddd      }t        |j	                  t        j                  ddg            dd       t        |j                  t        j                  ddg            dd       |j	                  t        j                  d	d	g            d
z
   t        ddd      }|j	                  t        j                  d	d	g            dz
   |j                  d      }t        t        j                  |d      |j                  d       t        ||d      }t        |j                  |      g dd       t        ||d      }t        |j                  |      g dd       y )N)r   r   r   r)   rO   gdg   )decimalgm0_?r   gX*#g!4r5   F)rowvar)g<G?gx-ZP?gD5If?   r   )gvML?gzDT?g/o6q?)
rU   rT   r   r   r[   r   rA   r\   rvscov)r*   reset_randomstaterU   rT   mvtmvt1re   mvt31s           r   test_mvt_pdfz TestMVDistributions.test_mvt_pdf   s6   yyhh&!QCJJrxxR'9:<N$&	(CGGBHHb"X$679K$&	( 	

288RH%&*;<61a BHHb"X&'+<=ggfoBFF3u5swwJCq!EIIdO4$&	(
 #tQCGGDM3$&	(r!   N)rD   rE   rF   rG   r    r_   rk   rK   r!   r   rM   rM   u   s       <((r!   rM   __main__z-vvsz-xz--pdb)__doc__statsmodels.compat.scipyr   numpyr   numpy.testingr   r   rH   .statsmodels.sandbox.distributions.multivariater   r   +statsmodels.sandbox.distributions.mv_normalr   r	   r   rM   rD   main__file__rK   r!   r   <module>ru      sh    /  >  F`P `PFB( B(J zFKK6412 r!   