Dear Users,
When running the program below, I got the following syntax error:
parse error near line 49 of file C:\Arquivos de
programas\Octave\share\octave\2.9.9+\m\MyFiles\prog.m
syntax error
>>> for j = 1:lagdep;
^
error: near line 49 of file `C:\Arquivos de
programas\Octave\share\octave\2.9.9+\m\MyFiles\prog.m'
But looking at the code, appears that this is not the case.
Any help?
Best, Rick.
Code:
clear;
#a=xlsread('sabes_oct.txt');
a=randn(150,50);
t=size(a,1);
p=a(:,1); #(target)
aa=a(:,2:5); # resto (regressors)
yy=p;
tt=size(yy,1);
lagdepmin=0;
lagmod1min=0;
lagmod2min=0;
lagmod3min=0;
lagdepmax=3; # lags dependent variable tried
lagmod1max=3; # lags model tried
lagmod2max=3;
lagmod3max=3;
lagmax=max([lagdepmax lagmod1max lagmod2max lagmod3max]);
for ahfor = 1:1;
ahmod=1; # number of periods ahead of model
pseudo=12; # number of out-of-sample points
ychosen=yy(:,1);
for lagdep=lagdepmin:lagdepmax;
for lagmod1=lagmod1min:lagmod1max;
for lagmod2=lagmod2min:lagmod2max;
for lagmod3=lagmod3min:lagmod3max;
for i=1:pseudo;
# prepare model
aaux=aa(1:tt-i-(ahfor-1),:);
aaux=aaux-(ones(size(aaux,1),1)*mean(aaux));
aaux=aaux./(ones(size(aaux,1),1)*std(aaux));
baux=aaux'*aaux;
[vetoraux,valoraux]=eig(baux);
valoraux=diag(valoraux);
xx1=aaux*vetoraux(:,size(vetoraux,2));
xx2=aaux*vetoraux(:,size(vetoraux,2)-1);
xx3=aaux*vetoraux(:,size(vetoraux,2)-2);
# prepare variables
yreal=yy(2+lagmax+(ahfor-1)+(ahmod-1):tt+1-i,1);
yaux=[yy(1+lagmax+(ahmod-1):tt-i-(ahfor-1),1)
xx1(1+lagmax+...
(ahmod-1):tt-i-(ahfor-1),1) xx2(1+lagmax+(ahmod-1):tt-i-...
(ahfor-1),1) xx3(1+lagmax+(ahmod-1):tt-i-(ahfor-1),1);
xaux=ones(tt-i-(ahfor-1)-(ahmod-1)-(1+lagmax)+1,1);
taux=size(yaux,1);
for j = 1:lagdep;
xaux=[xaux yy(1+lagmax-j:tt-i-(ahfor-1)-(ahmod-1)-j,1)];
endfor;
for k1=1:lagmod1;
xaux=[xaux
xx1(1+lagmax-k1:tt-i-(ahfor-1)-(ahmod-1)-k1,1)];
endfor;
for k2=1:lagmod2;
xaux=[xaux
xx2(1+lagmax-k2:tt-i-(ahfor-1)-(ahmod-1)-k2,1)];
endfor;
for k3=1:lagmod3;
xaux=[xaux
xx3(1+lagmax-k3:tt-i-(ahfor-1)-(ahmod-1)-k3,1)];
endfor;
beta=inv(xaux'*xaux)*xaux'*yaux;
% forecast
for m=1:ahfor;
aux=1;
for j=1:lagdep;
aux=[aux yaux(taux-(ahmod-1)+m-j,1)];
endfor;
for k1=1:lagmod1;
aux=[aux yaux(taux-(ahmod-1)+m-k1,2)];
endfor;
for k2=1:lagmod2;
aux=[aux yaux(taux-(ahmod-1)+m-k2,3)];
endfor;
for k3=1:lagmod3;
aux=[aux yaux(taux-(ahmod-1)+m-k3,4)];
endfor;
xaux=[xaux;aux];
yaux=[yaux;xaux(taux+m,:)*beta];
endfor;
err(i)=yreal(taux)-yaux(taux+ahfor,1);
if [lagdep lagmod1 lagmod2 lagmod3 lagmod4 lagmod5
lagmod6]==...
[lagdepcho lagmod1cho lagmod2cho lagmod3cho lagmod4cho...
lagmod5cho lagmod6cho];
ychosen(tt-i+1,1)=yaux(taux+ahfor,1);
end;
endfor;
sumerr(1+lagdep,1+lagmod1,1+lagmod2,1+lagmod3,1+lagmod4,1+lagmod5,...
1+lagmod6)=((err*err')/pseudo)^(1/2)*100;
endfor;
endfor;
endfor;
endfor;
endfor;
________________________________________
------------------------------------------------------------------------
_______________________________________________
Help-octave mailing list
address@hidden
https://www.cae.wisc.edu/mailman/listinfo/help-octave