/* MONTE CARLO SIMULATION Performance of the 2sls estimator against OLS Model: y = xbeta +u x_t = x_(t-1)*gamma+z*delta + epsilon u = z+random error */ rndseed 12345; rep = 10000; n = 100; delta= 0; gam= 0.8; beta= 1; z= rndn(n,1); eps = rndn(n,1); x = zeros(n,1); x1= rndn(n,1); x[1] = delta*z[1]+eps[1]; // x0 = 0 for i (2,n,1); x[i] = gam*x[i-1] +delta*z[i]+eps[i]; endfor; bvec = zeros(rep,1); b2slsvec = zeros(rep,1); for i (1,rep,1); v = rndn(n,1); u = z+v; y = x*beta + u; b = inv(x'x)*x'y; bvec[i] = b; xt = x[2:n]; xt_1=x[1:n-1]; // lagged x xhat = xt_1*(inv(xt_1'xt_1)*xt_1'xt); // predicted values fom 1st stage yt = y[2:n]; b2sls = inv(xhat'xhat)*xhat'yt; b2slsvec[i] = b2sls; endfor; cls; "-------------------------"; "MONTE CARLO RESULTS"; " SIMULATION DESIGN "; "gamma=";; gam; "delta=";; delta; "beta=";; beta; "-------------------------"; ""; "BIAS:"; "OLS:";;meanc(bvec)-beta; "2SLS:";; meanc(b2slsvec)-beta; "VARIANCE"; "OLS:";;stdc(bvec)^2; "2SLS:";;stdc(b2slsvec)^2;