0% found this document useful (0 votes)
77 views50 pages

Slides 1 The RBC Model

Uploaded by

黃崇瑜
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views50 pages

Slides 1 The RBC Model

Uploaded by

黃崇瑜
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Slides 1: The RBC Model

Analytical and Numerical solutions

Bianca De Paoli

November 2009
1 Theory of business cycles

Business Cycle Facts:

Macroeconomic uctuations vary in size and persistence

Modern theory of business cycles assumes economy is perturbed by


shocks which propagate into the economy

Di erent output components have di erent properties in terms of eco-


nomic uctuations: Inventories, consumption of durables, resident in-
vestment are very volatile, while non-durable consumption, govern-
ment expenditure and net exports are relatively stable.

Size of upturns and downturns somewhat similar, but the former are
more persistent (di erent this time around?)
Explaining the business cycles: need to modify neoclassical model of
Macro I as follows

Include shocks (to technology, government expenditure, preferences,


monetary conditions, etc)

Include uctuations in employment (endogenising labour supply)

Result is a \frictionless" real business cycle model based on microeco-


nomic foundation

Extensions to introduce real and nominal rigidities to explain empirical


facts in asset prices and nominal variables (future lectures)
Solving the model:

Solution to non-linear dynamic forward looking rational expectations


stochastic models

Traditional linearization approach

Evaluation through impulse response analysis


Foundations: the basic Real Business Cycle model
The social planner's maximization problem
Basic problem: maximize lifetime utility, given resource constraint
8 9
1
X < 1 =
max Et i Ct+i
:1 ;
i=0
s.t.
Yt+i = Ct+i + Kt+i (1 ) Kt+i 1 (1)
1
Yt+i = Zt+iKt+i 1Nt+i (2)

Nt+i = 1 (3)

z^t+i = z^t+i 1 + "t+i; "t i:i:d:N 0; 2 (4)


Yt, Ct, Kt; Zt are time t levels of output, consumption, capital and pro-
ductivity, respectively. (NB Upper case are levels, lower case variables
are logs and variables with hats are log-deviations from steady-state -
more later)
NB Kt represents the amount of capital available for production in
period t + 1 - it is an end of period stock.
Nt is a measure of labour input. This will be xed at 1 for now, but
we will analyse models with variable labour supply later.
is the subjective discount factor, is a measure of the returns to
scale of capital, is the coe cient of relative risk aversion or the
inverse the elasticity of intertemporal substitution and is the rate of
depreciation.
Some frameworks adopt a start of period stock notation, that is, in this case, Kt repre-
sents the amount of capital available for production in period t. The reseource contrain
is then Yt = Ct + Kt+1 (1 ) Kt
Ct and Kt are the planner's choice variables.

Zt and Kt 1 are so called state variables, i.e. they are predetermined.

t is the Lagrange multiplier associated with the resource constraint

First-order conditions:
Ct = t (5)
" !#
Yt+1
t = Et t+1 +1 (6)
Kt

Yt = ZtKt 1 (7)

Yt = Ct + Kt (1 t ) Kt 1 (8)
Alternatively, one can assume that agents can trade bonds:
Yt+i + Bt+i 1Rt+i = Ct+i + Bt+i + Kt+i (1 ) Kt+i 1 (9)
First-order conditions:
Ct = t (10)

