{va,ve} = eighv(w); "eigenvalues of W matrix" ; format /RD 6,2; va'; "eigenvector corresp. to largest eigenvalue" ; format /RD 6,2; ve[.,rows(ve)]'; graphset; if not ergrf[3]; _Pscreen = 0; /* just for production runs */ endif; title("Eigenvalues of W matrix"); _ptek = "eigw.tkf"; _Plctrl = 1; xy(seqa(1,1,rows(va)),rev(va)); graphset; if not ergrf[3]; _Pscreen = 0; /* just for production runs */ endif; _plctrl = 1; _ptek = "wts1.tkf"; title("Portfolio weights: largest eigenvector of weighting matrix"); /* make x-axis labels */ if momcode == 0; decsel = seqa(1,1,10); else; decsel = whichdec; endif; let lab = "T-Bill"; j = 1; do while j <= rows(decsel); lab = lab| ("D" $+ ftos(decsel[j],"%*.*lf",1,0)); j = j+1; endo; lab = lab|"NR"|"R" ; j = 1; do while j <= rows(decsel); lab = lab| ("D" $+ ftos(decsel[j],"%*.*lf",1,0) $+ "xTP"); j = j+1; endo; lab = lab|"NRxTP"|"RxTP"; j = 1; do while j <= rows(decsel); lab = lab| ("D" $+ ftos(decsel[j],"%*.*lf",1,0) $+ "xDP"); j = j+1; endo; lab = lab|"NRxDP"|"RxDP"; xlabel("Moment"); ylabel("Weight"); lab3 = " " .*. ones(rows(lab),1); asclabel(lab3,0); lab2 = "-T-Bill"; i = 2; do while i <= rows(lab); lab2 = lab2 $+ "\000-" $+ lab[i]; i = i+1; endo; _pmsgstr = lab2; _pmsgctl = seqa(1.3,1,rows(ve))~(ones(rows(lab),1)*(-4~0.1~90~1~10~0)); xtics(0,rows(ve)+1,1,0); wts = ve[.,rows(ve)]; _pticout = 1; _pbartyp = 0~10; bar(seqa(1,1,rows(ve)),wts/sumc(wts)); @ xy(seqa(1,1,rows(ve)),wts/sumc(wts)); @ title("Portfolio weights: second largest eigenvector of weighting matrix"); wts = ve[.,rows(ve)-1]; _pmsgctl = seqa(1.3,1,rows(ve))~(ones(rows(lab),1)*(-2~0.1~90~1~10~0)); ytics(-2,2,1,0); _ptek = "wts2.tkf"; bar(seqa(1,1,rows(ve)),wts/sumc(wts)); title("Portfolio weights: third largest eigenvector of weighting matrix"); wts = ve[.,rows(ve)-2]; _pmsgctl = seqa(1.3,1,rows(ve))~(ones(rows(lab),1)*(-4~0.1~90~1~10~0)); ytics(-4,4,1,0); _ptek = "wts3.tkf"; bar(seqa(1,1,rows(ve)),wts/sumc(wts));