Added example (rbc model).
parent
8f92b975e4
commit
b2bf59e8da
|
@ -0,0 +1,8 @@
|
||||||
|
To compile the Dynare file ```rbc.mod``` and produce a julia module, just do
|
||||||
|
|
||||||
|
```
|
||||||
|
include("test.jl")
|
||||||
|
```
|
||||||
|
|
||||||
|
in a script or in julia's shell.
|
||||||
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
var Capital , Output, Labour, Consumption, Efficiency, efficiency ;
|
||||||
|
|
||||||
|
varexo EfficiencyInnovation;
|
||||||
|
|
||||||
|
parameters beta, theta, tau, alpha, Epsilon, delta, rho, effstar, sigma;
|
||||||
|
|
||||||
|
beta = 0.990;
|
||||||
|
theta = 0.357;
|
||||||
|
tau = 30.000;
|
||||||
|
alpha = 0.450;
|
||||||
|
delta = 0.020;
|
||||||
|
rho = 0.950;
|
||||||
|
effstar = 1.500;
|
||||||
|
sigma = 0.010;
|
||||||
|
Epsilon = 0.500;
|
||||||
|
|
||||||
|
model;
|
||||||
|
|
||||||
|
#Psi = (Epsilon-1)/Epsilon;
|
||||||
|
|
||||||
|
// Eq. n°1:
|
||||||
|
efficiency = rho*efficiency(-1) + sigma*EfficiencyInnovation;
|
||||||
|
|
||||||
|
// Eq. n°2:
|
||||||
|
Efficiency = effstar*exp(efficiency);
|
||||||
|
|
||||||
|
// Eq. n°3:
|
||||||
|
Output = Efficiency*(alpha*Capital(-1)^Psi+(1-alpha)*Labour^Psi)^(1/Psi);
|
||||||
|
|
||||||
|
// Eq. n°4:
|
||||||
|
Consumption + Capital - Output - (1-delta)*Capital(-1);
|
||||||
|
|
||||||
|
// Eq. n°5:
|
||||||
|
((1-theta)/theta)*(Consumption/(1-Labour)) - (1-alpha)*Efficiency^((1-Psi))*(alpha*(Capital(-1)/Labour)^Psi+1-alpha)^((1-Psi)/Psi);
|
||||||
|
|
||||||
|
// Eq. n°6:
|
||||||
|
(((Consumption^theta)*((1-Labour)^(1-theta)))^(1-tau))/Consumption
|
||||||
|
- beta*(Consumption(1)^theta*(1-Labour(1))^(1-theta))^(1-tau)/Consumption(1)*(alpha*Efficiency(1)^Psi*(Output(1)/Capital)^(1-Psi)+1-delta);
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
steady_state_model;
|
||||||
|
|
||||||
|
efficiency = 0;
|
||||||
|
Efficiency = effstar;
|
||||||
|
|
||||||
|
psi = (Epsilon-1)/Epsilon;
|
||||||
|
|
||||||
|
Output_per_unit_of_Capital = ( (1/beta-1+delta) / (alpha*effstar^psi) )^(1/(1-psi));
|
||||||
|
|
||||||
|
Consumption_per_unit_of_Capital = Output_per_unit_of_Capital-delta;
|
||||||
|
|
||||||
|
Labour_per_unit_of_Capital = ((Output_per_unit_of_Capital/Efficiency)^psi-alpha)^(1/psi)/(1-alpha)^(1/psi);
|
||||||
|
|
||||||
|
gamma_1 = theta*(1-alpha)/(1-theta)*(Output_per_unit_of_Capital/Labour_per_unit_of_Capital)^(1-psi);
|
||||||
|
gamma_2 = (Output_per_unit_of_Capital-delta)/Labour_per_unit_of_Capital;
|
||||||
|
|
||||||
|
Labour = 1/(1+gamma_2/gamma_1);
|
||||||
|
|
||||||
|
Output_per_unit_of_Labour=Output_per_unit_of_Capital/Labour_per_unit_of_Capital;
|
||||||
|
|
||||||
|
Consumption_per_unit_of_Labour=Consumption_per_unit_of_Capital/Labour_per_unit_of_Capital;
|
||||||
|
|
||||||
|
ShareOfCapital= alpha^(1/(1-psi))*effstar^psi/(1/beta-1+delta)^(psi/(1-psi));
|
||||||
|
|
||||||
|
Consumption = Consumption_per_unit_of_Labour*Labour;
|
||||||
|
Capital = Labour/Labour_per_unit_of_Capital;
|
||||||
|
Output = Output_per_unit_of_Capital*Capital;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
shocks;
|
||||||
|
var EfficiencyInnovation = 1;
|
||||||
|
end;
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Modification of the path (for packages). Should be done in ~/.juliarc.jl with a fixed path instead.
|
||||||
|
unshift!(LOAD_PATH, abspath("../../../julia"))
|
||||||
|
|
||||||
|
# Load Dynare package
|
||||||
|
using Dynare
|
||||||
|
|
||||||
|
# Compile the rbc.mod file -> produce a module with the model definition.
|
||||||
|
Dynare.dynare("rbc.mod")
|
Loading…
Reference in New Issue