DEFINE hc3reg (dv =!charend('/')/iv =!charend ('/')). SET MXLOOP = 100000000. MATRIX. GET x/file = */variables = !dv !iv/names = dv/missing = omit. compute y=x(:,1). compute x=x(:,2:ncol(x)). compute pr = ncol(x). compute n = nrow(x). compute iv = t({"Constant", dv(1,2:ncol(dv))}). compute con = make(n,1,1). compute x={con,x}. compute dv=dv(1,1). compute b = inv(t(x)*x)*t(x)*y). compute k = nrow(b). compute invXtX = inv(t(x)*x). compute h = x(:,1). loop i=1 to n. compute h(i,1)= x(i,:)*invXtX*t(x(i,:)). end loop. compute resid = (y-(x*b)). compute pred = x*b. loop i=1 to k. compute x(:,i) = (resid&/(1-h))&*x(:,i). end loop. compute hc = invXtX*t(x)*x*invXtX. print dv/title = "Criterion Variable"/format A8. compute sebhc = sqrt(diag(hc)). compute te = b&/sebhc. compute p = 2*(1-tcdf(abs(te), n-nrow(b))). compute oput = {b,sebhc, te, p}. print oput/title = 'HC3 Heteroscedasticity-Consistent Regression Results'/clabels = "B(OLS)" "SE(HC3)" "t" "P>|t|"/rnames = iv/format f10.4. END MATRIX. !END DEFINE.