Hello all!

I have an autoregressive model of the form:

prof_it=a_i + b_i1*prof_it-1 + b_i2*prof_it-2 + b_i3*prof_it-3+.....b_in*prof_it-n

where prof=profit, i=firms, t=periods, n=1,2...

the long run projected value of prof is:

lrpp_i=a_i/(1-b_i1-b_i2-b_i3-....)

and the problem is that if I want to test if this long run projected value is significantly different from zero I have to test for nonlinear restrictions, because lrpp_i is nonlinear and is depending on at least two and most n+1 estimated parameters which are a_i, b_i1, b_i2, b_i3.....

Everything is simple as far as I can calculate the Estimated Variance for each long run projected value of prof_i. If I would know this Variance then I would just simply divide estimated lrpp_i by sqrt(Estimated Variance) and if this is greater than |2| than I know that my long run projected value id significantly different from zero. So the problem is to get this Estimated Variance. This seems not to be so easy since the formula for nonlinear restrictions is:

EstVar(lrpp_i)=(dlrpp_i/db_i)' Var(lrpp_i) (dlrpp_i/db_i)

where Var(lrpp_i) is the variance covariance matrix which I get with covout when I estimate the model.

dlrpp_i/db_i is the vector of the derivation of the lrpp with respect to the parameters a_i, b_i1, b_i2, b_i3 and so on.

dlrpp_i/da_i=1/(1-b_i1 + b_i2 + b_i3 +...) dlrpp_i/db_1i=a_i/(1-b_i1 + b_i2 + b_i3 +...)^2 dlrpp_i/db_2i=a_i/(1-b_i1 + b_i2 + b_i3 +...)^2 .....

My questions are:

1. How can I calculate this vector with a programm (I know I can do it by hand but it is rather complicated when I have more lag's)?

2. If I have this vector how can I multiply it with the variance-covariance matrix?

I can write a programm to get the variance-covariance matrix in an est file, but how then to multiply it by a vector?????? Let's say for simplicity that I have an AR1 and I write the following code:

proc reg data=myfile outest=est covout ;

model prof=LP;

by coname; proc print data=est; run;

where LP is the lagged prof and coname is the name of each company.

How can I multiply the output in est by a vector???? Here the vector would be (1/1-b_i1, a_i/(1-b_i1)^2).

3. I suppose that once I have this vector it is very easy to transpose it. How?

So generally my questions are of two types:

A) How can I calculate a vector using derivation of a formula? B) How can I multiply this vector with the variance covariance matrix from the covout output?

ANY HINT WOULD HELP!!!

Thank you for reading it to the end!