You are on page 1of 9

r----

Lecture Note: Business Cycles Model


Vimut Vanitcharearnthum
University of the Thai Chamber of Commerce

March 5, 2009

1 A Prototype Model
A representative agent maximizes
00

Eo L (3t u (Ct, 1 - nt) . (1)


t=O

where u(Ct, 1 - nt) = a In(ct) + (1 - a) In(1 - nt) . The budget constraint is


Ct + kt + 1 = eZtkfni- O + (1 - 6)k t . (2)
The technology shock is assumed to follow the AR(I) process. That is,

Zt+l = pZt + Et+l . (3)


The first-order conditions are
1
a- (4)
Ct
1
(l-a)--. At (1 - B) eZt ktOn t-0 , (5)
f 1- nt
At (6)

1.1 Steady State

(7)
I-a
(8)
I-n
1
(9)
{3

c
------

Note that r = Okf}-ln1-f} or r = Of. Therefore, we can recover the values


of y, k and c, once the value of n is determined. That is, we are able to
determine the capital-labor ratio, and the capital-to-output ratio from our
knowledge about r.

VIa. nttcl to vvVl('J1..J ~ vti("lt "V\" Rrsr


k
= (~) .~, ~}
n
3 () Vl k,Mtt"" Y\ ~ V1, OJ k
y r
k
= 0'
c y - f5k . -=- k\, f) n1-0_ ~ v-­

1.2 Parameter Values


Set the underlying parameters, as well as the long-run hours worked, as in
the table below.

