When I adjust (adjust arch terms from 2 to 3 lags) and run the following code I got from Hamilton site, I get this error message:
Maxseek (205): error: G0058: index out of range
currently active call: echo [205]
echo called from: Maxseek [226]
Can anyone help me with this error?
1 Answer
0
This is because when you add another AR term, you also need to add an additional starting value to the variable th
in the procedure startval
, which begins around line 55 of the file Maxseek. In the original file, th
is a 13x1 vector. The comments around line 37-43 tell us what each of the elements of the th
vector represent:
//------ Input initial values for parameters ------------
/* The order in which variables are represented is as follows
constant term in regression
autoregressive terms in regression
initial variance parameter
constant term in ARCH equation
*/
So before you added the third AR term, the first element of th
was the starting value for the constant term in the regression, th[2]
and th[3]
were the starting values for the autoregressive terms, th[4]
was the starting parameter value for the initial variance parameter, etc.
To add a third AR term, you need to add an additional starting value to th
between th[3]
and th[4]
. This value should be as close as possible to the final answer--put in your best guess. Assuming that we thought 0.1 was a reasonable guess, we would change th
from the original (below):
let th[13,1] =
0.35080500 0.25003200 -0.56817500
0.027988000 -0.11706300
11.4016 0.051132 10.765493 0.1208310
4.3512660 13.146594 0.42415600 -5.2199370 ;
to this (notice the added 0.1):
let th[13,1] =
0.35080500 0.25003200 -0.56817500 0.1
0.027988000 -0.11706300
11.4016 0.051132 10.765493 0.1208310
4.3512660 13.146594 0.42415600 -5.2199370 ;
This is in addition to changing karch
to equal 3 on line 29, which I think you already did.
Your Answer
1 Answer
This is because when you add another AR term, you also need to add an additional starting value to the variable th
in the procedure startval
, which begins around line 55 of the file Maxseek. In the original file, th
is a 13x1 vector. The comments around line 37-43 tell us what each of the elements of the th
vector represent:
//------ Input initial values for parameters ------------
/* The order in which variables are represented is as follows
constant term in regression
autoregressive terms in regression
initial variance parameter
constant term in ARCH equation
*/
So before you added the third AR term, the first element of th
was the starting value for the constant term in the regression, th[2]
and th[3]
were the starting values for the autoregressive terms, th[4]
was the starting parameter value for the initial variance parameter, etc.
To add a third AR term, you need to add an additional starting value to th
between th[3]
and th[4]
. This value should be as close as possible to the final answer--put in your best guess. Assuming that we thought 0.1 was a reasonable guess, we would change th
from the original (below):
let th[13,1] =
0.35080500 0.25003200 -0.56817500
0.027988000 -0.11706300
11.4016 0.051132 10.765493 0.1208310
4.3512660 13.146594 0.42415600 -5.2199370 ;
to this (notice the added 0.1):
let th[13,1] =
0.35080500 0.25003200 -0.56817500 0.1
0.027988000 -0.11706300
11.4016 0.051132 10.765493 0.1208310
4.3512660 13.146594 0.42415600 -5.2199370 ;
This is in addition to changing karch
to equal 3 on line 29, which I think you already did.