Matlab Code for Solving Linear Rational Expectations Models
A computationally robust solution method for linear rational expectations models is displayed, based on the QZ matrix decomposition. Any rational expectations model, in continuous or discrete time, can be solved by this approach. It requires that the model be cast into first-order form, but it does not require that it be reduced so that the number of states matches the number of equations. It also avoids the artificial requirement that variables be designated as "jump" variables or not. (Instead, how expectational error terms enter the system must be specified - a more general specification.) The code automatically determines whether the model satisfies conditions for existence and uniqueness. Two matlab files, gensys.m and gensysct.m, analyze linear rational expectations systems and return solutions for their dependence on exogenous disturbances. The systems need not have non-singular lead matrices (coefficients on current variables in discrete time, on derivatives in continuous time) and they need not be well-specified. The program analyzes them to determine whether solutions exist and whether they are unique. It returns a solution even when it is not unique, and it returns a solution that constrains exogenous variable behavior when no solution that does not do so exists. The continuous time program, unlike the discrete time program, handles only the case of serially uncorrelated exogenous processes. The files qzdiv.m, qzdivct.m, and qzswitch.m are required by the gensys.m programs. If you try to implement the algorithm in non-Matlab languages, you will need to find or write a routine that does the complex QZ (or generalized Schur) decomposition. Fortran routines that do this are available in the ACM algorithm files.
|Date of creation:||22 Jul 2001|
|Date of revision:|
|Contact details of provider:|| Postal: |
Web page: http://dge.repec.org/
More information through EDIRC
This item is featured on the following reading lists or Wikipedia pages:
When requesting a correction, please mention this item's handle: RePEc:dge:qmrbcd:11. See general information about how to correct material in RePEc.
For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: (Christian Zimmermann)
If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.
If references are entirely missing, you can add them using this form.
If the full references list an item that is present in RePEc, but the system did not link to it, you can help with this form.
If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your profile, as there may be some citations waiting for confirmation.
Please note that corrections may take a couple of weeks to filter through the various RePEc services.