Parameters Values
(3 0.98
0 0.4
a 0.33
f5 0.025
n 0.28

Table 1: Parameter Values

We use Matlab to help us compute the steady state values of r, k, y and


c. The following is the Matlab code for computation.
beta = 0.98;
theta = 0.4;
alpha = 0.33; . Vl -= O:l ~ .

delta = 0.025;~ J

~
r = I/beta - (I-delta);

yk = r/theta;

9t eo.(;lL{ ,kn = yk(I/(theta-I)); - y k

q~tt~t \JetlvJ- ( k = kn*n;

y = yk*k;

c = y - delta*k;

The result of our computation is shown in the table below

(fT'
k
~ ykA ( 1/ce-f)) 2

Al\j ­ AAA··· A
\...------y-:--'
j .-thvtt.
Variables Steady State Values
r 0.0454
k 10.52
y 1.19
c 0.93

Table 2: Computed Steady State Values

1.3 Log-linearized
CfNl~o\ '-I.

--~-"~ wl(Q..,- ~~tv

t3
A

= At, IS ( (10)
n A A

--1-nt At + ekt - ent + Zt , (11)


-n
'\t+l+ /3A(e - 1)rkt+1 + /3(1 - e)rn:+1 + /3 rZt+l ,(12) (
~! + ~~~t ,+ (1 - e)1/&)+ (~_~ 8)kkt . \ (13) f
L.- ~J.PJ s-t"'eo~ ~-tt- v. r--' e}Co~lI'eovtJ
~\--til\"L
2 Constructing A State-space System
(11) can be rewritten as

( e - 1-n nt_n_) = ,\t + ekt + Zt , (14)


~k~(lt",>r
or, tot
~~ A A

o{~G\l(t, nt = <PI [At + ekt + Zt] . (15)


\
where <PI = e- l~n ( )-1
. Also, <Po = <PI . e.

Using (15) to eliminate nt from the remaining (log-linearized) equations.


(12) and (13) become

,\t '\t+l + /3(1 - e)r(<po - 1)kt+1 +

[/3(1 - e)r<Pl + l],\t+l + (/3r(l - e)12L±l)Zt+l ,

kkt+l YZt +t:C~~t + ()~+ (1 - ())Y~t + ()S~+ (1_=c5~.

The system of equations in state-space form-is-- _/

(16)

3
Y[e + ( 1- e) cP01 + (1 - $) h.
C~1 + (1- e» Y4>1
--

where

r k /'\:I 0 f< n __1 ;C]


Ao = t,6(l- 1I)~[4>o -lj)2+ {3r(~ -= 1I)4>J ~{3~(1~~~l2

1
y[O + (1 - .8)¢0] + (1 - 6)k C- + (1 - 8)Y¢1 y(1 + (1 - 8)¢1 ]
Al = 0 1 0
[ o . 0 p

The above system can also be rewritten as

+ B· Et+l , (17)

where A = Ail l A l and B = Ail l [ ~ ] . Using these numerical values, we

are able to construct the matrices A and B below

[
~::~ ]. = [ !O~;4 (~.;} --1l!Li ] .[ ~: ] + [ -O~ 77 ] Et+l' (18)
Zt+l 0 0 0.8 Zt 1
A B
To decouple the dynamics of this system, we need to find the eigenvalues
and the eigenvectors of the matrix A. Matlab can help us find them easily.
Just use the command "eig". For example, simply type

~
[V,D] = eig(A)
will give us the matrix of eigenvectors (V), and the diagopal matrix of
. 1 D AI"n~ht9. UIM'I
elgenva ues, . ~ ~ (~-\'tb ~ {OjVlloll\.tAHV
V
f-
In our model, the diagonal matrix iS~iS tv h~ Z:~:J ~ \i(\.tvv
,

\'- (Iv... 0 A.
\
,
/J-tJ.. ,}
v
J.I'.t-'
~~. ~~
toll/"
'--- 't _ [1.978 0 0] b(vJ Kt s.
D - 0 0.399 0 .
o 0 0.8

Notice that the eigenvalue in the first row has a value outside a unit
circle. This is the unstable root that we can use to eliminate >. from our
dynamical system. That is, we are able to write>' as a linear combination
of it, and z, the endogenous and exogenous state variables of our model.

It-.q =- PZt + ~f,-t,


4
~'t+ \ "::; 1.l.f~ kt- + to, 'l-') At-
v.J == /yw(v)
The above state-space ystem can be rewritten as - W(1 1 1)/W(1/2-)

[
kt+
A I ]
t+ I = DV-
I [ kt]
At + °]
[ -0.77 Et+I, (19)
~+I ~ 1
or,

co- 5-11tk
d
V-I
~~t+I ,.j~N\
11
J~] =
,,,,,e",•• , •• , , . , • • •
ZR[ t ] Zt
+[ -o~ 1
77 ] Et+I , (20)

0et rid of ).++1 Th~ ~Fst-equa'b~W~i~tgis system is

/~(Ji) VI,lkt+l + VI,2.xt+1 + VI,azt+l)= 1.98(VI,lkt + VI,2.x t + VI,aZt) ,


I -

where v(l,j) is the first row of matrix V-I.


Since this is the equation associating with the unstable root (1.98 > 1),
the linear combination in the parenthesis has to be zero. Therefore, we are
able to write vtt",'() A I~ rT\

~
_.{ kt-,--t-, -::. S ,4? Kt' -1: 0.'Z)\(-.!J
A VI A VI3 .
At = ' ~t - - ' Zt . -+- " • l- I.{ C tr'
VI 2 VI 2
~. L~~~,i)'
Use this relationship in ~~a~--to6Pt-aiR_
..",.,
""-
kt +I = 0.399kt + 0.239zt . ""-"",
' ....

Finally, the law of motion ofthestate variables in this model is


""----------
[
kt+I ] =
Zt+I
/'["/0'399. ,,,,0,.23;/1 [ kt ]
°,0;8 J Zt
+[ °]
1
Et+I (21)
v..
DD
3 Impulse Response Function /
Suppose we are interested in the dynamic impact of a one-time increase in
the innovation to technological change, Et.
//
The impact of Et on k t+I and Zt+ I is

lCl.\~ (l
L
r
ltft,u of (\I\o-tllm uf~ [
r.- ~
M/) tiOVl Or 1;
kt +I
Zt+I
] = [0.399
°' 0.239] [
0.8 1
°] [
0.239 ]
0.8
/
/
1\
-:;:! -Ct-
5
~
A

Ct-
IJ
v
A

V1t :::.
The impact of Et on kt + 2 and Zt+2 is

kt +2 ] = [0.399 0.239] [0.399 0.239"] [ 0 ]


, "
[ Zt+2 0 0.8 0 0.8 1
I

= [OO~6344] .
The impact of Et on k t + i and Zt+i is

kt +i "] = [0.399 0.239] i [ 0 ]


[ Zt+i 0 0.8 1

Here is the Matlab code for computing the impulse response function,
M = zeros(2,200);
For i = 1:200

;1:':,; 1
A\i*[O;1 ; '(\ ('1-\/ ~ 'C
0
./
V
)
~x I ~-¥
,~() ~ 9" l""-'\ J ~
pr .) -::; l\> . ~o·/\} ')
t!' Co') v \) 0'" v "~
rN (.0 ~
v' l(V]

-1
V Vt-t-r
L--v-_...j
\I i\€ 0. 'J et" V\ ~nVl~ fj (IV\

6
NO
1 ..
000 Mauro! Date § .I ? .I t?1.. .

hMere.. Xok =-
~ I'
lA\,
1 0 --- -fA1 0 0
.-,

I'
A4; \ 0 }A2. ()
li j 0 ~
.}A 1. ~

() ,4

-z..,.....
- 0 x
1--
oc D X

A
AC1 7 1'") Kt + AC1 7 2-) .. 'ri(1,3) l~. ..... ,4(13)2

1\'(1 ~) - A(17-)
M‐File (MATLAB) 

% This is an M‐file for my first RBC Model. 

% Setting parameter values. 

beta = 0.98; 

theta = 0.4; 

alpha = 0.33; 

delta = 0.025; 

n = 0.28; 

rho = 0.8; 

phi1 = 1/(theta‐(n/(1‐n))); 

phi0 = phi1*theta; 

% Steady state value 

r = 1/beta ‐ (1‐delta); 

yk = r/theta; 

kn = yk^(1/(theta‐1)); 

k = kn*n; 

y = yk*k; 

c = y‐delta*k; 

% Construct Matrices 

a4 = beta*(1‐theta)*r*(phi0‐1); 

a5 = 2+beta*r*(1‐theta)*phi1; 

a6 = beta*r*(1‐theta)*phi1 + 1; 

A0 = [k 0 0; a4 a5 a6; 0 0 1]; 

a1 = y*(theta+(1‐theta)*phi0) + (1‐delta)*k; 

a2 = (1/c)+(1‐theta)*y*phi1; 

a3 = y*(1+(1‐theta)*phi1); 

A1 = [a1 a2 a3; 0 1 0; 0 0 rho]; 
 

% Calculating Matrix 

A = inv(A0)*A1; 

B = inv(A0)*[0;0;1]; 

[V,D] = eig(A); 

W = inv(V); 

%The 1st eigenvalues is outside the unit circle. Therefore, we impose that 

%the transformed variable in the 1st row of matrix V*X equals zero 

DD = [A(1,1)‐(A(1,2)*(W(1,1)/W(1,2))) A(1,3)‐(A(1,2)*(W(1,3)/W(1,2)));0 rho]; 

%Computing Impulse Response Function 

%one time increase in technology shock 

M=zeros(2,200); 

for i = 1:200 

  M(:,i) = DD^i*[0;1]; 

end; 

Y = M'; 

plot(Y) 

%Impulse Response Function for Consumption, Income and Labor 

c_hat = zeros(200,1); 

y_hat = zeros(200,1); 

n_hat = zeros(200,1); 

for i = 1:200 

  c_hat(i) = [W(1,1)/W(1,2) W(1,3)/W(1,2)]*M(:,i); 

  n_hat(i) = [phi1*(theta‐(W(1,1)/W(1,2))) phi1*(1‐(W(1,3)/W(1,2)))]*M(:,i); 

    y_hat(i) = (r/theta)*M(1,i)+M(2,i); 

end; 

You might also like