function [bols,se,t,s2] = ols2(y,X); % PURPOSE: simple OLS regression % INPUTS: % n by 1 vector y (dependent variable) % n by k matrix X (explanatory variables) % OUTPUT: bols: k by 1 vector of regression coefficients % se: k by 1 vector of standard erros % t: k by 1 vector of t-values % s2: squared regression error % % written by: A brilliant Math week student n=length(y);% an alternative to size(y,1) for vectors k=size(X,2); bols=inv(X'*X)*X'*y; e=y-X*bols; s2=e'*e/(n-k); Vb=s2*inv(X'*X); se=sqrt(diag(Vb)); t=bols./se;