CS1 Consumption/saving model with borrowing constraint
This is an implementation of the model in Deaton (1991).
Contents
Model's structure
Response variable Consumption (
).
State variable Cash on hand (
).
Shock Labor income (
).
Parameters Interest rate (
), Rate of time preference (
), and Elasticity of intertemporal substitution (
).
Equilibrium equation

Transition equation

Writing the model
The model is defined in a Yaml file: cs1.yaml.
Create the model object
Mean and standard deviation of the shocks
Mu = 100; sigma = 10;
You generate the MATLAB model file and pack the model object with the following command
model = recsmodel('cs1.yaml',... struct('Mu',Mu,'Sigma',sigma^2,'order',5));
Deterministic steady state (equal to first guess)
State variables:
X
___
100
Response variables:
C
___
100
Expectations variables:
E
______
0.0001
This command creates a MATLAB file, cs1model.m, containing the definition the model and all its Jacobians from the human readable file cs1.yaml.
Define approximation space
[interp,s] = recsinterpinit(20,model.sss/2,model.sss*2);
First-guess: Consumption equal to cash on hand
x = s;
To force the solver to compute the approximation of the expectations function, it is necessary to add at least an empty value for interp.ch
interp.ch = [];
Solve for rational expectations
[interp,x] = recsSolveREE(interp,model,s,x);
Successive approximation
Major Minor Lipschitz Residual
0 0 1.08E+02 (Input point)
1 1 0.6916 3.35E+01
2 1 0.5517 1.50E+01
3 1 0.4800 7.82E+00
4 1 0.4413 4.37E+00
5 1 0.4210 2.53E+00
6 1 0.4128 1.49E+00
7 1 0.4128 8.74E-01
8 1 0.4145 5.12E-01
9 1 0.4179 2.98E-01
10 1 0.4232 1.72E-01
11 1 1.0000 0.00E+00
Solution found - Residual lower than absolute tolerance
Plot the decision rule
figure plot(s,[x s]) legend('Policy rule','45 degree line') legend('Location','NorthWest') legend('boxoff') xlabel('Cash on hand') ylabel('Consumption')
Simulate the model
[~,~,~,stat] = recsSimul(model,interp,model.sss(ones(1000,1),:),200); subplot(1,2,1) xlabel('Cash on hand') ylabel('Frequency') subplot(1,2,2) xlabel('Consumption') ylabel('Frequency')
Statistics from simulated variables (excluding the first 20 observations):
Moments
Mean StdDev Skewness Kurtosis Min Max pLB pUB
______ ______ ________ ________ ______ ______ ___ ______
X 106.46 11.993 0.21404 3.1685 60.906 170.81 NaN NaN
C 100.3 6.3358 -1.2064 4.8722 60.904 117.21 0 12.001
Correlation
X C
_______ _______
X 1 0.94694
C 0.94694 1
Autocorrelation
T1 T2 T3 T4 T5
_______ _______ _______ ________ ________
X 0.50523 0.26951 0.14663 0.073857 0.035042
C 0.38738 0.19105 0.10297 0.049875 0.022239
References
Deaton, A. (1991). Saving and liquidity constraints. Econometrica, 59(5), 1221-1248.