Portfolio models

This page describes the changes and additions that are necessary to handle portfolio allocation problems in Dynare.

Preprocessor

To flag the portfolio equation in the modfile

[key='value',key='value',...] y = y + 1;

One may want to attach values of any type to an equation. Currently, only strings of characters are recognized but we ask the user to specify users to enter quoted strings nevertheless. Type of keys should also be restricted so that they can be used as fields in matlab structures if needed, i.e. no numeric character, no space,...

M_.equations_tags = {
    1 'name' 'First equation';
    2 'name' 'Second equation';
    2 'portfolio' 'true';
};

tags = M_.equations_tags;
tags(cell2mat(tags(:,1))==2,2:3) % all tags for equation 2
tags(strmatch('name',tags(:,2)),[1 3]) % a vector with equations numbers and associated names

To trigger third order derivatives

Portfolios computations involve third order derivative when finding the steady state even if no simulation is to be made.

Currently, the preprocessor computes third derivatives ( g3 ) if order=3 option is passed to stoch_simul and the processing in matlab fails.

stoch_simul may eventually be modfied in order to allow for simulations with portfolios. In this case, it would not be the same as the so-called "third-order" approximation. For this reason, there should be another option somewhere triggering computations of g3

* One proposition : add an option to steady : (portfolios=true) which would imply (order=3)

* Another (cleaner) : differentiate runtime option order=... from preprocessing time option compute_order=...

* Currently : there is a patch that allows instruction steady(order=3) even if no stoch_simul instruction is present.