Merge remote-tracking branch 'community/master' into enterprise
commit
56e7144b91
|
@ -7,10 +7,10 @@ Installation and configuration
|
||||||
Software requirements
|
Software requirements
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Packaged versions of Dynare are available for Windows 7/8/10,
|
Packaged versions of Dynare are available for Windows 7/8/10, several GNU/Linux
|
||||||
`Debian GNU/Linux <http://www.debian.org/>`__, `Ubuntu`_ and macOS 10.8
|
distributions (Debian, Ubuntu, Linux Mint, Arch Linux) and macOS
|
||||||
or later. Dynare should work on other systems, but some compilation
|
10.8 or later. Dynare should work on other systems, but some compilation steps
|
||||||
steps are necessary in that case.
|
are necessary in that case.
|
||||||
|
|
||||||
In order to run Dynare, you need one of the following:
|
In order to run Dynare, you need one of the following:
|
||||||
|
|
||||||
|
@ -54,14 +54,31 @@ Note that you can have several versions of Dynare coexisting (for
|
||||||
example in ``c:\dynare``), as long as you correctly adjust your path
|
example in ``c:\dynare``), as long as you correctly adjust your path
|
||||||
settings (see see :ref:`words-warning`).
|
settings (see see :ref:`words-warning`).
|
||||||
|
|
||||||
|
Also note that it is possible to do a silent installation, by passing the
|
||||||
|
``/S`` flag to the installer on the command line. This can be useful when
|
||||||
|
doing an unattended installation of Dynare on a computer pool.
|
||||||
|
|
||||||
On Debian GNU/Linux and Ubuntu
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
Please refer to the `Dynare wiki`_ for detailed instructions.
|
On GNU/Linux
|
||||||
|
------------
|
||||||
|
|
||||||
|
On Debian, Ubuntu and Linux Mint, the Dynare package can be installed with:
|
||||||
|
``apt install dynare``. This will give a fully-functional Dynare installation
|
||||||
|
usable with Octave. If you have MATLAB installed, you should also do: ``apt
|
||||||
|
install dynare-matlab`` (under Debian, this package is in the ``contrib``
|
||||||
|
section). Documentation can be installed with ``apt install dynare-doc``. The
|
||||||
|
status of those packages can be checked at those pages:
|
||||||
|
|
||||||
|
* `Package status in Debian`_
|
||||||
|
* `Package status in Ubuntu`_
|
||||||
|
* `Package status in Linux Mint`_
|
||||||
|
|
||||||
|
On Arch Linux, the Dynare package is not in the official repositories, but is
|
||||||
|
available in the `Arch User Repository`_. The needed sources can be
|
||||||
|
downloaded from the `package status in Arch Linux`_.
|
||||||
|
|
||||||
Dynare will be installed under ``/usr/lib/dynare``. Documentation will
|
Dynare will be installed under ``/usr/lib/dynare``. Documentation will
|
||||||
be under ``/usr/share/doc/dynare-doc``.
|
be under ``/usr/share/doc/dynare-doc`` (only on Debian, Ubuntu and Linux Mint).
|
||||||
|
|
||||||
|
|
||||||
On macOS
|
On macOS
|
||||||
|
@ -112,15 +129,16 @@ There is no prerequisites on Windows. Dynare now ships a compilation
|
||||||
environment that can be used with the :opt:`use_dll` option.
|
environment that can be used with the :opt:`use_dll` option.
|
||||||
|
|
||||||
|
|
||||||
Prerequisites on Debian GNU/Linux and Ubuntu
|
Prerequisites on GNU/Linux
|
||||||
--------------------------------------------
|
--------------------------
|
||||||
|
|
||||||
Users of MATLAB under GNU/Linux need a working compilation
|
Users of MATLAB under GNU/Linux need a working compilation environment
|
||||||
environment installed. If not already present, it can be installed via
|
installed. Under Debian, Ubuntu or Linux Mint, it can be installed via ``apt
|
||||||
``apt install build-essential``.
|
install build-essential``.
|
||||||
|
|
||||||
Users of Octave under GNU/Linux should install the package for MEX file
|
Users of Octave under GNU/Linux should install the package for MEX file
|
||||||
compilation (under Debian or Ubuntu, it is called ``liboctave-dev``).
|
compilation (under Debian, Ubuntu or Linux Mint, it can be done via ``apt
|
||||||
|
install liboctave-dev``).
|
||||||
|
|
||||||
Prerequisites on macOS
|
Prerequisites on macOS
|
||||||
----------------------
|
----------------------
|
||||||
|
@ -152,7 +170,7 @@ installation to MATLAB path. You have two options for doing that:
|
||||||
|
|
||||||
>> addpath c:/dynare/4.x.y/matlab
|
>> addpath c:/dynare/4.x.y/matlab
|
||||||
|
|
||||||
Under Debian GNU/Linux or Ubuntu, type::
|
Under GNU/Linux, type::
|
||||||
|
|
||||||
>> addpath /usr/lib/dynare/matlab
|
>> addpath /usr/lib/dynare/matlab
|
||||||
|
|
||||||
|
@ -187,8 +205,10 @@ type::
|
||||||
|
|
||||||
octave:1> addpath c:/dynare/4.x.y/matlab
|
octave:1> addpath c:/dynare/4.x.y/matlab
|
||||||
|
|
||||||
Under Debian GNU/Linux or Ubuntu, there is no need to use the
|
Under Debian, Ubuntu or Linux Mint, there is no need to use the ``addpath``
|
||||||
``addpath`` command; the packaging does it for you.
|
command; the packaging does it for you. Under Arch Linux, you need to do::
|
||||||
|
|
||||||
|
octave:1> addpath /usr/lib/dynare/matlab
|
||||||
|
|
||||||
Under macOS, assuming that you have installed Dynare and Octave via
|
Under macOS, assuming that you have installed Dynare and Octave via
|
||||||
Homebrew, type::
|
Homebrew, type::
|
||||||
|
@ -232,7 +252,11 @@ Dynare unusable.
|
||||||
end up with a non optimal or un-usable installation of Dynare.
|
end up with a non optimal or un-usable installation of Dynare.
|
||||||
|
|
||||||
|
|
||||||
.. _Ubuntu: http://www.ubuntu.com/
|
.. _Package status in Debian: https://packages.debian.org/sid/dynare
|
||||||
|
.. _Package status in Ubuntu: https://launchpad.net/ubuntu/+source/dynare
|
||||||
|
.. _Package status in Linux Mint: https://community.linuxmint.com/software/view/dynare
|
||||||
|
.. _Package status in Arch Linux: https://aur.archlinux.org/packages/dynare/
|
||||||
|
.. _Arch User Repository: https://wiki.archlinux.org/index.php/Arch_User_Repository
|
||||||
.. _Dynare website: https://www.dynare.org/
|
.. _Dynare website: https://www.dynare.org/
|
||||||
.. _Dynare wiki: https://git.dynare.org/Dynare/dynare/wikis
|
.. _Dynare wiki: https://git.dynare.org/Dynare/dynare/wikis
|
||||||
.. _Octave-Forge: https://octave.sourceforge.io/
|
.. _Octave-Forge: https://octave.sourceforge.io/
|
||||||
|
|
|
@ -152,7 +152,7 @@ end
|
||||||
|
|
||||||
if ~isempty(strfind(fname,filesep))
|
if ~isempty(strfind(fname,filesep))
|
||||||
fprintf('\nIt seems you are trying to call a .mod file not located in the "Current Folder". This is not possible (the %s symbol is not allowed in the name of the .mod file).\n', filesep)
|
fprintf('\nIt seems you are trying to call a .mod file not located in the "Current Folder". This is not possible (the %s symbol is not allowed in the name of the .mod file).\n', filesep)
|
||||||
[pathtomodfile,basename,ext] = fileparts(fname);
|
[pathtomodfile,basename] = fileparts(fname);
|
||||||
if exist(pathtomodfile,'dir')
|
if exist(pathtomodfile,'dir')
|
||||||
filesindirectory = dir(pathtomodfile);
|
filesindirectory = dir(pathtomodfile);
|
||||||
filesindirectory = struct2cell(filesindirectory);
|
filesindirectory = struct2cell(filesindirectory);
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit fac9e4436c1c1f7d97e03d5fee77f7fb45dff54a
|
Subproject commit 9e454debb5eb7cbabcf29e844e16f2463d8d7eb6
|
|
@ -0,0 +1,3 @@
|
||||||
|
function retval = y_k(alpha, beta, delta)
|
||||||
|
retval = (1/alpha)*(1/beta-1+delta);
|
||||||
|
end
|
|
@ -174,12 +174,14 @@ MODFILES = \
|
||||||
dsge-var/simul_hybrid.mod \
|
dsge-var/simul_hybrid.mod \
|
||||||
dsge-var/dsgevar_forward_calibrated_lambda.mod \
|
dsge-var/dsgevar_forward_calibrated_lambda.mod \
|
||||||
dsge-var/dsgevar_forward_estimated_lambda.mod \
|
dsge-var/dsgevar_forward_estimated_lambda.mod \
|
||||||
external_function/first_and_2nd_deriv_fcns_provided.mod \
|
external_function/first_deriv_given.mod \
|
||||||
external_function/first_and_2nd_deriv_fcns_provided_dll.mod \
|
external_function/first_deriv_given_dll.mod \
|
||||||
external_function/first_deriv_fcn_provided.mod \
|
external_function/first_and_2nd_deriv_given.mod \
|
||||||
external_function/first_deriv_fcn_provided_dll.mod \
|
external_function/first_and_2nd_deriv_given_namespace.mod \
|
||||||
external_function/no_deriv_fcns_provided.mod \
|
external_function/first_and_2nd_deriv_given_dll.mod \
|
||||||
external_function/no_deriv_fcns_provided_dll.mod \
|
external_function/first_and_2nd_deriv_given_dll_namespace.mod \
|
||||||
|
external_function/no_deriv_given.mod \
|
||||||
|
external_function/no_deriv_given_dll.mod \
|
||||||
seeds.mod \
|
seeds.mod \
|
||||||
identification/kim/kim2.mod \
|
identification/kim/kim2.mod \
|
||||||
identification/as2007/as2007.mod \
|
identification/as2007/as2007.mod \
|
||||||
|
@ -953,6 +955,7 @@ EXTRA_DIST = \
|
||||||
run_reporting_test_matlab.m \
|
run_reporting_test_matlab.m \
|
||||||
run_reporting_test_octave.m \
|
run_reporting_test_octave.m \
|
||||||
run_all_unitary_tests.m \
|
run_all_unitary_tests.m \
|
||||||
|
+matlab/+namespace/y_k.m \
|
||||||
reporting/AnnualTable.m \
|
reporting/AnnualTable.m \
|
||||||
reporting/CommResidTablePage.m \
|
reporting/CommResidTablePage.m \
|
||||||
reporting/CountryGraphPage.m \
|
reporting/CountryGraphPage.m \
|
||||||
|
@ -978,6 +981,8 @@ EXTRA_DIST = \
|
||||||
external_function/extFunDeriv.m \
|
external_function/extFunDeriv.m \
|
||||||
external_function/extFunNoDerivs.m \
|
external_function/extFunNoDerivs.m \
|
||||||
external_function/extFunWithFirstAndSecondDerivs.m \
|
external_function/extFunWithFirstAndSecondDerivs.m \
|
||||||
|
external_function/+matlab/+namespace/extFunNoDerivsNamespace.m \
|
||||||
|
external_function/+matlab/+namespace/extFunWithFirstAndSecondDerivsNamespace.m \
|
||||||
expectations/expectation_ss_old_steadystate.m \
|
expectations/expectation_ss_old_steadystate.m \
|
||||||
filter_step_ahead/trend_cycle_decomposition_data.m \
|
filter_step_ahead/trend_cycle_decomposition_data.m \
|
||||||
steady_state/walsh1_old_ss_steadystate.m \
|
steady_state/walsh1_old_ss_steadystate.m \
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
function y=extFunNoDerivsNamespace(a,b)
|
||||||
|
y=a*(b^2);
|
||||||
|
end
|
|
@ -0,0 +1,9 @@
|
||||||
|
function [y df d2f]=extFunWithFirstAndSecondDerivsNamespace(a,b)
|
||||||
|
y=a*(b^2);
|
||||||
|
|
||||||
|
da=b^2;
|
||||||
|
db=2*a*b;
|
||||||
|
df=[da db];
|
||||||
|
|
||||||
|
d2f=[0 2*b; 2*b 2*a];
|
||||||
|
end
|
|
@ -0,0 +1,48 @@
|
||||||
|
// Example 1 from Collard's guide to Dynare
|
||||||
|
var y, c, k, a, h, b;
|
||||||
|
varexo e, u;
|
||||||
|
|
||||||
|
parameters beta, rho, alpha, delta, theta, psi, tau;
|
||||||
|
|
||||||
|
alpha = 0.36;
|
||||||
|
rho = 0.95;
|
||||||
|
tau = 0.025;
|
||||||
|
beta = 0.99;
|
||||||
|
delta = 0.025;
|
||||||
|
psi = 0;
|
||||||
|
theta = 2.95;
|
||||||
|
|
||||||
|
phi = 0.1;
|
||||||
|
|
||||||
|
addpath(pwd)
|
||||||
|
|
||||||
|
external_function(nargs=2, name=matlab.namespace.extFunWithFirstAndSecondDerivsNamespace, first_deriv_provided, second_deriv_provided);
|
||||||
|
|
||||||
|
model(use_dll);
|
||||||
|
c*theta*h^(1+psi)=(1-alpha)*y;
|
||||||
|
k = beta*(((exp(b)*c)/(exp(b(+1))*c(+1)))
|
||||||
|
*(exp(b(+1))*alpha*y(+1)+(1-delta)*k));
|
||||||
|
y = exp(a)*(k(-1)^alpha)*(h^(1-alpha));
|
||||||
|
k = exp(b)*(y-c)+matlab.namespace.extFunWithFirstAndSecondDerivsNamespace((1-delta),k(-1));
|
||||||
|
a = rho*a(-1)+tau*b(-1) + e;
|
||||||
|
b = tau*a(-1)+rho*b(-1) + u;
|
||||||
|
end;
|
||||||
|
|
||||||
|
initval;
|
||||||
|
y = 1.08068253095672;
|
||||||
|
c = 0.80359242014163;
|
||||||
|
h = 0.29175631001732;
|
||||||
|
k = 11.08360443260358;
|
||||||
|
a = 0;
|
||||||
|
b = 0;
|
||||||
|
e = 0;
|
||||||
|
u = 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
shocks;
|
||||||
|
var e; stderr 0.009;
|
||||||
|
var u; stderr 0.009;
|
||||||
|
var e, u = phi*0.009*0.009;
|
||||||
|
end;
|
||||||
|
|
||||||
|
stoch_simul;
|
|
@ -0,0 +1,48 @@
|
||||||
|
// Example 1 from Collard's guide to Dynare
|
||||||
|
var y, c, k, a, h, b;
|
||||||
|
varexo e, u;
|
||||||
|
|
||||||
|
parameters beta, rho, alpha, delta, theta, psi, tau;
|
||||||
|
|
||||||
|
alpha = 0.36;
|
||||||
|
rho = 0.95;
|
||||||
|
tau = 0.025;
|
||||||
|
beta = 0.99;
|
||||||
|
delta = 0.025;
|
||||||
|
psi = 0;
|
||||||
|
theta = 2.95;
|
||||||
|
|
||||||
|
phi = 0.1;
|
||||||
|
|
||||||
|
addpath(pwd)
|
||||||
|
|
||||||
|
external_function(nargs=2, name=matlab.namespace.extFunWithFirstAndSecondDerivsNamespace, first_deriv_provided, second_deriv_provided);
|
||||||
|
|
||||||
|
model;
|
||||||
|
c*theta*h^(1+psi)=(1-alpha)*y;
|
||||||
|
k = beta*(((exp(b)*c)/(exp(b(+1))*c(+1)))
|
||||||
|
*(exp(b(+1))*alpha*y(+1)+(1-delta)*k));
|
||||||
|
y = exp(a)*(k(-1)^alpha)*(h^(1-alpha));
|
||||||
|
k = exp(b)*(y-c)+matlab.namespace.extFunWithFirstAndSecondDerivsNamespace((1-delta),k(-1));
|
||||||
|
a = rho*a(-1)+tau*b(-1) + e;
|
||||||
|
b = tau*a(-1)+rho*b(-1) + u;
|
||||||
|
end;
|
||||||
|
|
||||||
|
initval;
|
||||||
|
y = 1.08068253095672;
|
||||||
|
c = 0.80359242014163;
|
||||||
|
h = 0.29175631001732;
|
||||||
|
k = 11.08360443260358;
|
||||||
|
a = 0;
|
||||||
|
b = 0;
|
||||||
|
e = 0;
|
||||||
|
u = 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
shocks;
|
||||||
|
var e; stderr 0.009;
|
||||||
|
var u; stderr 0.009;
|
||||||
|
var e, u = phi*0.009*0.009;
|
||||||
|
end;
|
||||||
|
|
||||||
|
stoch_simul;
|
|
@ -67,7 +67,7 @@ steady_state_model;
|
||||||
// adapting solution Walsh (2003) p. 84
|
// adapting solution Walsh (2003) p. 84
|
||||||
en = 1/3;
|
en = 1/3;
|
||||||
eR = 1/beta;
|
eR = 1/beta;
|
||||||
y_k = (1/alpha)*(1/beta-1+delta);
|
y_k = matlab.namespace.y_k(alpha, beta, delta);
|
||||||
ek = en*y_k^(-1/(1-alpha));
|
ek = en*y_k^(-1/(1-alpha));
|
||||||
ec = ek*(y_k-delta);
|
ec = ek*(y_k-delta);
|
||||||
em = ec*(a/(1-a))^(-1/b)*((thetass-beta)/thetass)^(-1/b);
|
em = ec*(a/(1-a))^(-1/b)*((thetass-beta)/thetass)^(-1/b);
|
||||||
|
|
Loading…
Reference in New Issue