new;
//cls;


for g(1,3,1);

if g eq 1;
y1  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Emerging.xls","B2:I292",2,"");
y2  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Emerging.xls","B3:J293",4,"");
y3  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Emerging.xls","B3:J293",6,"");
y4  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Emerging.xls","B3:E293",8,"");

x1 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Emerging.xls","B2:I292",1,"");
x2 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Emerging.xls","B3:J293",3,"");
x3 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Emerging.xls","B3:J293",5,"");
x4 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Emerging.xls","B3:E293",7,"");


y2 = y2[.,1:cols(y2)-1];
x2 = x2[.,1:cols(x2)-1];
y3 = y3[.,1:cols(y3)-1];
x3 = x3[.,1:cols(x3)-1];

elseif g eq 2;	
y1  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Developed.xls","B2:U292",2,"");
y2  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Developed.xls","B3:V293",4,"");
y3  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Developed.xls","B3:W293",6,"");
y4  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Developed.xls","B3:U293",8,"");

x1 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Developed.xls","B2:U292",1,"");
x2 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Developed.xls","B3:V293",3,"");
x4 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Developed.xls","B3:U293",7,"");
x3 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Developed.xls","B3:W293",5,"");

y2 = y2[.,1:17]~y2[.,19:cols(y2)];
x2 = x2[.,1:17]~x2[.,19:cols(x2)];
x3 = x3[.,1:12]~x3[.,14:18]~x3[.,20:cols(x3)];
y3 = y3[.,1:12]~y3[.,14:18]~y3[.,20:cols(y3)];

elseif g eq 3;

y1  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Global.xls","B2:AC292",2,"");
y2  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Global.xls","B3:AE293",4,"");
y3  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Global.xls","B3:AF293",6,"");
y4  = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Global.xls","B3:Y293",8,"");

x1 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Global.xls","B2:AC292",1,"");
x2 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Global.xls","B3:AE293",3,"");
x3 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Global.xls","B3:AF293",5,"");
x4 = xlsreadm("C:\\Users\\nek-hka\\Dropbox\\08 One factor\\Application2\\Global.xls","B3:Y293",7,"");


y2 = y2[.,1:23]~y2[.,25:29];
x2 = x2[.,1:23]~x2[.,25:29];
y3 = y3[.,1:14]~y3[.,16:24]~y3[.,26:30];
x3 = x3[.,1:14]~x3[.,16:24]~x3[.,26:30];
endif;



mod  = 0;                            /* 0 = nothing, 1 = const, 2 = trend */   

for xv(1,4,1);
if     xv eq 1; x = ln(x1[1:rows(x1)-1,.]);        y = ln(1+y1[2:rows(y1),.]/100);  // DP ratio
elseif xv eq 2; x = ln(x2[1:rows(x2)-1,.]);        y = ln(1+y2[2:rows(y2),.]/100);  // EP ratio
elseif xv eq 3; x = x3[1:rows(x3)-1,.];            y = ln(1+y3[2:rows(y3),.]/100);  // SR
elseif xv eq 4; x = x4[1:rows(x4)-1,.];            y = ln(1+y4[2:rows(y4),.]/100);  // TS
endif;


t = rows(x);
n = cols(y);



{b,s,tt,w} = t_stat(y,x);

/* printing options */



format/m1/rd 8,3;

b;;s;;tt;;2*cdfnc(abs(tt));
endfor;
endfor;

/* procs */
proc diff(x,k);
if k == 0;
retp(x);
endif;
retp(trimr(x,k,0)-trimr(lagn(x,k),k,0));
endp;

proc (4) = t_stat(y,xl);
local t,n,f,m,yh,xlh,b,e,phux,phxx,sigh,tt,md,yd,xld;

t    = rows(y);
n    = cols(y);
f    = meanc(xl');
m    = eye(t)-f*inv(f'f)*f';
yh   = m*y;
xlh  = m*xl;
yd   = rec_detr_u(yh); 
xld  = rec_detr_u(xlh);


b    = sumc(diag(xlh'*yd))/sumc(diag(xld'*xlh));
e    = yd - xld*b;
 
phux = diag(e'*xlh)'*diag(e'*xlh)/(n*t^2);
phxx = sumc(diag(xld'*xlh))/(n*t^2);
sigh = inv(phxx)*phux*inv(phxx)/(n*t^2);
tt   = b/sqrt(sigh);
w   =  b'inv(sigh)*b;

retp(b,sqrt(sigh),tt,w);
endp;




proc (1) = rec_detr_d(y);
local t,n,i,x,d;

t = rows(y);
n = cols(y);
d = ones(t,1);                       
x = zeros(t,n);
i = 1;
do while i <= t;
x[i,.] = y[i,.] - sumc(y[1:i,.])'/i;
i      = i + 1;
endo;

retp(x);
endp;



proc (1) = rec_detr_u(y);
local t,n,i,x,d;

t = rows(y);
n = cols(y);
d = ones(t,1);                       
x = zeros(t,n);
i = 1;
do while i <= t;
x[i,.] = y[i,.] - sumc(y[i:t,.])'/(t-i+1);
i      = i + 1;
endo;

retp(x);
endp;