t = Et [ t+1Rt+1] (11)
k ]
Et[ t+1Rt+1
Et[ t+1Rt+1]
= (12)
t t
k Yt+1
where Rt+1 Kt + 1
But does the introduction of bonds change the dynamics of the model?
All agents need is one asset to store savings from one period to the other.
Representative agents: bonds will be in zero net supply (Bt+i 1 = Bt+i 1 =
0) and all saving will be stored in the form of capital
Solving the deterministic steady state (DSS)
All expectations are realized and uncertainty is absent. How do we nd
the DSS?
The case of no growth: set Ct+i = C 8i, then combine and reduce equa-
tions such that we obtain variables as a function of only the deep pa-
rameters ( ; ; ) : E.g. combining Euler equation and expression for Rt
gives
R = 1=

("upperbar" denotes the steady-state value of the variables)


Using this in Rt and assuming Z = 1; we obtain
0 1 1
1 1+ 1
K=@ A :
Similarly we nd
0 1
1 1+ 1
Y = @ A

0 1 1
1 1+ 1
I = @ A

0 1 0 1 1
1 1+ 1 1 1+ 1
C = @ A @ A :

At this point we can turn to the data to nd out e.g. long run level
C ; I and from these we can judge the value of deep parameters.
of Y Y
Solving the RBC model
Linearizing the model

For some special case we can nd reduce form solutions for the non-
linear equilibrium conditions

We could also simulate the model using numerical methods

But solving the model explicitly can deliver better economic insights

A log linear approximation to equilibrium allows the model to be solved


analytically
Linearization:
A rst order Taylor expansion:

Taylor expansions approximate analytical functions around a xed point,


assuming that all their derivatives exist.

In particular, we consider the case in which the xed point constitutes


the steady-state value of the variables.

A rst-order Taylor expansion of a function F (X ) is given by:

F (X ) = F (X ) + FX (X )(X X ) + o(k k2 ); (13)

where the term o(k k)2 stands for terms of order higher than one

and FX (X ) is the rst derivative of F (:) evaluated at the steady-state


value of X:
The log approximation:

We have seen how to write the non-linear function F (X ) as a linear


expression of (X X )

But macroeconomic models are often presents the system of equilib-


rium conditions in log deviations from steady-state.

That is, the models are expressed in terms of x


^ = log X=X or
^ = x x, where x = log(X )
x

We should note that the logarithmic function must also be approxi-


mated to rst-order.
In order to do so we use the following identity:
X = exp fxg ,
The rst-order expansion to the above equation can be written as:
X = exp(x) + exp(x)(x x) + o(k k2 ); (14)
or, alternatively,
X X X exp(x)
= = (x x) + o(k k2 )
X exp(x)
= x
^ + o(k k2 ) (15)
We can rewrite equation 13 as:
^ + o(kbk2)
F (X ) = F (X ) + F X (X )X x (16)
We have seen how to write the non-linear function F (X ) as a linear
expression of x
^
The model's linearized conditions:

c^t = ^ t (17)
h i
^ t = Et ^ t+1 + r^k (18)
t+1

k Y ^t
Rr^t+1 = y^t+1 k (19)
K
^t 1
y^t = z^t + k (20)

Y C ^t ^t 1
y^t = c^t + k (1 )k (21)
K K
And here we can use the steady state conditions derived above, and sum-
marize the dynamics as:

h i
Et [^
ct+1 c^t] = k
Et r^t+1 (22)

r^tk = yk z^t (1 ^t 1
)k (23)

yk (^ ^t 1) = (yk
zt + k )^ ^t
ct + k (1 ^t 1
)k (24)
1
!
1+
where yk =
The rational expectation solution
Solving linear di erence equations:
We can write the model in the general form

AEtyt+1 = B yt + C xt

where:

xt is the vector of exogenous shocks

yt is the vector of endogenous variables

A, B and C are general matrices of structural parameters


Methods to solve linear rational expectations systems:

Normally relies on numerical methods


{ Summary in McCallum, B. (1998)
{ Approaches of Klein (1997), King and Watson (1995), Sims

McCallum, B. (1983), Uhlig (1997) and Blinder and Peseran (1995)


use methods of undetermined coe cients (guess and verify)

Existence and the uniqueness of a solution - Blanchard and Kahn


(1980)
Analytical solution: the state space representation:
Solutions for all variables in terms of state variables
^t = ckk k
k ^t 1 + ckz z^t (25)
^t 1 + ccz z^t
c^t = cck k (26)
r^tk = crk k
^t 1 + crz z^t (27)

Example - method of undetermined coe cients:


Assume:

= 0 (no depreciation) and

= 1(log utility)
The system of equilibrium conditions becomes

h i
Et [^
ct+1 c^t] = k
Et r^t+1 (28)

r^tk = (1 )(^
zt (1 ^t 1)
)k (29)

(1 )(^ ^t 1) = (1
zt + k )^
ct + ^t
(k ^t 1)
k (30)

Or, given that Et [^


zt+1] = z^t, the system can be written as

Et [^
ct+1 c^t] = (1 ) z^t (1 ^t
)k (31)

(1 )(^ ^t 1) = (1
zt + k )^
ct + ^t
(k ^t 1)
k (32)
So, we can guess a formulation for ct as a function of the states, such as
^t 1
c^t = ccz z^t + cck k (33)

and nd the coe cients ccz and cck by plugging this expression into the
the above system.
From equation 32

^t = 1
k (1 ccz )^
zt +
cck (1 )^
kt 1 (34)

^t from 31
And eliminating k
1 cck c2ck (1 )^ ^t 1
ccz ( 1)^
zt + cck (1 ccz )^
zt + kt 1 cck k
!
1 cck (1 ) ^t 1
= (1 ) z^t (1 ) (1 ccz )^
zt (1 )k
^t 1
Equalizing the RHS and LHS coe cients in k

c2ck + [ (1 )(1 )] cck + (1 )=0

Pick the solution that guarantees ckk < 1: As shown Campbell (1994),
this is given by the positive root of the above equation.

After nding cck , we can then follow the same approach to nd ccz

As shown in Campbell (1994), this solution leads to a very weak prop-


agation mechanism of shocks (no persistence) (See discussion O&R).
Impulse response analysis
With the state space representation for c^t, we can use the other equations
to obtain a full state space representation for the model - of the form:

^t = ckk k
k ^t 1 + ckz z^t (35)
^t 1 + ccz z^t
c^t = cck k (36)
r^tk = crk k
^t 1 + crz z^t (37)

and given the evolution of the exogenous variable

z^t = z^t 1 + "t+i; "t i:i:d:N 0; 2 (38)


Can then express solutions to all variables in terms of ARMA representa-
tion:
1
z^t = "t AR(1) (39)
1 L
^t = ckz
k "t AR(2) (40)
(1 ckk L) (1 L)
ccz + (cck ckz ccz ckk ) L
c^t = "t ARMA(2,1) (41)
(1 ckk L) (1 L)
k crz + (crk ckz crz ckk ) L
r^t = "t ARMA(2,1) (42)
(1 ckk L) (1 L)

to see how each variable react to shock in each period


Details for the ARMA representation
^t
Eg k
^t = ckk k
k ^t 1 + ckz z^t
= (1 Lckk ) 1ckz z^t = (1 Lckk ) 1(1 Lckk ) 1ckz "t
why is this an AR(2)? Mechanically - it contains L2:
Illustration:
^t = ckk k
k ^t 1 + ckz z^t 1 + ckz "t
^t 1 = ckk k
k ^t 2 + ckz z^t
^t = ( + ckk )k
k ^t 1 ckk k ^t 2 + ckz "t - AR(2)
Numerical methods:
King and Watson algorithm - MATLAB REDS-SOLDS code
REDS-SOLDS is a package of Matlab codes written to solve rational ex-
pectations models numerically. It takes as input a model written in the
form:

AEtyt+1 = B yt + C xt

where:

xt is the vector of exogenous shocks

yt is the vector of endogenous variables


Moreover:

yt is ordered so that variables that are predetermined appear last in a


subvector kty

we denote N Y = dim(yt), N X = dim(xt), and N K = dim(kt)

in the program, we input A, B , C , N Y , N X , N K

y Eg: lagged variables are preditermined. Or if you de ne Kt represents the amount of


capital available for production in period t, then kt is also a predetermined variable.
The program REDS.M reduces the system, i.e., transforms it so that
it contains a non-singular subsystem that can be solved and turned
into a solution of the whole model.
This whole solution operation is performed by SOLDS.M, whose out-
put are the matrices D, F , G, and H in:

yt = Dkt + F xt
kt+1 = Gkt + H xt
So the solution delivers a state space representation of the model
Together, REDS.M and SOLDS.M are a simpli ed version of a package
of codes written by Robert King and Mark Watson, implementing the
algorithms described in their paper \System Reduction and Solution Al-
gorithms for Singular Linear Di erence Systems Under Rational Expecta-
tions" (mimeo, 1995).
We can use D, F , G, and H as inputs to compute impulse responses using
the m-function:

IRF (SHOCK; N IR; D; F; G; H )

the rst entry speci es the impulse (i.e., the component of xt to which
the system is responding)

N IR is the number of periods for impulse-response computation

The output of IRF:M is a N Y x N IR matrix in which each row


corresponds to the path of the corresponding component of yt along
the N IR periods.

Userguide and les can be found in Woodford's webpagez


z http://www.columbia.edu/~mw2230/Tools/

Ulhlig also has a toolkit for solving RE models in his web: http://www2.wiwi.hu-
berlin.de/institute/wpol/html/toolkit.htm
Example:
Summary of model in log linear terms

h i
Et [^
ct+1 c^t] = k
Et r^t+1 (43)

r^tk = yk z^t (1 ^t 1
)k (44)

yk (^ ^t 1) = (yk
zt + k )^ ^t
ct + k (1 ^t 1
)k (45)
1
!
1+
where yk =
MATLAB le (instructions and example):

% Specify parameter values:

alpha = 0.3;
sigma = 1.0;
rho = 0.95;
beta = 1/1.01;
delta = 0.025;

% Constructed parameters

y k=((1/beta)-1+delta)/alpha;
% Specify model - matrices A, B and C

% Dimensions

NY=6;
NK=2;
NX=1;

A = zeros(NY,NY);
B = zeros(NY,NY);
C = zeros(NY,NX);

% Can enter matrix directly in the code, or organize them by indexing


the variables
% index variables - with pre-determined variables last

% 1st) index endogenous variables:

ic=1;
ir=2;
ik=3;
iz=4;

% 2nd) index pre-determined variables:

iklag=5;
izlag=6;

% 3rd) index exogenous variables (shocks):

