@@ -11,16 +11,17 @@ this key feature of the data is because the exogenous productivity (and
11
11
government spending shocks) are assumed to be highly persistent. Such large and
12
12
persistent shocks to productivity/technology are hard to identify in the data.
13
13
14
- Model suffers from other issues common to RBC models, for examples the model has
14
+ Model suffers from other issues common to RBC models, for example the model has
15
15
no room for involuntary unemployment. In this model, workers choose to be
16
16
unemployed (or under employed!): workers optimally adjust their labor supply
17
17
across time in response to changes in the real wage (which in turn are driven by
18
18
exogenous productivity/technology shocks).
19
19
20
20
Note that there are two sources of growth in Romer's RBC: technology growth and
21
21
population growth. Thus we will need to detrend variables accordingly in order
22
- to have a stationary model. Below I work with per effective worker variables
23
- unless otherwise noted.
22
+ to have a stationary model. All variables, with the exception of l(t), are
23
+ expressed in per effective worker terms. The labor supply, l(t), is in per
24
+ capita terms.
24
25
25
26
%Model Information++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
26
27
Name = Romer's RBC model;
@@ -31,8 +32,8 @@ Name = Romer's RBC model;
31
32
# discount rate
32
33
rho = 0.01;
33
34
34
- # weight (relative to consumption) that worker places on utility from leisure
35
- b = 2.5 ;
35
+ # Calibrated steady state labour, in the SS solver the parameter b now gets determined
36
+ l_bar = 2.0 / 3.0 ;
36
37
37
38
# Household size (normalized to unity)
38
39
H = 1.0;
@@ -47,11 +48,12 @@ n = 0.0025;
47
48
delta = 0.025;
48
49
49
50
# capital's share of output
50
- alpha = 1.0/ 3.0;
51
+ alpha = 1.0 / 3.0;
51
52
52
53
# government spending per effective worker is chosen so that in SS government
53
54
# spending roughly is 20% of output (which matches U.S. data)
54
- gov = 0.5774;
55
+ # g_bar now gets determined residually in the SS solver
56
+ gov_share = 0.20;
55
57
56
58
# persistence of technology shocks
57
59
rho_A = 0.95;
@@ -65,66 +67,91 @@ sigma_A = 0.011;
65
67
# standard deviation of government spending shocks
66
68
sigma_G = 0.011;
67
69
70
+ # Various easily computed steady-state values
68
71
z_A_bar = 1.0;
69
72
z_G_bar = 1.0;
70
- A_bar = 1.0;
71
- G_bar = 1.0;
72
- g_bar = gov;
73
73
74
74
%Variable Vectors+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
75
- # Per capita consumption, c, and labor_supply, l, are the control variables ; the
75
+ # Only endogenous state variable is capital per effective worker, k ; the
76
76
# two exogenous variables are technology, A, and government spending, G. Both
77
77
# are driven by AR(1) processes z_A and z_G, respectively.
78
78
79
- [1] y(t):output{con}[log,hp]
80
- [2] k(t):physical_capital{endo}[log,hp]
81
- [3] L(t):leisure{con}[log,hp]
82
- [4] N(t):labur{con}[log,hp]
83
- [4] c(t):consumption{con}[log,hp]
84
- [5] i(t):investment{con}[log,hp]
85
- [6] w(t):real_wage{con}[log,hp]
86
- [7] R(t):gross_interest_rate{con}[log,hp]
87
- [8] A(t):technology{con}[log,hp]
88
- [9] g(t):gov_spending{con}[log,hp]
89
- [10] z_A(t):eps_A(t):tech_shocks{exo}[log,hp]
90
- [11] z_G(t):eps_G(t):gov_shocks{exo}[log,hp]
79
+ [0] y(t):output{con}[log,cf]
80
+ [1] k(t):physical_capital{endo}[log,cf]
81
+ [2] l(t):labor{con}[log,cf]
82
+ [3] c(t):consumption{con}[log,cf]
83
+ [4] i(t):investment{con}[log,cf]
84
+ [5] w(t):real_wage{con}[log]
85
+ [6] R(t):gross_interest_rate{con}
86
+ [7] g(t):gov_spending{con}[log,cf]
87
+ [8] z_A(t):eps_A(t):tech_shocks{exo}[log,cf]
88
+ [9] z_G(t):eps_G(t):gov_shocks{exo}[log,cf]
91
89
92
90
%Boundary Conditions++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
93
91
None
94
92
95
93
%Variable Substitution Non-Linear System++++++++++++++++++++++++++++++++++++++++
96
- # Following Romer, I work with per effective worker variables.
97
- None
94
+ [0] @U(t) = LOG(c(t)) + b*LOG(1-l(t));
95
+ [1] @Uc(t) = DIFF{@U(t),c(t)};
96
+ [2] @Uc(t+1) = FF_1{@Uc(t)};
97
+ [10] @F(t) = k(t-1)**alpha;
98
+ [11] @Fk(t) = alpha * k(t-1)**(alpha - 1);
99
+ [12] @Fl(t) = z_A(t) * (1 - alpha) * k(t-1)**alpha;
98
100
99
101
%Non-Linear First-Order Conditions++++++++++++++++++++++++++++++++++++++++++++++
100
- [1] EXP(n + g) * k(t) - ((1 - delta) * k(t-1) + i(t)) = 0;
101
- [2] y(t) - (c(t) + i(t) + g(t)) = 0;
102
- [3] y(t) - k(t-1)**alpha = 0;
103
- [4] 1 - L(t) - N(t) = 0;
104
- [4] w(t) - (1 - alpha) * k(t-1)**alpha = 0;
105
- [5] R(t) - (alpha * k(t-1)**(alpha - 1) + (1 - delta)) = 0;
106
- [6] (1 / c(t)) - EXP(-(rho + g)) * (1 / E(t)|c(t+1)) * E(t)|R(t+1) = 0;
107
- [7] b * c(t) * L(t) - (1 - L(t))*w(t) = 0;
108
- [8] E(t)|A(t+1) - EXP(g + E(t)|z_A(t+1)) * A(t) = 0;
109
- [9] E(t)|g(t+1) - EXP(n + g + E(t)|z_G(t+1)) * g(t) = 0;
110
- [10] E(t)|z_A(t+1) - rho_A * z_A(t) = 0;
111
- [11] E(t)|z_G(t+1) - rho_G * z_G(t) = 0;
102
+ # Evolution of physical capital
103
+ [0] (E(t)|z_A(t+1) * E(t)|l(t+1))*k(t) * EXP(n + g) - (z_A(t) * l(t))*((1 - delta) * k(t-1) + i(t)) = 0;
104
+
105
+ # Aggregate resource constraint
106
+ [1] (z_A(t) * l(t))*(y(t) - c(t) - i(t) - g(t)) = 0;
107
+
108
+ # production process
109
+ [2] y(t)*(z_A(t) * l(t)) - w(t)*l(t) - (R(t)-1.0)*k(t-1)*(z_A(t) * l(t)) = 0;
110
+
111
+ # labor is paid its marginal product
112
+ [3] w(t)/(z_A(t) * l(t)) - @Fl(t) = 0;
113
+
114
+ # capital is paid its marginal product
115
+ [4] R(t) - (1 + @Fk(t) - delta) = 0;
116
+
117
+ # consumption Euler equation
118
+ [5] 1 - EXP(-(rho + g)) * ((z_A(t)*l(t)*c(t)) / (E(t)|z_A(t+1)*E(t)|l(t+1)*E(t)|c(t+1))) * E(t)|R(t+1) = 0;
119
+
120
+ # intra-temporal consumption/labor supply trade-off
121
+ [6] b * c(t) * (z_A(t) * l(t)) - w(t)*(1 - l(t)) = 0;
122
+
123
+ # evolution of government spending (per effective worker!)
124
+ [7] LOG((E(t)|g(t+1)* (E(t)|z_A(t+1) * E(t)|l(t+1)))/(g(t)* (z_A(t) * l(t)))) - (n+g) - (E(t)|z_G(t+1)/z_G(t)) = 0;
125
+
126
+ # technology shocks
127
+ [8] LOG(E(t)|z_A(t+1)) - rho_A * LOG(z_A(t)) = 0;
128
+
129
+ # government spending shocks
130
+ [9] LOG(E(t)|z_G(t+1)) - rho_G * LOG(z_G(t)) = 0;
112
131
113
132
%Steady States [Closed form]++++++++++++++++++++++++++++++++++++++++++++++++++++
114
133
None
115
134
116
-
135
+
117
136
%Steady State Non-Linear System [Manual]++++++++++++++++++++++++++++++++++++++++
118
- USE_FOCS=[0,1,2,3,4,5,6,7];
119
-
120
- [1] k_bar = 35.0;
121
- [2] y_bar = k_bar**alpha;
122
- [3] w_bar = (1-alpha)*k_bar**alpha;
123
- [4] R_bar = (alpha*k_bar**(alpha-1)+(1- delta));
124
- [5] L_bar = 0.7;
125
- [6] N_bar = 0.3;
126
- [7] c_bar = 2.0;
127
- [8] i_bar = y_bar-c_bar-g_bar;
137
+ [0] (EXP(n + g) - 1 + delta) * k_bar - i_bar = 0;
138
+ [1] y_bar - c_bar - i_bar - g_bar = 0;
139
+ [2] y_bar - k_bar**alpha = 0;
140
+ [3] w_bar - (1 - alpha) * k_bar**alpha = 0;
141
+ [4] R_bar - (1 + alpha * k_bar**(alpha - 1) - delta) = 0;
142
+ [5] 1 - EXP(-(rho + g)) * R_bar = 0;
143
+ [6] b * c_bar * l_bar - (1 - l_bar) * w_bar = 0;
144
+ [7] g_bar - y_bar * gov_share = 0;
145
+
146
+ # initial values for numerical steady-state computation
147
+ [0] k_bar = 20.0;
148
+ [1] y_bar = k_bar**alpha;
149
+ [2] w_bar = (1 - alpha) * k_bar**alpha;
150
+ [3] R_bar = 1 + alpha * k_bar**(alpha - 1) - delta;
151
+ [4] b = 1.0;
152
+ [5] c_bar = 2.0;
153
+ [6] g_bar = y_bar * gov_share;
154
+ [7] i_bar = y_bar - c_bar - g_bar;
128
155
129
156
%Log-Linearized Model Equations+++++++++++++++++++++++++++++++++++++++++++++++++
130
157
None
@@ -134,3 +161,4 @@ Sigma = [sigma_A**2 0;
134
161
0 sigma_G**2];
135
162
136
163
%End Of Model File++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
164
+
0 commit comments