On Wed, 25 Apr 2012, Henrique Andrade wrote:
So I need to make some modifications in my Hansl code. Please look at
this
small code:
<hansl>
function list testarima (series y, int p[1:12:2], int q[1:12:2])
list Forecasts = null
loop P=1..p
loop Q=1..q
arima P 1 Q ; y --nc --quiet
series dummy_mais = misszero(($uhat >= +2*sd($uhat)))
series dummy_menos = misszero(($uhat <= -2*sd($uhat)))
arima P 1 Q ; y dummy_mais dummy_menos --nc --quiet
matrix teste_t = $coeff./$stderr
matrix roots = $["roots"]
if abs(teste_t)>critical(t, $T, 0.025) && abs(roots[,1])>1
arima P 1 Q ; y --nc
fcast Y_hat_$P_1_$Q
list Forecasts += Y_hat_$P_1_$Q
print Forecasts --byobs
endif
endloop
endloop
return Forecasts
end function
open fedstl.bin
data exbzus exchus
dataset addobs 12
list Lista = testarima(exchus)
print Lista --byobs
</hansl>
The problem now is that my function only prints the forecasts but doesn't
store them appropriately inside the list "Projecoes".
Are you sure? If I run the script exactly as copied from above, the
final command, "print Lista --byobs", prints three series returned
in Lista by your function, namely Y_hat_1_1_1, Y_hat_1_1_2 and
Y_hat_2_1_1. (I don't know anything about "Projecoes" since that
does not appear anywhere in the script.)
Allin Cottrell