eps=1;
% Model Equations

% Euler Equation

A(1,ic)=1;
B(1,ic)=1;
A(1,ir)=-sigma^-1;

% Marginal product of capital

B(2,ir)=-1;
B(2,iz)=alpha*beta*y k;
B(2,ik)=-alpha*beta*y k*(1-alpha);
% Capital accumulation equation

B(3,ik)=-1;
B(3,iz)=y k;
B(3,iklag)=y k*alpha+(1-delta);
B(3,ic)=-y k+delta;

% Identity for productivity process

B(4,iz)=-1;
C(4,eps)=1;
B(4,izlag)=rho;
% Lag identity for k

A(5,iklag)=1;
B(5,ik)=1;

% Lag identity for z

A(6,izlag)=1;
B(6,iz)=1;
% Load solution program

% program for REDUCTION OF DYNAMIC SYSTEMS

reds;

% (the program checks for solvability- that is, checks if jAz-Bj is identi-
cally null)

% program for SOLUTION OF DYNAMIC SYSTEMS

solds;

% (the program obtain the nal expressions for C, D, E and F)


% Plot impulse responses under both policy rules

NIR=80;
lead = 0:(NIR-1);
IMP = irf (eps, NIR, D, F, G, H);
gure ('Name', 'Responses to productivity shock')
subplot (311), plot (lead, IMP (ic, :)), title ('Consumption')
subplot (312), plot (lead, IMP (ir, :)), title ('Interest Rate')
subplot (313), plot (lead, IMP (ik, :)), title ('Capital')
Capital: Productivity shock => higher marginal product of capital =>
capital cannot jump (predetermined variable - see capital accumulation
equation) => capital slowly goes up and then down
Return on capital: higher marginal product of capital implies higher return
on capital => but as capital increases interest, marginal product of capital
and its rental return falls => hump in the response of capital implies return
on capital undershooting => Similarly for interest rates
Consumption: higher productivity and output leads to an increase in con-
sumption => and as long as interest rates are falling, and so is the marginal
cost of consuming today relative to tomorrow, consumption is increasing
=> only when interest rates start increasing, consumption starts coming
back to steady state => hump in the response of capital implies an interest
rate undershooting, which in turn implies a hump in consumption
Perturbation methods

