
    !g                     n   d Z ddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ  e	       Zg de_         ej                  g d      e_         ej                  g d	      e_         ej                  g d
      e_         ej                  g d      e_         G d d      Z G d de      Z G d d      Zy)z>

Created on Sun Jun 30 20:25:22 2013

Author: Josef Perktold
    N)assert_allclose)add_constant)Holder)TLinearModel)<zApr.1982zApr.1983zApr.1984zApr.1985zApr.1986zAug.1982zAug.1983zAug.1984zAug.1985zAug.1986zDec.1982zDec.1983zDec.1984zDec.1985zDec.1986zFeb.1284zFeb.1982zFeb.1983zFeb.1985zFeb.1986zJan.1982zJan.1983zJan.1984zJan.1985zJan.1986zJul.1982July1983July1984July1985July1986June1982June1983June1984June1985June1986zMar.1982zMar.1983zMar.1984zMar.1985zMar.1986May1982May1983May1984May1985May1986zNov.1982zNov.1983zNov.1984zNov.1985zNov.1986zOct.1982zOct.1983zOct.1984zOct.1985zOct.1986z	Sept.1982z	Sept.1983z	Sept.1984z	Sept.1985z	Sept.1986)<gFxgr鷯gq=
ףpg	c?gH.!gZڊg\mgc]F?gʡEg(\µ?~jth?gvOjM?g0*gbX9ȶg1?gO@aӻ?g333333?gJY?g5;Nё?g:pΈg333333?g%ugX9vgݓZgX5;N?gjMStg%uggs?g<R!gH}mgw-!l?g=
ףp=?gx$(~gSt$?g48EGgc]F?g@?g|Pk?g	^)ˠga2U0*gH?g 	gL7A`?gQg	c¿9vzg+?gͪՖ?Dlg6[ ?g?g o_y?geX?gb=ygZӼgfaִ?gRI&¶g0'g_L?gKY8Ž)<gQg<,Ԛ歿g:pΈK=U?gjMSgh|?5gvq-g%u?gQ~?gQ?gZӼ?g~jt?g:pΈҞ?gea?gq?gS㥛İ?g~jthgp=
ף?g&gnt?/$?p_QgΈ?gX9vgL7A`吿gI+gUN@?gǺfgcZBgvq-?gtF_g7d?r   gS!uq{go_gUN@?gò?r   gy&1|ׁsFg[B>٬?ggj+?r   gZӼㄿg'饿gUN@?g2U0*?gMJ?g-C6*?g"u?g+e?g5;NёgZd;O?g{Gz?gBig rh?g
h"lxzg-?g_Qڋ?g?ܵ|)<g2%䃮g(\ſglxz,C?gw?ggsg
ףp=
?g+e☿guV?gm{ggj+?gͪՖg_LegSt$?g oŏ?glV}?gAf?g_vO?gΈg,eXr   gȘ?gy&1l?gN@?gHPsgW2ı?g@߾gy)gj+ݓg6<Rg?g/ng^I+?g?g_vOvg	^)ˀ?g@ǘ?gK=U?g-C6Z?gy&1?g/n?g'Wʲ?gT㥛 ?glxz,Cgǘ?g(\gޓZӬ?g?r   g}гY?gD?g~jtgHPgfj+?r   gH?g(y?g8d`g	g?gPsg?߾)<      $      )            8   3   .            %      *             9   4   /            &      +   !         :   5   0            '      ,   "      	   ;   6   1            (      -   #      
   <   7   2      c                   b    e Zd Zd Zd Zd Zd Zd Zej                  j                  d        Zy)CheckTLinearModelMixinc                 Z   | j                   }| j                  }t        |j                  d d |j                  j
                  d       t        |j                  d d |j                  j                  d d df   dd       t        |j                  d d |j                  j                  d d df   dd       t        |j                  d d |j                  j                  d d d	f   d
