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,yu,xlu,xld,f,m,b,e,s2,v,s0,sx,zl,l;

t   = rows(y);
n   = cols(y);
yu  = rec_detr_u(y); 
xlu = rec_detr_u(xl);
xld = rec_detr_d(xl);
f   = meanc(yu'); 
l   = (yu'f)/(f'f);
zl  = xld - meanc((xld.*l')');
m   = eye(t)-f*inv(f'f)*f';
b   = sumc(diag(xld'm*yu))/sumc(diag(xld'm*xlu));
e   = yu - xlu*b;
sx  = sumc(diag(xld'xlu));
s0  = diag(e'm*e)'diag(zl'zl)/t;
v   = s0/sx^2;

//Wald 
w   =  b'inv(v)*b;

retp(b,sqrt(v),b/sqrt(v),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;



