

workfile C:\data\grangera.wf1
smpl 1/02/2003 12/29/2006
!m1=2
!R=6 'maximum lag order of residual
scalar LM
scalar LM_p
matrix ((!R+1)*!m1,3) simres1 'to store the result
!n=5

!m0=1
'restricted version
equation eq1.ls rhk rsh(-1 to -!m0) rus1(-1 to -!m0) rkr(-1 to -!m0) rsg(-1 to -!m0)
eq1.makeresids res_hk
scalar rss0_hk=eq1.@ssr

series res_hk1=@nan(res_hk(-1),0)
series res_hk2=@nan(res_hk(-2),0)
series res_hk3=@nan(res_hk(-3),0)
series res_hk4=@nan(res_hk(-4),0)
series res_hk5=@nan(res_hk(-5),0)
series res_hk6=@nan(res_hk(-6),0)

'below for loop is to vary the lag order of the residual
for !s=6 to !R
'augmented regression for separated equations 
equation eq2.ls res_hk rhk(-1 to -!m0) rsh(-1 to -!m0) rus1(-1 to -!m0)  rkr(-1 to -!m0) rsg(-1 to -!m0) res_hk1 res_hk2  res_hk3 res_hk4 res_hk5 res_hk6 
scalar rss_hk=eq2.@ssr
'LM=eq2.@regobs*(rss0_hk-rss_hk)/rss0_hk
LM=eq2.@regobs*eq2.@r2
LM_p=1-@cchisq(LM, !s)
simres1(!s+(!R+1)*(!m0-1),1)=!s
simres1(!s+(!R+1)*(!m0-1),2)=LM
simres1(!s+(!R+1)*(!m0-1),3)=LM_p
next