d       t        |j                  d   |j                  d       t        |j                  d   |j                  dd       t        j                  |j                  j                  j!                               }t        |j                  d   |d       t        |j"                  |j$                  d       y )NgiUMu>atolr   r   gh㈵>rtolr]   r+   r7   g;On?-C6
?r_   g{Gz?)res1res2r   paramsloc_fitcoefficientsbsetabletvaluespvaluesdofdofsenpsqrt	scale_fitfitted_valuesmeanllflogLik)selfrc   rd   	scale_ests       e/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/statsmodels/miscmodels/tests/test_tmodel.py
test_basicz!CheckTLinearModelMixin.test_basicH   s8   yyyyCR($,,*C*C$O"t||'9'9!Q$'?eRVWSb)4<<+=+=ad+C%VZ[Sb)4<<+=+=ad+C%VZ[ 	B=djjt$GGGDNN88==?@	B>$++D9    c                     | j                   }t        |j                  |j                  dd       t        |j                  |j                  dd       y )Ng333333?gMb`?r^   g?gMbp?)rc   r   bsejacrh   )ru   rc   s     rw   test_bsezCheckTLinearModelMixin.test_bseZ   s7    yyTXXDuETXXCeDry   c                    | j                   }| j                  }|j                         }|j                  j                  |z
  }t        ||j                  j                  d       t        ||j                  j                  d       y )NgMb0?ra   g>r\   )	rc   rd   predictmodelendogr   rf   rq   	residuals)ru   rc   rd   fittedvaluesresids        rw   test_fittedz"CheckTLinearModelMixin.test_fitted`   s_    yyyy||~

  </dll&@&@wOt||55DAry   c                    | j                   }| j                  }t        |j                  |j                  d       t        |j                  |j                  d       t        |j
                  j                  |j
                  j                  d       t        |j
                  j                  |j
                  j                  d       y )Ng-C6?r\   r`   ra   g|=)rc   resfr   re   rh   r   r   exog)ru   rc   r   s      rw   test_formulaz#CheckTLinearModelMixin.test_formulal   sx    yyyyT[[=$((6

(($***:*:G

uEry   c                    | j                   }t        | dd      }|j                  j                  j                  \  }}|j
                  ||z
  |z
  k(  sJ |j                  |dz
  k(  sJ t        |j                        ||z   k(  sJ y )Nk_extrar   r   )	rc   getattrr   r   shapedf_residdf_modellenre   )ru   resr   nobsk_varss        rw   test_dfzCheckTLinearModelMixin.test_dfv   s|    ii$	1-yy~~++f||tf}w6666||vz)))3::&7"2222ry   c                 L   | j                   }| j                  }t        j                  t	        |j
                              }|j                          |j                  |       |j                  |       |j                          |j                  |       |j                  |       y N	rc   r   rn   eyer   re   summaryt_testf_testru   rc   r   contrs       rw   
test_smokez!CheckTLinearModelMixin.test_smoke~   o    yyyys4;;'( 	EEEEry   N)__name__
__module____qualname__rx   r|   r   r   r   pytestmarksmoker    ry   rw   rY   rY   F   s<    :$EBF3 [[ ry   rY   c                       e Zd Zed        Zy)
TestTModelc                 j   t         j                  }t        t         j                        }t	        ||      }|j                  dd      }t	        j                  dt         j                  t         j                  d      }|j                  dd      }ddlm} || _	        || _
        || _        d	| _        y )
NbfgsFmethoddispprice ~ CRSPpriceCRSP)datar   )res_t_dfestr+   )mm
m_mariettar   r   r   fitfrom_formularesults_tmodelr   rd   rc   r   r   )clsr   r   modr   modfr   rd   s           rw   setup_classzTestTModel.setup_class   s    BGG$5$'ggV%g0((.0mmBGG%LNxxvEx27ry   N)r   r   r   classmethodr   r   ry   rw   r   r      s     ry   r   c                   T    e Zd Zed        Zej                  j                  d        Zy)TestTModelFixedc                 V   t         j                  }t        t         j                        }t	        ||d      }|j                  dd      }t	        j                  dt         j                  t         j                  dd      }|j                  dd      }|| _        || _        d	| _	        y )
Nr7   )fix_dfr   Fr   r   r   )r   r   r   )
r   r   r   r   r   r   r   rc   r   r   )r   r   r   r   r   r   r   s          rw   r   zTestTModelFixed.setup_class   s    BGG$5$q1ggV%g0((.0mmBGG%L'(* xxvEx2 ry   c                 L   | j                   }| j                  }t        j                  t	        |j
                              }|j                          |j                  |       |j                  |       |j                          |j                  |       |j                  |       y r   r   r   s       rw   r   zTestTModelFixed.test_smoke   r   ry   N)	r   r   r   r   r   r   r   r   r   r   ry   rw   r   r      s2       [[ ry   r   )__doc__r   numpyrn   numpy.testingr   statsmodels.tools.toolsr   statsmodels.tools.testingr   statsmodels.miscmodels.tmodelr   r   
date_labelarrayr   r   am_candaterY   r   r   r   ry   rw   <module>r      s      ) 0 , 6 X  	 	 "(( 	 	 BHH 	 		 "((  E EP' $   ry   