Errata for Miranda and Fackler
Applied Computational Economics and Finance
Last Updated: Saturday, January 26, 2008
As of
Chapter 2
p. 13 (
Replace
Backward
and forward substitution yield the theoretical results x1=1-M-1
and x2= M-1+1+M-1(1-M-1).
with
Backward
and forward substitution here yield the results x2=(1+2M-1)/(1+M-1) and x1=2-x2.
Chapter 4
p. 60 (12/18/06)
Second paragraph of Section 4.1 change f(x1)<f(x2)
to f(x2)<f(x1)
Chapter 5
pp. 93 (1/26/08)
Replace
pj represents the jth prime number
with
pj represents the square root
of the jth prime number
p. 110 (9/23/05)
The value of f should be 0.025 not 0.06 to generate Figure 5.4.
Chapter 6
p. 133 (12/18/06)
In the matrix on the top of the
page, the (6,5)th element should be 2 instead of 1
p. 137-8 (2/17/05)
In order to form spline approximants over the interval
{(x1,x2)| -1 < x1
< 2, 4 < x2 < 9}
the code segment on the bottom of page 137 should read
fspace
= fundefn('spli',[10 15],[-1 4],[2 9])
and the offset code segment on the top of page 138 should read
fspace
= fundefn('spli',[10 15],[-1 4],[2 9], 1)
p. 144 (2/17/05)
Script should plot residual function, but plots effective supply
instead. To correct, replace
splot
= funeval(c,fspace,pplot);
plot(splot,pplot);
with
rplot
= resid(c,pplot,fspace,alpha,eta);
plot(pplot,rplot)
p. 151
Exercise 6.5 makes more sense if rho
is 0.06 rather than 0.6 (an agent with a rate of time preference of 0.6 will
borrow heavily in youth and have to work like a dog for the rest of his life to
pay off his debts).
Chapter 7
p. 159
(1,0) and (a+1,s+1)
are reversed in definition of g(a,s,x). Similarly p(0,0)-c and p(a,s+1)-k
are reversed in definition of f(a,s,x).
p. 184 (6/17/04)
The second line should read
S=(0:emax)’;
One should also add the line
m=length(e);
p.
197 (2/17/05)
In the first three instances of V(:,:) the second
argument should be 0 not 1. In the fourth instance it should be 1 not 0.
Chapter 8
p. 196 (12/18/08)
First two equations change
p. 209 (
Second equation, change subscript on f from i
to p.
Chapter 9
p. 241 (
The first line of text should end
with “the model parameters price, kbar, gamma
and abar.”
The second line of the first full
paragraph should read:
“Here, the output price, long-run mean replacement cost, replacement cost mean
reversion rate, maximum asset age, replacement cost shock standard
deviation, and discount factor are specified, respectively:”
p. 244 (
In paragraph 2 the profit shock is incorrectly called a replacement cost
shock.
p. 247
Change definition of shock distribution to
[e,w] = qnwlogn(nshocks,-sigma^2/2,sigma^2);
p. 248 (11/21/2005)
Change computation of the LQ approximation to
estar = 1;
pstar = (sstar-xstar).^(-alpha);
[vlq,xlq] =
lqapprox(model,snodes,sstar,xstar,pstar);
In the second full
paragraph, the words upward and downward are reversed.
p. 251
Change computation of the LQ approximation to
pstar = kappa - xstar^(-gamma);
[vlq,xlq] =
lqapprox(model,snodes,sstar,xstar,pstar);
p. 257
Change definition of shock distribution to
[e,w] = qnwlogn(nshocks,-sigma^2/2,sigma^2);
p. 258
Change computation of the LQ approximation to
estar = 1;
pstar = a(1);
[vlq,xlq] =
lqapprox(model,snodes,sstar,xstar,pstar);
p. 261-262 (12/18/06)
We’ve listed seven things to do and enumerated them 1, 2, 3, 4, 4, 5 and 6
(nobody’s perfect).
p. 262
Change computation of the LQ approximation to
pstar
= [0 0];
[vlq,xlq,plq,ss,xx,pp] =
lqapprox(model,snodes,sstar,xstar,pstar);
p. 265
Change definition of shock distribution to
[e,w] = qnwlogn(nshocks,-sigma^2/2,sigma^2);
p. 265 (10/25/05)
Change definition of upper bound for S to
smax = [e(nshocks)
xstar+3.0];
p. 266
Change computation of the LQ approximation to
estar = 1;
pstar = [xstar^(1-beta) alpha*(xstar-1)];
[vlq,xlq] =
lqapprox(model,snodes,sstar,xstar,pstar);
p. 269
Change computation of the LQ approximation to
pstar
= [pbar xstar(1)/(1-delta*rho)];
[vlq,xlq,plq,ss,xx,pp] =
lqapprox(model,snodes,sstar,xstar,pstar);
p.272 (7/27/05)
Change
model.T=T;
to
model.horizon=T;
p. 281
In case ‘f1’ after line fxx=zeros(n,m,m) insert
fxx(:,1,1) = zeros(n,1)-gamma(2);
In case ‘f2’ after line fxx=zeros(n,m,m) insert
fxx(:,2,2) = zeros(n,1)-gamma(2);
p. 284
Change last 4 lines with the following 6 lines
gx(:,1,:)
= [(1-psi)*g1x psi*g2x];
gxx(:,1,1,1) = (1-psi)*g1xx;
gxx(:,1,2,2) = psi*g2xx;
g(:,2) = (1-psi)*g2 + psi*g1;
gx(:,2,:) = [psi*g1x (1-psi)*g2x];
gxx(:,2,1,1) = psi*g1xx;
p. 288
In case ‘f1’ replace fx and fxx lines with
fx
= [px.*q1-p-kappa px.*q1];
fxx = zeros(n,m,m);
fxx(:,1,1) = pxx.*q1 - 2*px;
fxx(:,1,2) = pxx.*q1 - px;
fxx(:,2,1) = pxx.*q1 - px;
fxx(:,2,2) = pxx.*q1;
In case ‘f2’ replace fx and fxx lines with
fx
= [px.*q2 px.*q2-p-kappa];
fxx = zeros(n,m,m);
fxx(:,1,1) = pxx.*q2;
fxx(:,1,2) = pxx.*q2-px;
fxx(:,2,1) = pxx.*q2-px;
fxx(:,2,2) = pxx.*q2-2*px;
Chapter 10
p. 322 (
Last line change V(S) to V(S,t).
p. 346 (12/18.06)
Fouth line from bottom change “change” to “charge”
p. 356
Fifth line of Section 10.5.3 change R+(S0,S0) to R+(S0,S1)
Chapter 11
p. 379
The syntax of finsolve changed to eliminate A and a outputs
Also first line of the last code fragment should be:
out = func(flag,s,additional parameters)
(no t in argument list)
p. 381
Add following line at the top of the first code fragment:
a
= b;
Alternatively change last line on p. 380 to:
if hasdiv, a = Phii*delta; end
p. 429 (10/6/2005)
In equation in last full paragraph change +˝σ2 to -˝σ2
Appendix A
p. 459
On line 9 change y to x. Also in the definition of a norm ||x||=0 if and only if x=0.
p. 464 (1/1/05)
The definition of the inf norm is incorrect. It
should be maxi ∑j|Aij|
p. 471 (1/24/06)
The two equations at the bottom of the page both should have a 2 following the
integral signs.
Appendix B
p. 477
Last paragraph change 2x1 to 1x2
p. 482 (4/3/05;1/24/06)
9
lines from bottom change x to X
3 lines from botton change “<” to “>”
This code fragment is, in fact, rather stupid. A more interesting fragment (and
probably what was intended) is:
P=.25;
X=0;
DX=5;
while DX>1E-7;
DX=DX/2;
if cdfn(X)>P, X=X-DX; else X=X+DX; end
disp(X)
end
This computes the 25th pecentile of a standard
normal distribution (cdfn is available in the CompEcon Toolbox).