SMPL 1 NT;
MMAKE UVEC UH;
SMPL 1 NT;
MAT VVEC       = MMAT1*UVEC;UNMAKE VVEC V;
MAT WVEC       = MMAT1*VVEC;UNMAKE WVEC W;
MAT UQVEC      = Q0*UVEC;UNMAKE UQVEC UQ;
MAT VQVEC      = Q0*VVEC;UNMAKE VQVEC VQ;
MAT WQVEC      = Q0*WVEC;UNMAKE WQVEC WQ;
MAT UQ1TDE1EC  = Q1*UVEC;UNMAKE UQ1TDE1EC UQ1;
MAT VQ1TDE1EC  = Q1*VVEC;UNMAKE VQ1TDE1EC VQ1;
MAT WQ1TDE1EC  = Q1*WVEC;UNMAKE WQ1TDE1EC WQ1;
SMPL 1 NT;
GENR UQ2       = UQ*UQ;
GENR VQ2       = VQ*VQ;
GENR WQ2       = WQ*WQ;
GENR UQVQ      = UQ*VQ;
GENR UQWQ      = UQ*WQ;
GENR VQWQ      = VQ*WQ;
GENR UQ12      = UQ1*UQ1;
GENR VQ12      = VQ1*VQ1;
GENR WQ12      = WQ1*WQ1;
GENR UQ1VQ1    = UQ1*VQ1;
GENR UQ1WQ1    = UQ1*WQ1;
GENR VQ1WQ1    = VQ1*WQ1;

SET T1=T/(T-1);
SET T2=T;

MSD (SILENT) UQ2 VQ2 WQ2 UQVQ UQWQ VQWQ 
UQ12 VQ12 WQ12 UQ1VQ1 UQ1WQ1 VQ1WQ1 ;

SET UQ2M=@MEAN(1)*T1;SET VQ2M=@MEAN(2)*T1;
SET WQ2M=@MEAN(3)*T1;SET UQVQM=@MEAN(4)*T1;
SET UQWQM=@MEAN(5)*T1;SET VQWQM=@MEAN(6)*T1;
SET UQ12M=@MEAN(7)*T2;SET VQ12M=@MEAN(8)*T2;
SET WQ12M=@MEAN(9)*T2;SET UQ1VQ1M=@MEAN(10)*T2;
SET UQ1WQ1M=@MEAN(11)*T2;SET VQ1WQ1M=@MEAN(12)*T2;


?GM THREE EQUATION ESTIMATE FOR RHO AND SIGV
?-------------------------------------------------
FRML EQUSU HMY = HM1*RHOH + HM2*RHOH**2 + HM3*SIGV;
SMPL 1 3;
GENR HM1  = 0;
GENR HM2  = 0;
GENR HM3  = 0;
GENR HMY  = 0;

SMPL 1 1;
HM1  = 2*UQVQM;
HM2  = -VQ2M;
HM3  = 1;
HMY  = UQ2M;

SMPL 2 2;
HM1  = 2*VQWQM;
HM2  = -WQ2M;
HM3  = MMM;
HMY  = VQ2M;

SMPL 3 3;
HM1  = VQ2M+UQWQM;
HM2  = -VQWQM;
HM3  = 0;
HMY  = UQVQM;


?ESTIMATE RHO AND SIGV FROM THREE EQUATIONS BY NLS
?INITIAL GM ESTIMATORS (L=1)
?-------------------------------------------------
SMPL 1 3;
PARAM RHOH SIGV ;
LSQ (SILENT,MAXIT=500,MAXSQZ=20,TOL=0.001) EQUSU;
SET SIGV = SIGV;
SET RHOH = RHOH;
SET SIG1 = UQ12M - (2*UQ1VQ1M*RHOH) - (-1*VQ12M*(RHOH**2));
SET VAR1= ((SIGV**2)/(T-1))**0.5;
SET VAR2 = (SIG1**2)**0.5;

IF L=1; THEN;TITLE '(INITIAL GM ESTIMATORS)';
IF L=1; THEN;PRINT RHOH SIGV SIG1;
IF L=1; THEN;SET RHOGMP=RHOH;
IF L=1; THEN;SET SIGVV=SIGV;
IF L=1; THEN;SET SIG11=SIG1;

?ESTIMATE OF THE VARIANCE COVARIANCE MATRIX
?WEIGHTING MATRICES (L=2 AND L=3)
?-------------------------------------------------

IF L=2; THEN;SET VAR11=NS*((1*(SIGV**2)/(NS*(T-1))));
IF L=2; THEN;SET VAR22=NS*((1*(SIGV**2)/(NS*(T-1))));
IF L=2; THEN;SET VAR33=NS*((1*(SIGV**2)/(NS*(T-1))));
IF L=2; THEN;SET VAR44=NS*((1*(SIG1**2)/NS));
IF L=2; THEN;SET VAR55=NS*((1*(SIG1**2)/NS));
IF L=2; THEN;SET VAR66=NS*((1*(SIG1**2)/NS));
IF L=2; THEN;SET VAR12 = 0;
IF L=2; THEN;SET VAR23 = 0;
IF L=2; THEN;SET VAR45 = 0;
IF L=2; THEN;SET VAR56 = 0;

