Brumm et al (2015): A GDSGE model with asset price bubble
Brumm, Grill, Kubler, and Schmedders (2015) study a GDSGE model with multiple assets with different degrees of collaterability. They find that a long-lived asset that never pays dividend but can be used as collateral to borrow can have strictly positive price in equilibrium. From the traditional asset-pricing point of view, this positive price is a bubble because the present discounted value of dividend from the asset is exactly zero.
The model is similar to the ones in Heaton and Lucas (1996) and Cao (2018). It features two representative agents \(h\in\{1,2\}\) who have Epstein-Zin utility with the same intertemporal elasticity of substitution and different coefficients of risk-aversion:
The agents can trade in shares of two long-lived assets (Lucas’ trees), \(i\in\{1,2\}\) and a risk-free bond.
In period \(t\) (we suppress the explicit dependence on shock history \(z^t\) to simplify the notation), asset \(i\) pays dividend \(d_{i,t}\) worth a fraction \(\sigma_i\) of aggregate output and traded at price \(q_{i,t}\). The agents cannot short sell the long-lived asset but they can short sell the risk-free bond, i.e., borrow. In order to borrow in the risk-free bond, the agents must use the assets as collateral. The agents can pledge a fraction \(\delta_i\) of the value of their asset \(i\) holding as collateral. In particular, the collateral constraint takes the form:
where \(\phi^h,\theta^h_1,\theta^h_2\) denote the bond holding, and asset \(1\) and asset \(2\) holdings of agents \(h\).
This model can be written and solved using our toolbox. This is done by Hewei Shen from the University of Oklahoma, who generously contributed the GDSGE code below. Hewei’s own research demonstrates the importance of GDSGE models in studying macro-prudential and fiscal policies in emerging market economies, such as his recent publication and his ongoing work with Siming Liu from Shanghai University of Finance and Economics.
Notice that in the GDSGE code, asset \(1\) never pays dividend, i.e., \(\sigma_1 = 0\). Therefore, in finite-horizon economies, by backward induction, its price is always equal to \(0\). In order for the sequence of finite-horizon equilibria to converge to an infinite-horizon equilibrium in which asset \(1\) has positive price, we need to assume that agents derive utility from holding the asset in the very last period in each T-period economy:
This assumption is a purely numerical device and becomes immaterial when \(T\rightarrow\infty\). To solve the last period problem, we use a model_init block that has a different system of equations than that of the main model block (see Cao and Nie (2017) for another example using a different model_init).
The gmod File
1%Options
2SolMaxIter=20000;
3PrintFreq=200;
4SaveFreq =200;
5USE_SPLINE=1;
6INTERP_ORDER=2;
7
8
9% Parameters
10parameters beta alpha1 alpha2 rho1 rho2 e1 e2 sigma1 sigma2 d1 d2 delta1 delta2 zeta
11zeta = 10; %utility from holding asset 1
12% which only applies in the very last period of finite horizon economies
13beta=0.977; %subjective discount factors
14alpha1=0.5; % RA of agent 1 = 0.5
15alpha2=-6; % RA of agent 2 = 7
16rho1=0.5; % IES=2
17rho2=0.5; % IES=2
18e1=0.085; % agent 1 income share
19e2=0.765; % agent 2 income share
20sigma1=0.0; % Tree 1 dividend share, here =0. Tree 1 has no intrinsic value
21sigma2=0.15; % Tree 2 dividend share
22d1=sigma1; % Tree 1 dividend
23d2=sigma2; % Tree 2 dividend
24delta1=1; % Tree 1 collateralizability
25delta2=0; % Tree 2 collateralizability
26
27
28% Shock variables
29var_shock g; %aggregate endowment growth rate
30
31% Shocks and transition matrix
32shock_num = 4;
33g = [0.72, 0.967, 1.027, 1.087 ];
34shock_trans = [
35 0.022, 0.054, 0.870, 0.054
36 0.022, 0.054, 0.870, 0.054
37 0.022, 0.054, 0.870, 0.054
38 0.022, 0.054, 0.870, 0.054
39 ];
40
41
42% State variables
43var_state w1; % wealth share
44w1 = linspace(0,1,240);
45
46% Variable for the last period
47var_policy_init c1 c2 q1 theta11;
48
49inbound_init theta11 0 1; %agent 1: tree 1 holding, constrained by no-short selling condition
50inbound_init q1 0 100;
51inbound_init c1 1e-10 1;
52inbound_init c2 1e-10 1;
53
54var_aux_init v1 v2;
55
56model_init;
57 budget_1 = c1 + theta11*q1 - e1 - w1*(q1+ d1 +d2);
58 FOC1 = c1^(rho1-1)-q1*zeta*theta11^(rho1-1);
59 FOC2 = c2^(rho2-1)-q1*zeta*(1-theta11)^(rho2-1);
60 v1 =(c1^(rho1)+ zeta*theta11^(rho1))^(1/(rho1));
61 v2 =(c2^(rho2)+ zeta*(1-theta11)^(rho2))^(1/(rho2));
62 equations;
63 budget_1;
64 c1+c2-1;
65 FOC1;
66 FOC2;
67 end;
68end;
69
70% Endogenous variables and bounds
71var_policy c1 c2 theta11 theta21 nphi1 nphi2 mu_theta11 mu_theta21 mu_theta12 mu_theta22 muphi1 muphi2 q1 q2 p w1n[4];
72inbound c1 1e-10 1;
73inbound c2 1e-10 1;
74inbound theta11 0 1; %agent 1: tree 1 holding, constrained by no-short selling condition
75inbound theta21 0 1; %agent 1: tree 2 holding, constrained by no-short selling condition
76inbound nphi1 0 100;
77inbound nphi2 0 100;
78inbound mu_theta11 0 100; %multipliers on no-short selling constraint on trees
79inbound mu_theta21 0 100;
80inbound mu_theta12 0 100;
81inbound mu_theta22 0 100;
82inbound muphi1 0 100; %multipliers on the bond position
83inbound muphi2 0 100;
84inbound q1 0 100;
85inbound q2 0 100;
86inbound p 0 100;
87inbound w1n -0.05 1.05 adaptive(2);
88
89% Extra output variables
90var_aux phi1 phi2 theta12 theta22 v1 v2 collat_premium;
91
92% Interpolation objects
93var_interp c1p c2p v1p v2p q1p q2p pp;
94
95% Initialize using model_init
96initial c1p c1;
97initial c2p c2;
98initial v1p v1;
99initial v2p v2;
100initial q1p q1;
101initial q2p 0;
102initial pp 0.0;
103
104% Time iterations update
105c1p = c1;
106c2p = c2;
107v1p = v1;
108v2p = v2;
109q1p = q1;
110q2p = q2;
111pp = p;
112
113% Variables to be used in simulation if SIMU_RESOLVE=1
114var_output c1 c2 v1 v2 theta11 theta21 theta12 theta22 phi1 phi2 q1 q2 p collat_premium w1n;
115
116model;
117 % Interpolation
118 [c1p',c2p', v1p', v2p', q1p', q2p', pp'] = GDSGE_INTERP_VEC'(w1n');
119
120 % Expectations
121 ev1 = GDSGE_EXPECT{ (g'*v1p')^(alpha1)};
122 ev2 = GDSGE_EXPECT{ (g'*v2p')^(alpha2)};
123 expuc1 = GDSGE_EXPECT{ (g'^alpha1)*(v1p'^(alpha1-rho1))*((c1p'/c1)^(rho1-1))/g'};
124 expuc2 = GDSGE_EXPECT{ (g'^alpha2)*(v2p'^(alpha2-rho2))*((c2p'/c2)^(rho2-1))/g'};
125 expucq1h= GDSGE_EXPECT{ (g'^alpha1)*(v1p'^(alpha1-rho1))*((c1p'/c1)^(rho1-1))*(q1p' + d1)};
126 expucq1f= GDSGE_EXPECT{ (g'^alpha2)*(v2p'^(alpha2-rho2))*((c2p'/c2)^(rho2-1))*(q1p' + d1)};
127 expucq2h= GDSGE_EXPECT{ (g'^alpha1)*(v1p'^(alpha1-rho1))*((c1p'/c1)^(rho1-1))*(q2p' + d2)};
128 expucq2f= GDSGE_EXPECT{ (g'^alpha2)*(v2p'^(alpha2-rho2))*((c2p'/c2)^(rho2-1))*(q2p' + d2)};
129 q1p_min = GDSGE_MIN{q1p'};
130 q2p_min = GDSGE_MIN{q2p'};
131 g_min = GDSGE_MIN{g'};
132
133 % bond transformation
134 theta12=1-theta11; %calculate the tree holding for agent 2
135 theta22=1-theta21;
136 collat1= delta1*theta11*(q1p_min+d1) + delta2*theta21*(q2p_min+d2); %collateral values
137 collat2= delta1*theta12*(q1p_min+d1) + delta2*theta22*(q2p_min+d2);
138 phi1 = (nphi1 - collat1)*g_min; %back out the bond holdings
139 phi2 = (nphi2 - collat2)*g_min;
140
141 %Euler Equations
142 EE1_q1= beta*(ev1^((rho1-alpha1)/(alpha1)))*expucq1h + muphi1*delta1*g_min*(q1p_min + d1)+ mu_theta11-q1;
143 EE1_q2= beta*(ev1^((rho1-alpha1)/(alpha1)))*expucq2h + muphi1*delta2*g_min*(q2p_min + d2)+ mu_theta21 - q2;
144 EE1_p= beta*(ev1^((rho1-alpha1)/(alpha1)))*expuc1 + muphi1 -p ;
145 EE2_q1= beta*(ev2^((rho2-alpha2)/(alpha2)))*expucq1f + muphi2*delta1*g_min*(q1p_min + d1)+ mu_theta12-q1;
146 EE2_q2= beta*(ev2^((rho2-alpha2)/(alpha2)))*expucq2f + muphi2*delta2*g_min*(q2p_min + d2)+ mu_theta22- q2;
147 EE2_p= beta*(ev2^((rho2-alpha2)/(alpha2)))*expuc2 + muphi2-p;
148
149 % Budget constraint agent 1
150 budget_1 = c1 + p*phi1 + theta11*q1 + theta21*q2 - e1 - w1*( q1+ q2 +d1 +d2);
151
152 % Consistency
153 w1_consis' = ( theta11*(q1p' + d1) + theta21*(q2p' + d2) + phi1/g' )/(q1p' + q2p' + d1 +d2) - w1n';
154
155 % Aux variables
156 v1 =( c1^(rho1)+ beta* (ev1^((rho1)/(alpha1))))^(1/(rho1));
157 v2 =( c2^(rho2)+ beta* (ev2^((rho2)/(alpha2))))^(1/(rho2));
158 collat_premium = (q1 - q2*sigma1/sigma2)/(q1+q2);
159
160 equations;
161 EE1_q1;
162 EE2_q1;
163 EE1_q2;
164 EE2_q2;
165 EE1_p;
166 EE2_p;
167 phi1+phi2;
168 nphi1*muphi1;
169 nphi2*muphi2;
170 mu_theta11*theta11;
171 mu_theta21*theta21;
172 mu_theta12*theta12;
173 mu_theta22*theta22;
174 budget_1;
175 c1+c2-1;
176 w1_consis';
177 end;
178end;
179
180simulate;
181 num_periods = 10000;
182 num_samples = 100;
183 initial w1 0.5;
184 initial shock 1;
185 var_simu c1 c2 theta11 theta21 theta12 theta22 phi1 phi2 q1 q2 p collat_premium;
186 w1' = w1n';
187end;
Results
In this example, agents \(1\) (\(\alpha_1 = 0.5\)) are less risk-averse than agents \(2\) (\(\alpha_2 = -6\)) so they tend to borrow to invest in the risky assets \(1\) and \(2\). Asset \(1\) nevers pays dividend (\(\sigma_1=0\)) but can be used as collateral to borrow (\(\delta_1 = 1\)). While asset \(2\) pays dividend (\(\sigma_2>0\)) but cannot be used as collateral (\(\delta_2=0\)). In equilibrium, asset \(1\) still commands a positive price. Therefore, this is an asset price bubble arising from collaterability. The following figure shows the price of asset \(1\) relative to aggregate output as a function of agents \(1\)’s wealth share
The price of asset \(1\) be as high as several times aggregate output and tends to be higher when agents \(1\) are relatively richer.