Userguide and les can be found in Dynare's webpage:

http://www.cepremap.cnrs.fr/dynare/

Can write the model in non-linear form

Program derives a rst (or second) order approximation of the model

For details on Perturbation methods, see:

Kenneth Judd. 1996. \Approximation, Perturbation, and Projec-


tion Methods in Economic Analysis". 511-585. Hans Amman, David
Kendrick, and John Rust. Handbook of Computational Economics.
1996. North Holland Press.
Simulating using Dynare
The following code solves the above model in Dynare.

// Variable declaration

// endogenous variables listed by `var', exogenous variables listed by


`varexo' commands

var C, K, Z, R, Y, K Y, I Y, C Y, I, MU;
varexo e;
// Parameter declaration and calibration

// List parameters

parameters beta, sigma, rho, delta, alpha, Zbar;

// Calibration of Parameters (in quarterly units)

alpha = 0.3;
sigma = 1.0;
rho = 0.95;
beta = 1/1.01;
delta = 0.025;
Zbar = 1;
// Model declaration

model;
K = Z*K(-1)^alpha - C + (1-delta)*K(-1);
C^(-sigma) = (beta*C(+1)^(-sigma))*(1 + alpha*Z(+1)*K^(alpha-1) -
delta);
Z = Zbar^(1-rho)*Z(-1)^rho*exp(e);
R = 1 + alpha*Z*K(-1)^(alpha-1) - delta;
Y = Z*K(-1)^alpha;
MU = C^(-sigma);
I =K-(1-delta)*K(-1);
K Y = K/Y;
C Y = C/Y;
I Y = I/Y;
end;

// Steady-state values

initval;
Z = 1;
K = ((1/beta - (1-delta))/(Z*alpha))^(1/alpha-1);
C = Z*K^alpha - delta*K;
R = 1/beta;
MU = C^(sigma);
Y = Z*K^alpha;
I = delta*K;
K Y = K/Y;
C Y = C/Y;
I Y = I/Y;
e = 0;
end;
steady;

// Shock declaration

shocks;
var e = 0.01^2;
end;
stoch simul(order=1, irf=80);
1.2 K 0.6
Z C
0.8
1 0.5
0.7
0.8 0.6 0.4

0.5
0.6 0.3
0.4
0.4 0.3 0.2

0.2
0.2 0.1
0.1
0 0 0
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75

1.2 0.04 MU 0.1


Y R
0.035
1 0
0.03
0.025 -0.1
0.8
0.02
-0.2
0.015
0.6
0.01 -0.3
0.4 0.005
-0.4
0
0.2 -0.005 -0.5
-0.01
0 -0.015 -0.6
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76
Varying the elasticity of intertemporal substitution
Calibration:
= 0:3; = 0:025

But now we vary to see what happens to the responses.


1 = [0:05; 0:5; 1:0; 1:5]
1.5 1.0 0.5
1.2 K 0.6
Z 0.05 logU
C
1.2 1.5
0.5
1.0
0.05
1 logU
0.5
1
0.8 0.4
0.8
0.6 0.3
0.6

0.4 0.2
0.4

0.2 0.2 0.1

0 0 0
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75

1 0.04 MU 0.5
Y R
0.9 0
1.5 1.0
0.03
0.5 0.05 0.8 1.5 1.0
-0.5
logU 0.5 0.05
0.7 logU 0.02
-1
0.6
0.01 -1.5
0.5
0 -2
0.4
-2.5
0.3 -0.01
0.2 -3
1.5 1.0
-0.02
0.1 0.5 0.05 -3.5
Log_U
0 -0.03 -4
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75
Possible homework:
- Replicate the linearization and the method of undetermined coe cients
- Arrive at the ARMA representation and illustrate the autoregressive
process
1
"t+iCt+i
- Simulate the model with preference shocks - ie utility 1

You might also like