IF L=3; THEN;SET VAR11 = NS*((2*(SIGV**2)/(NS*(T-1))));
IF L=3; THEN;SET VAR22 = NS*((2*(SIGV**2)/(NS*(T-1)))*MQ0);
IF L=3; THEN;SET VAR33 = NS*((1*(SIGV**2)/(NS*(T-1)))*MQ1);
IF L=3; THEN;SET VAR44 = NS*((2*(SIG1**2)/NS));
IF L=3; THEN;SET VAR55 = NS*((2*(SIG1**2)/NS)*MQ0);
IF L=3; THEN;SET VAR66 = NS*((1*(SIG1**2)/NS)*MQ1);
IF L=3; THEN;SET VAR12 = NS*(2*(SIGV**2)/(NS*(T-1)))*MWT;
IF L=3; THEN;SET VAR23 = NS*(1*(SIGV**2)/(NS*(T-1)))*MWTT;
IF L=3; THEN;SET VAR45 = NS*(2*(SIG1**2)/NS)*MWT;
IF L=3; THEN;SET VAR56 = NS*(1*(SIG1**2)/NS)*MWTT;


IF L>1;THEN;DO;
MFORM (NROW=6,NCOL=6,TYPE=SYM) VCOV=0;

SET VCOV(1,1)=VAR11;
SET VCOV(1,2)=VAR12;
SET VCOV(2,2)=VAR22;
SET VCOV(2,3)=VAR23;
SET VCOV(3,3)=VAR33;
SET VCOV(4,4)=VAR44;
SET VCOV(4,5)=VAR45;
SET VCOV(5,5)=VAR55;
SET VCOV(5,6)=VAR56;
SET VCOV(6,6)=VAR66;
MAT VCOV=VCOV";
MAT P = CHOL(VCOV);

?ESTIMATE RHO, SIGV AND SIG1 FROM SIX EQUATIONS BY NLS
?PARTIALLY WEIGHTED (L=2) AND WEIGHTED (L=3) GM ESTIMATORS
?---------------------------------------------------------

FRML EQUSS HMY = HM1*RHOGMP + HM2*RHOGMP**2 + HM3*SIGVV + HM4*SIG11;

SMPL 1 6;
GENR HM1  = 0;
GENR HM2  = 0;
GENR HM3  = 0;
GENR HM4  = 0;
GENR HMY  = 0;

SMPL 1 1;
HM1  = 2*UQVQM*P(1,1)+2*VQWQM*P(1,2);
HM2  = -VQ2M*P(1,1)-WQ2M*P(1,2);
HM3  = 1*P(1,1)+MMM*P(1,2);
HM4  = 0;
HMY  = UQ2M*P(1,1)+VQ2M*P(1,2);

SMPL 2 2;
HM1  = 2*UQVQM*P(2,1)+2*VQWQM*P(2,2)+(VQ2M+UQWQM)*P(2,3);
HM2  = -VQ2M*P(2,1)-WQ2M*P(2,2)-VQWQM*P(2,3);
HM3  = 1*P(2,1)+MMM*P(2,2);
HM4  = 0;
HMY  = UQ2M*P(2,1)+VQ2M*P(2,2)+UQVQM*P(2,3);

SMPL 3 3;
HM1  = 2*VQWQM*P(3,2)+(VQ2M+UQWQM)*P(3,3);
HM2  = -WQ2M*P(3,2)-VQWQM*P(3,3);
HM3  = MMM*P(3,2);
HM4  = 0;
HMY  = VQ2M*P(3,2)+UQVQM*P(3,3);

SMPL 4 4;
HM1  = 2*UQ1VQ1M*P(4,4)+2*VQ1WQ1M*P(4,5);
HM2  = -VQ12M*P(4,4)-WQ12M*P(4,5);
HM3  = 0;
HM4  = 1*P(4,4)+MMM*P(4,5);
HMY  = UQ12M*P(4,4)+VQ12M*P(4,5);

SMPL 5 5;
HM1  = 2*UQ1VQ1M*P(5,4)+2*VQ1WQ1M*P(5,5)+(VQ12M+UQ1WQ1M)*P(5,6);
HM2  = -VQ12M*P(5,4)-WQ12M*P(5,5)-VQ1WQ1M*P(5,6);
HM3  = 0;
HM4  = 1*P(5,4)+MMM*P(5,5);
HMY  = UQ12M*P(5,4)+VQ12M*P(5,5)+UQ1VQ1M*P(5,6);

SMPL 6 6;
HM1  = 2*VQ1WQ1M*P(6,5)+(VQ12M+UQ1WQ1M)*P(6,6);
HM2  = -WQ12M*P(6,5)-VQ1WQ1M*P(6,6);
HM3  = 0;
HM4  = MMM*P(6,5);
HMY  = VQ12M*P(6,5)+UQ1VQ1M*P(6,6);

?------------------------------------------
SMPL 1 6;
PARAM RHOGMP  SIGVV  SIG11;
LSQ (SILENT,MAXIT=500,MAXSQZ=20,TOL=0.001) EQUSS;
IF L=2; THEN;TITLE '(PARTIALLY WEIGHTED ESTIMATORS)';
IF L=3; THEN;TITLE '(WEIGHTED ESTIMATORS)';
ENDDO;
TITLE 'STEP 2: NLS ESTIMATORS OF RHO AND VARIANCE COMPONENTS SIGMAV^2 AND SIGMA1^2';
PRINT RHOGMP SIGVV SIG11;

