Mark This should be reasonably straightforward. In the simplest case you wih to draw a random complex number in the unit circle. This is best done in polar coordinates.
If r is a random mumber on (0,1) and theta a random number on (0, 2 Pi) then if x=r cos(theta) and y= r sin(theta), x + i y is inside the unit circle. As such roots come in conjugate pairs a second is x-iy. If you then need an odd number of roots the final can simply be a random number on (0,1). You do not need to use a uniform distribution but can use any distribution on the required intervals or restrain more or the eigenvalues to be real. John On Sunday, 15 January 2012, Mark Leeds <marklee...@gmail.com> wrote: > hi john. I think I follow you. but , in your algorithm, it is straightforward to > generate a set of eigenvalues with modulus less than 1 ? thanks. > > > On Sat, Jan 14, 2012 at 5:31 PM, John C Frain <fra...@gmail.com> wrote: > > Mark, statquant2 > > As I understand the question it is not to test if a VAR is stable but how to construct a VAR that is stable and automatically satisfies the condition Mark has taken from Lutkohl. The algorithm that I have set out will automatically satisfy that condition.The matrix that should be "estimated by the algorithm is A on the last line of page 15 of Lutkepohl. Incidentally the corresponding matrix for the example on page 15 is singular. The algorithm that I have set out will only lead to systems with a non-singular matrix. > > I still don't see how a matrix generated in this way corresponds to a real economic system. Of course you may have some other constraints in mind that would make the generated system correspond to something more real. > > John > > On Saturday, 14 January 2012, Mark Leeds <marklee...@gmail.com> wrote: >> Hi statquant2 and john: In the first chapter of Lutkepohl, it is shown that stability f >> a VAR(p) is the same as >> >> det(I_k - A1z - .... Ap Z^p ) does not equal zero for z < 1. >> >> where I_k - A1z - ... Ap z^p is referred to as the reverse characteristic polynomial. >> >> So, statquant2, given your A's, one way to do it but be would be to check the roots of the >> polynomial implied by taking the determinant of the your polynomial. >> >> There's an example on pg 17 of lutkepohl if you have it. If you don't, I can fax it to you >> over the weekend if you want it. >> >> >> >> On Fri, Jan 13, 2012 at 8:34 PM, John C Frain <fra...@gmail.com> wrote: >>> >>> I think that you must approach this in a different way. >>> >>> 1 Draw a set of random eigenvalues with modulus < 1 >>> 2 Draw a set of random eigenvalues vectors. >>> 3 From these you can, with some matrix manipulations, derive the >>> corresponding Var coefficients. >>> >>> If your original coefficients were drawn at random I suspect that the VAR >>> would not be stable. I am curious about what you are trying to do. >>> >>> John >>> >>> On Friday, 13 January 2012, statquant2 <statqu...@gmail.com> wrote: >>> > Hello Paul >>> > Thanks for the answer but my point is not how to simulate a VAR(p) process >>> > and check that it is stable. >>> > My question is more how can I generate a VAR(p) such that I already know >>> > that it is stable. >>> > >>> > We know a condition that assure that it is stable (see first message) but >>> > this is not a condition on coefficients etc... >>> > What I want is >>> > generate say a 1000 random VAR(3) processes over say 500 time periods that >>> > will be STABLE (meaning If I run stability() all will pass the test) >>> > >>> > When I try to do that it seems that none of the VAR I am generating pass >>> > this test, so I assume that the class of stable VAR(p) is very small >>> > compared to the whole VAR(p) process. >>> > >>> > >>> > >>> > -- >>> > View this message in context: >>> http://r.789695.n4.nabble.com/simulating-stable-VAR-process-tp4261177p4291835.html >>> > Sent from the R help mailing list archive at Nabble.com. >>> > >>> > ______________________________________________ >>> > R-help@r-project.org mailing list >>> > https://stat.ethz.ch/mailman/listinfo/r-help >>> > PLEASE do read the posting guide >>> http://www.R-project.org/posting-guide.html >>> > and provide commented, minimal, self-contained, reproducible code. >>> > >>> >>> -- >>> John C Frain >>> Economics Department >>> Trinity College Dublin >>> Dublin 2 >>> Ireland >>> -- John C Frain Economics Department Trinity College Dublin Dublin 2 Ireland www.tcd.ie/Economics/staff/frainj/home.html mailto:fra...@tcd.ie mailto:fra...@gmail.com [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.