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  = 2;                            /* 0 = nothing, 1 = const, 2 = trend */   


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


t = rows(x);

//dx = diff(x,1); /* First difference */
dx= x;
if mod eq 2; dx = dx-meanc(dx)'; endif; /* Demeaning */



{rho_y,cd_y} = cd(dx); 



/* printing options */
format/m1/rd 8,3;

rho_y;;cd_y;;2*cdfnc(abs(cd_y)); //correlation 
endfor;
endfor;





/* procs */

proc (2) = cd(x);
local i,j,rho,n;

n = cols(x);

i   = 1;         
rho = 0;
do while i <= n-1;
j = i + 1;
do while j <= n;
rho = rho + (x[.,i]'x[.,j])/(sqrt(sumc(x[.,i].^2))*sqrt(sumc(x[.,j].^2)));
j   = j + 1; endo;
i   = i + 1; endo;

retp((2/(n*(n-1)))*rho,sqrt((2*t)/(n*(n-1)))*rho);
endp;




proc lagn(x,n);
local y;
y = shiftr(x',n,(miss(0,0))');
retp(y');
endp;


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

