Bridge Loan, Uncertainty and Risky Investment

In Multi-period Loans, One Period Loans, Roll-over Loans, Bridge Loans, we defined what multi-period, one-period, roll-over and bridge loans are in our models. We discussed the role of bridge loan in improving consumption smoothing when only one period no-roll-over loans are allowed in a 3 period deterministic model with fixed but unevenly distributed endowments.
In the setting below, we discuss the role of bridge-loan in a dynamic investment context with uncertainty.

A Three Period Model With Uncertainty and Investment

There are three model periods, and two possible states.
In the first period, households choose K and . In the second period, conditional on realized shocks and , households choose . The first period's problem is:
Not allowing bridge loans for now, the budget constraints are:
and,
where is the second period optimal choice function
If roll-over loans are allowed, then the implicit (but never-binding) borrowing constraint is the natural borrowing constraint determined by endowment in the lower state of shock--this is to gurantee repayments even if the household gets hit with two low shocks in a row:
and,
On the other hand, following the previous discussions, if households only have one-period no-roll-over loans, then the borrowing constraint (possibly binding) is based only on endowment in the next period, this is tighter than the natual borrowing constraint:
and

Is Bridge Loan Needed If ? No

If capital investment does not lead to additional outputs in the high state, households face a fixed endowment of 1 in all future states, uncertainty becomes irrelevant, and we are back to the model in Multi-period Loans, One Period Loans, Roll-over Loans, Bridge Loans.
such that: , , and
Previously, the endowment stream was significantly increasing: , and that gave bridge loan a role to complement short-term no-roll-over loans. Now the endowment stream is: , optimal choices are:
Bridge Loan is not needed in this context even with no-roll-over loans, because the no-roll-over borrowing constraint does not bind: , optimal borrowing choice is less than 2nd period endowment.

and Optimal Capital Choice with Roll-Over Loans

Now we solve for the optimal borrowing choices when roll-overs are allowed and , which makes shock matter, and increases households desire for borrowing to not only smooth consumption but also increase income through capital investments.
Investment and Borrowing:
and
,
Consumption Paths:
, ,
, ,
Compare to :
  1. Borrowing to smooth consumption as well as increasing investments
  2. Consumptions are higher along the path where second period shock is h. And when the third period shock is h.
  3. Consumption is lower for and , where households have to pay back debts but have bad shock.
We obtain the above solutions following the codes below:
% Some Functions
% Normally, second period problem is solved first than first
% Given we have only 2 states, we can solve them jointly, with b3Hs b3Ls
syms As Ks ps e1s e2s e3s b2s b3LsT2 b3HsT2 b3Ls b3Hs
expected_t2_income = ps*e2s + (1-ps)*(e2s + As*Ks);
expected_t3_income = ps*e3s + (1-ps)*(e3s + As*Ks);
expected_utility = log(e1s-b2s-Ks) + ...
ps*log(e2s + b2s - b3LsT2) + ...
(1-ps)*log(As*Ks + e2s + b2s - b3HsT2) + ...
(ps)*(ps)*log(e3s + b3Ls) +...
(ps)*(1-ps)*log(As*Ks + e3s + b3Ls) +...
(1-ps)*(ps)*log(e3s + b3Hs) +...
(1-ps)*(1-ps)*log(As*Ks + e3s + b3Hs);
% Variables and Parmaeters
e1=0;
e2=1;
e3=1;
p=0.50;
A=3;
% Function Handle for Constrained Maximization Problem
% x(1) is K
% x(2) is b2
% x(3) is b3L
% x(4) is b3H
U_neg = @(x) (-1)*(log(e1-x(2)-x(1)) + ...
p*log(e2 + x(2) - x(3)) + ...
(1-p)*log(A*x(1) + e2 + x(2) - x(4)) + ...
(p)*(p)*log(e3 + x(3)) +...
(p)*(1-p)*log(A*x(1) + e3 + x(3)) +...
(1-p)*(p)*log(e3 + x(4)) +...
(1-p)*(1-p)*log(A*x(1) + e3 + x(4)));
% Linear Inequality Constraints K>=0, and b2, b3L and b3H can be positive or negative
LIN_CON = [-1,0,0,0];
q = [0];
% Starting Search Points
b0 = [0.1,-0.15,-0.15,-0.15];
% Optimization
[x_argmin, V_at_argmin] = fmincon(U_neg, b0, LIN_CON, q);
Local minimum found that satisfies the constraints.

Optimization completed because the objective function is non-decreasing in
feasible directions, to within the default value of the optimality tolerance,
and constraints are satisfied to within the default value of the constraint tolerance.

<stopping criteria details>
% Optimal Risky and Safe Asset Choices
K_o = x_argmin(1);
b2_o = x_argmin(2);
b3L_o = x_argmin(3);
b3H_o = x_argmin(4);
% Value at optimal Choices and Expected Income
EY = double(subs(expected_t2_income, {e2s, ps, As, Ks}, {e2, p, A, K_o}));
EV = double(subs(expected_utility,...
{As, Ks, ps, e1s, e2s, e3s, b2s, b3LsT2, b3HsT2, b3Ls, b3Hs},...
{A, K_o, p, e1, e2, e3, b2_o, b3L_o, b3H_o, b3L_o, b3H_o}));
% Consumption
c1_o = e1-b2_o-K_o;
c2_l_o = e2 + b2_o - b3L_o;
c2_h_o = e2 + A*K_o + b2_o - b3H_o;
c3_ll_o = e3 + b3L_o;
c3_lh_o = e3 + A*K_o + b3L_o;
c3_hl_o = e3 + b3H_o;
c3_hh_o = e3 + A*K_o + b3H_o;
% Display Results
b3L_B_o = false;
b3H_B_o = false;
opti_K_b2_b3 = table(K_o, b2_o, b3L_o, b3H_o, b3L_B_o, b3H_B_o, EY, EV);
opti_consumption = table(K_o, c1_o,...
c2_l_o, c3_ll_o, c3_lh_o,...
c2_h_o, c3_hl_o, c3_hh_o);
opti_K_b2_b3.Variables = round(opti_K_b2_b3.Variables, 2);
disp(opti_K_b2_b3);
K_o b2_o b3L_o b3H_o b3L_B_o b3H_B_o EY EV
____ _____ _____ _____ _______ _______ ____ _____

0.68 -1.35 -0.77 0.09 false false 2.02 -0.45
opti_consumption.Variables = round(opti_consumption.Variables, 2);
disp(opti_consumption);
K_o c1_o c2_l_o c3_ll_o c3_lh_o c2_h_o c3_hl_o c3_hh_o
____ ____ ______ _______ _______ ______ _______ _______

0.68 0.67 0.42 0.23 2.28 1.61 1.09 3.13

and Optimal Capital Choice with No-Roll-Over Loan

Above, we solved the maximization problem with loans that allowed for roll-over. What are the optimal choices and consumption paths when roll-over loans are not allowed?
To answer that, we resolve the problem above, but now imposeg an additional borrowing constraint for first period borrowing choice, our one-period no-roll-over constraint:
Compared to the world where roll-over loans are allowed, the optimal choices show that:
% Linear Inequality Constraints -K<=0, b2>-e2, and b3L and b3H can be positive or negative
LIN_CON_no_roll_over = [-1, 0,0,0;
0,-1,0,0];
q_no_roll_over = [0;e2];
% Optimization
[x_argmin, V_at_argmin] = fmincon(U_neg, b0, LIN_CON_no_roll_over, q_no_roll_over);
Local minimum found that satisfies the constraints.

Optimization completed because the objective function is non-decreasing in
feasible directions, to within the default value of the optimality tolerance,
and constraints are satisfied to within the default value of the constraint tolerance.

<stopping criteria details>
% Optimal Risky and Safe Asset Choices
K_o = x_argmin(1);
b2_o = x_argmin(2);
b3L_o = x_argmin(3);
b3H_o = x_argmin(4);
% Value at optimal Choices and Expected Income
EY = double(subs(expected_t2_income, {e2s, ps, As, Ks}, {e2, p, A, K_o}));
EV = double(subs(expected_utility,...
{As, Ks, ps, e1s, e2s, e3s, b2s, b3LsT2, b3HsT2, b3Ls, b3Hs},...
{A, K_o, p, e1, e2, e3, b2_o, b3L_o, b3H_o, b3L_o, b3H_o}));
% Consumption
c1_o = e1-b2_o-K_o;
c2_l_o = e2 + b2_o - b3L_o;
c2_h_o = e2 + A*K_o + b2_o - b3H_o;
c3_ll_o = e3 + b3L_o;
c3_lh_o = e3 + A*K_o + b3L_o;
c3_hl_o = e3 + b3H_o;
c3_hh_o = e3 + A*K_o + b3H_o;
% Combine Results
b3L_B_o = false;
b3H_B_o = false;
opti_K_b2_b3_nro = table(K_o, b2_o, b3L_o, b3H_o, b3L_B_o, b3H_B_o, EY, EV);
opti_consumption_nro = table(K_o, c1_o,...
c2_l_o, c3_ll_o, c3_lh_o,...
c2_h_o, c3_hl_o, c3_hh_o);
% No-Roll-Over and Roll-Over Resutls Together
opti_K_b2_b3_all = [opti_K_b2_b3; opti_K_b2_b3_nro];
opti_consumption_all = [opti_consumption; opti_consumption_nro];
opti_K_b2_b3_all.Properties.RowNames = {'roll-over allowed', 'no roll-over'};
opti_consumption_all.Properties.RowNames = {'roll-over allowed', 'no roll-over'};
% Display
opti_K_b2_b3_all.Variables = round(opti_K_b2_b3_all.Variables, 2);
disp(opti_K_b2_b3_all);
K_o b2_o b3L_o b3H_o b3L_B_o b3H_B_o EY EV
____ _____ _____ _____ _______ _______ ____ _____

roll-over allowed 0.68 -1.35 -0.77 0.09 false false 2.02 -0.45
no roll-over 0.45 -1 -0.62 -0.02 false false 1.68 -0.58
opti_consumption_all.Variables = round(opti_consumption_all.Variables, 2);
disp(opti_consumption_all);
K_o c1_o c2_l_o c3_ll_o c3_lh_o c2_h_o c3_hl_o c3_hh_o
____ ____ ______ _______ _______ ______ _______ _______

roll-over allowed 0.68 0.67 0.42 0.23 2.28 1.61 1.09 3.13
no roll-over 0.45 0.55 0.62 0.38 1.74 1.38 0.98 2.35

Budget and Constraints with No-Roll-Over Loans + Bridge Loans

To improve the sitution given no-roll-over one-period loans, we can introduce bridge loans.
Following the discussions in Multi-period Loans, One Period Loans, Roll-over Loans, Bridge Loans, with bridge loans, the budget and constraints become:
And the borrowing constraints are:
debt is less than endowment and new B borrowing:
and
We have to solve for the optimal bridge loan choice in both h and l states in the second period.

Optimal Investments and Borrowing given Bridge Loan + No-Roll-Over Loan

Given , we can solve for optimal (informal) bridge loan borrowing quantity in addition to (formal) no-roll-over one period loans. We just have to change our linear constraint slightly:
To solve the updated problem:
  1. The linear constraint matrix needs two more column for the bridge loan choice for h and l:
  2. Two additional negativity constraint rows for the bridge loan choices for h and l:
  3. Two updated borrowing constraint for : , and
The optimal choices, shown in table form below indicates that investment given bridge + no-roll-over is between no-roll-over and roll-over worlds.
% Bridge Loan Interest Rate
rB = 0.30;
% Linear Inequality Constraints
% Columns 1 to 4 are for:
% 1:K>0 --> -K < 0
% 2:b2 - bB(3,l) >= -e(2,l) --> e(2,l) >= -b2 + bB(3,l)
% 3:b2 - bB(3,l) >= -e(2,l) - A*K --> e(2,l) >= -b2 + bB(3,l) - AK
% 4:bridge low < 0
% 5:bridge high < 0
LIN_CON_no_rlov_brdge = [-1, 0, 0, 0, 0, 0;
0,-1, 0, 0, 1, 0;
-A,-1, 0, 0, 0, 1;
0, 0, 0, 0, 1, 0;
0, 0, 0, 0, 0, 1;];
q_no_rlov_brdge = [0;e2;e2;0;0];
% Starting Search Points
% K, b2, b3L, b3H, b3Lbridge, b3Hbridge
b0_no_rlov_brdge = [0.1,-0.15,-0.15,-0.15,-0.01,-0.01];
% Add the Bridge Loan Choice to the Utility
U_neg = @(x) (-1)*(log(e1-x(2)-x(1)) + ...
p*log(e2 + x(2) - x(3) - x(5)) + ...
(1-p)*log(A*x(1) + e2 + x(2) - x(4) - x(6)) + ...
(p)*(p)*log(e3 + x(3) + x(5)*(1+rB)) +...
(p)*(1-p)*log(A*x(1) + e3 + x(3) + x(5)*(1+rB)) +...
(1-p)*(p)*log(e3 + x(4) + x(6)*(1+rB)) +...
(1-p)*(1-p)*log(A*x(1) + e3 + x(4) + x(6)*(1+rB)));
% Optimization
[x_argmin, V_at_argmin] = fmincon(U_neg,...
b0_no_rlov_brdge, LIN_CON_no_rlov_brdge, q_no_rlov_brdge);
Local minimum found that satisfies the constraints.

Optimization completed because the objective function is non-decreasing in
feasible directions, to within the default value of the optimality tolerance,
and constraints are satisfied to within the default value of the constraint tolerance.

<stopping criteria details>
% Optimal Risky and Safe Asset Choices
K_o = x_argmin(1);
b2_o = x_argmin(2);
b3L_o = x_argmin(3);
b3H_o = x_argmin(4);
b3L_B_o = x_argmin(5); % Bridge bad shock t = 2
b3H_B_o = x_argmin(6); % Bridge good shock t = 2
% Value at optimal Choices and Expected Income
EY = double(subs(expected_t2_income, {e2s, ps, As, Ks}, {e2, p, A, K_o}));
EV = double(subs(expected_utility,...
{As, Ks, ps, e1s, e2s, e3s, b2s,...
b3LsT2, b3HsT2,...
b3Ls, b3Hs},...
{A, K_o, p, e1, e2, e3, b2_o,...
(b3L_o+b3L_B_o), (b3H_o+b3H_B_o),...
(b3L_o+b3L_B_o*(1+rB)), (b3H_o+b3H_B_o*(1+rB))}));
% Consumption
c1_o = e1-b2_o-K_o;
c2_l_o = e2 + b2_o - b3L_o - b3L_B_o;
c2_h_o = e2 + A*K_o + b2_o - b3H_o - b3H_B_o;
c3_ll_o = e3 + b3L_o + b3L_B_o*(1+rB);
c3_lh_o = e3 + A*K_o + b3L_o + b3L_B_o*(1+rB);
c3_hl_o = e3 + b3H_o + b3H_B_o*(1+rB);
c3_hh_o = e3 + A*K_o + b3H_o + b3H_B_o*(1+rB);
% Combine Results
opti_K_b2_b3_nro_brdg = table(K_o, b2_o, b3L_o, b3H_o, b3L_B_o, b3H_B_o, EY, EV);
opti_K_b2_b3_nro_brdg.Variables = round(opti_K_b2_b3_nro_brdg.Variables, 2);
disp(opti_K_b2_b3_nro_brdg);
K_o b2_o b3L_o b3H_o b3L_B_o b3H_B_o EY EV
____ _____ _____ _____ _______ _______ ____ _____

0.57 -1.17 -0.49 0.03 -0.17 0 1.85 -0.54
opti_consumption_nro_brdg = table(K_o, c1_o,...
c2_l_o, c3_ll_o, c3_lh_o,...
c2_h_o, c3_hl_o, c3_hh_o);
% No-Roll-Over and Roll-Over Resutls Together
opti_K_b2_b3_all = [opti_K_b2_b3; opti_K_b2_b3_nro; opti_K_b2_b3_nro_brdg];
opti_K_b2_b3_all.Properties.RowNames = {'roll-over allowed',...
'no roll-over',...
['no roll-over + bridge r=' num2str(rB)]};
opti_consumption_all = [opti_consumption; opti_consumption_nro; opti_consumption_nro_brdg];
opti_consumption_all.Properties.RowNames = {'roll-over allowed',...
'no roll-over',...
['no roll-over + bridge r=' num2str(rB)]};
% Display
opti_K_b2_b3_all.Variables = round(opti_K_b2_b3_all.Variables, 2);
disp(opti_K_b2_b3_all);
K_o b2_o b3L_o b3H_o b3L_B_o b3H_B_o EY EV
____ _____ _____ _____ _______ _______ ____ _____

roll-over allowed 0.68 -1.35 -0.77 0.09 0 0 2.02 -0.45
no roll-over 0.45 -1 -0.62 -0.02 0 0 1.68 -0.58
no roll-over + bridge r=0.3 0.57 -1.17 -0.49 0.03 -0.17 0 1.85 -0.54
opti_consumption_all.Variables = round(opti_consumption_all.Variables, 2);
disp(opti_consumption_all);
K_o c1_o c2_l_o c3_ll_o c3_lh_o c2_h_o c3_hl_o c3_hh_o
____ ____ ______ _______ _______ ______ _______ _______

roll-over allowed 0.68 0.67 0.42 0.23 2.28 1.61 1.09 3.13
no roll-over 0.45 0.55 0.62 0.38 1.74 1.38 0.98 2.35
no roll-over + bridge r=0.3 0.57 0.61 0.49 0.28 1.99 1.5 1.03 2.74

Optimal Investments and Consumptions with Shifting Bridge Loan Interest Rates

Keep the same parameters as before, we will now solve for optimal choices given different bridge loan interest rates.
% Loop over variations in interest rates of the bridge loan
bridge_r_min = 0.01; % no better than main/formal loan r
bridge_r_max = 1.0; % if higher than this, want to save
bridge_r_n = 100;
bridge_loan_r_vector = linspace(bridge_r_min, bridge_r_max, bridge_r_n);
lows_p_min = 0.40;
lows_p_max = 0.60;
lows_p_n = 3;
lows_p_vector = linspace(lows_p_min, lows_p_max, lows_p_n);
% Matrixes to Store Relevant Values
value_mat = zeros(lows_p_n, bridge_r_n);
K_o_mat = zeros(lows_p_n, bridge_r_n);
c2ll_o_mat = zeros(lows_p_n, bridge_r_n);
b3LB_frac_o_mat = zeros(lows_p_n, bridge_r_n);
% Table Storage
table_results_all = [];
table_rows_all = {};
graph_counter_all = 0;
% Loop over bridge loan
for lows_p_ctr=1:length(lows_p_vector)
p = lows_p_vector(lows_p_ctr);
for bridge_r_ctr=1:length(bridge_loan_r_vector)
rB = bridge_loan_r_vector(bridge_r_ctr);
% Bridge Loan utility function with varying interest rates
U_neg = @(x) (-1)*(log(e1-x(2)-x(1)) + ...
p*log(e2 + x(2) - x(3) - x(5)) + ...
(1-p)*log(A*x(1) + e2 + x(2) - x(4) - x(6)) + ...
(p)*(p)*log(e3 + x(3) + x(5)*(1+rB)) +...
(p)*(1-p)*log(A*x(1) + e3 + x(3) + x(5)*(1+rB)) +...
(1-p)*(p)*log(e3 + x(4) + x(6)*(1+rB)) +...
(1-p)*(1-p)*log(A*x(1) + e3 + x(4) + x(6)*(1+rB)));
% Optimization
options = optimoptions('FMINCON','Display','off');
[x_argmin, V_at_argmin] = fmincon(U_neg,...
b0_no_rlov_brdge, LIN_CON_no_rlov_brdge, q_no_rlov_brdge,...
[], [], [], [], [], options);
% Optimal Risky and Safe Asset Choices
K_o = x_argmin(1);
b2_o = x_argmin(2);
b3L_o = x_argmin(3);
b3H_o = x_argmin(4);
b3L_B_o = x_argmin(5); % Bridge bad shock t = 2
b3H_B_o = x_argmin(6); % Bridge good shock t = 2
% Value at optimal Choices and Expected Income
EY = double(subs(expected_t2_income, {e2s, ps, As, Ks}, {e2, p, A, K_o}));
EV = double(subs(expected_utility,...
{As, Ks, ps, e1s, e2s, e3s, b2s,...
b3LsT2, b3HsT2,...
b3Ls, b3Hs},...
{A, K_o, p, e1, e2, e3, b2_o,...
(b3L_o+b3L_B_o), (b3H_o+b3H_B_o),...
(b3L_o+b3L_B_o*(1+rB)), (b3H_o+b3H_B_o*(1+rB))}));
% Consumption
c1_o = e1-b2_o-K_o;
c2_l_o = e2 + b2_o - b3L_o - b3L_B_o;
c2_h_o = e2 + A*K_o + b2_o - b3H_o - b3H_B_o;
c3_ll_o = e3 + b3L_o + b3L_B_o*(1+rB);
c3_lh_o = e3 + A*K_o + b3L_o + b3L_B_o*(1+rB);
c3_hl_o = e3 + b3H_o + b3H_B_o*(1+rB);
c3_hh_o = e3 + A*K_o + b3H_o + b3H_B_o*(1+rB);
% Store Results
value_mat(lows_p_ctr, bridge_r_ctr) = EV;
c2ll_o_mat(lows_p_ctr, bridge_r_ctr) = c3_ll_o;
K_o_mat(lows_p_ctr, bridge_r_ctr) = K_o;
b3LB_frac_o_mat(lows_p_ctr, bridge_r_ctr) = b3L_B_o/b2_o;
% Combine Results
opti_K_b2_b3_nro_brdg = table(K_o, b2_o, b3L_o, b3H_o, b3L_B_o, b3H_B_o, EY, EV);
% Store to Table
graph_counter_all = graph_counter_all + 1;
table_results_all = [table_results_all; opti_K_b2_b3_nro_brdg];
table_row_names_all{graph_counter_all} =...
['brdg-r:' sprintf('%3.2f', rB) ' low-p:' sprintf('%3.2f', p)];
end
end

Graphing the Effects of Bridge Loans with Varying Interest Rates

Similar to what we saw before, bridge loan has significant effects on all model outcomes. Bridge loans are useful even when bridge loan interest rates are close to percent:
for graph_vars=1:1:4
figure();
hold on;
p_legend = {};
for lows_p_ctr=1:length(lows_p_vector)
p = lows_p_vector(lows_p_ctr);
if (graph_vars == 1)
data_vector = b3LB_frac_o_mat(lows_p_ctr,:);
elseif (graph_vars == 2)
data_vector = K_o_mat(lows_p_ctr,:);
elseif (graph_vars == 3)
data_vector = value_mat(lows_p_ctr,:);
elseif (graph_vars == 4)
data_vector = c2ll_o_mat(lows_p_ctr,:);
end
p_legend{lows_p_ctr} = ['High Productivity Prob = ' num2str(1-p)];
if (lows_p_ctr == 1)
plot(bridge_loan_r_vector, data_vector, ':', 'LineWidth', 3);
elseif (lows_p_ctr == 2)
plot(bridge_loan_r_vector, data_vector, ':', 'LineWidth', 3);
elseif (lows_p_ctr == 3)
plot(bridge_loan_r_vector, data_vector, '--', 'LineWidth', 2);
elseif (lows_p_ctr == 4)
plot(bridge_loan_r_vector, data_vector, '-', 'LineWidth', 1);
end
end
if (graph_vars == 1)
title({['(Bridge Loan T=2 Low Shock)/(T=2 Debt)'],...
['(Bridge Loan T=2 high Shock is always zero)'],...
['e1 = ' num2str(e1)...
', Y(low) = ' num2str(e2)...
', Y(high) = ' num2str(A) '*K+' num2str(e2)],...
['Formal/No-Rollover R = ' num2str(0), ', Informal/Bridge R varies']});
ylabel({['Bridge Loan Choice T=2 Low Shock Fraction'],['(Bridge + No-Roll-Over)']});
legend(p_legend, 'Location','northeast');
elseif (graph_vars == 2)
title({['Optimal K'],...
['e1 = ' num2str(e1)...
', Y(low) = ' num2str(e2)...
', Y(high) = ' num2str(A) '*K+' num2str(e2)],...
['Formal/No-Rollover R = ' num2str(0), ', Informal/Bridge R varies']});
ylabel({['Risky Capital Investment'],['(Bridge + No-Roll-Over)']});
legend(p_legend, 'Location','northeast');
elseif (graph_vars == 3)
title({['E(V) 3 periods'],...
['e1 = ' num2str(e1)...
', Y(low) = ' num2str(e2)...
', Y(high) = ' num2str(A) '*K+' num2str(e2)],...
['Formal/No-Rollover R = ' num2str(0), ', Informal/Bridge R varies']});
ylabel({['E(V) 3 Periods'],['(Bridge + No-Roll-Over)']});
legend(p_legend, 'Location','northeast');
elseif (graph_vars == 4)
title({['C after 2 Bad Shocks'],...
['e1 = ' num2str(e1)...
', Y(low) = ' num2str(e2)...
', Y(high) = ' num2str(A) '*K+' num2str(e2)],...
['Formal/No-Rollover R = ' num2str(0), ', Informal/Bridge R varies']});
ylabel('Consumption After Two Bad Shocks');
ylabel({['Consumption After Two Bad Shocks'],['(Bridge + No-Roll-Over)']});
legend(p_legend, 'Location','southeast');
end
x_title_line = ['(Informal) Bridge Loan Interest Rate, 0.1 = 10%'];
xlabel(x_title_line);
% grids
grid on;
end

Tabulate All Results

The Tables below tabulate results, showing 100 rows from the graph above:
table_results_all.Properties.RowNames = table_row_names_all;
[rows, cols] = size(table_results_all);
% Only show 100 rows
rows_display = floor(linspace(1, rows, 100));
8 Columns of Choices and Outcomes in the Table Below:
  1. K_o: , Optimal capital choice (made in t=1)
  2. b2_o: , Optimal 1st period No-Roll-Over (formal) borrowing/savings choice (debt to be paid back in t=2). Households will borrow because
  3. b3L_o: , Optimal 2nd period, when shock is l, No-Roll-Over (formal) borrowing/savings choice (to be paid back in t=3). Households will borrow here because shock is low.
  4. b3H_o: , Optimal 2nd period, when shock is h, No-Roll-Over (formal) borrowing/savings choice (to be paid back in t=3).
  5. b3L_B_o: , Optimal 2nd period, when shock is l, Bridge Loan (informal) borrowing choice. Used to pay debts when --in bad shock state--is insufficient to cover fully. Borrowing bridge loan allows households to clear current debt, , with formal lender, and borrow new from formal lender again, which is to be paid back in t=3.
  6. b3H_B_o: , Optimal 2nd period, when shock is h, Bridge Loan (informal) borrowing choice. This will be 0, because in high shock state, there is enough output to pay back debt , bridge loan is unnecessary.
  7. EY: expected income, same in the 2nd and 3rd period because there is a single investment decision in the first period.
  8. EV: expected value given optimal choices.
table_results_all.Variables = round(table_results_all.Variables, 2);
disp(table_results_all(rows_display,:))
K_o b2_o b3L_o b3H_o b3L_B_o b3H_B_o EY EV
____ _____ _____ _____ _______ _______ ____ _____

brdg-r:0.01 low-p:0.40 0.85 -1.51 -0.34 0.12 -0.51 0 2.52 -0.03
brdg-r:0.04 low-p:0.40 0.83 -1.49 -0.35 0.11 -0.49 0 2.49 -0.05
brdg-r:0.07 low-p:0.40 0.82 -1.46 -0.35 0.1 -0.46 0 2.47 -0.07
brdg-r:0.10 low-p:0.40 0.8 -1.44 -0.36 0.1 -0.44 0 2.44 -0.08
brdg-r:0.13 low-p:0.40 0.79 -1.42 -0.36 0.09 -0.42 0 2.42 -0.1
brdg-r:0.16 low-p:0.40 0.78 -1.41 -0.37 0.08 -0.41 0 2.4 -0.11
brdg-r:0.19 low-p:0.40 0.76 -1.39 -0.37 0.08 -0.39 0 2.37 -0.12
brdg-r:0.22 low-p:0.40 0.75 -1.37 -0.38 0.08 -0.37 0 2.35 -0.13
brdg-r:0.25 low-p:0.40 0.74 -1.36 -0.39 0.07 -0.36 0 2.33 -0.15
brdg-r:0.28 low-p:0.40 0.73 -1.34 -0.39 0.07 -0.34 0 2.32 -0.16
brdg-r:0.31 low-p:0.40 0.72 -1.33 -0.4 0.06 -0.33 0 2.3 -0.17
brdg-r:0.34 low-p:0.40 0.71 -1.31 -0.4 0.06 -0.31 0 2.28 -0.18
brdg-r:0.37 low-p:0.40 0.7 -1.3 -0.41 0.05 -0.3 0 2.26 -0.18
brdg-r:0.40 low-p:0.40 0.69 -1.29 -0.42 0.05 -0.29 0 2.25 -0.19
brdg-r:0.43 low-p:0.40 0.69 -1.27 -0.42 0.05 -0.27 0 2.23 -0.2
brdg-r:0.46 low-p:0.40 0.68 -1.26 -0.43 0.04 -0.26 0 2.22 -0.21
brdg-r:0.49 low-p:0.40 0.67 -1.25 -0.43 0.04 -0.25 0 2.21 -0.22
brdg-r:0.52 low-p:0.40 0.66 -1.24 -0.44 0.04 -0.24 0 2.19 -0.22
brdg-r:0.55 low-p:0.40 0.66 -1.23 -0.44 0.03 -0.23 0 2.18 -0.23
brdg-r:0.58 low-p:0.40 0.65 -1.22 -0.45 0.03 -0.22 0 2.17 -0.24
brdg-r:0.61 low-p:0.40 0.64 -1.21 -0.46 0.03 -0.21 0 2.16 -0.24
brdg-r:0.64 low-p:0.40 0.64 -1.2 -0.46 0.03 -0.2 0 2.15 -0.25
brdg-r:0.67 low-p:0.40 0.63 -1.19 -0.47 0.02 -0.19 0 2.13 -0.25
brdg-r:0.70 low-p:0.40 0.62 -1.18 -0.47 0.02 -0.18 0 2.12 -0.26
brdg-r:0.73 low-p:0.40 0.62 -1.17 -0.48 0.02 -0.17 0 2.11 -0.26
brdg-r:0.76 low-p:0.40 0.61 -1.16 -0.49 0.02 -0.16 0 2.1 -0.26
brdg-r:0.79 low-p:0.40 0.61 -1.16 -0.49 0.02 -0.16 0 2.09 -0.27
brdg-r:0.82 low-p:0.40 0.6 -1.15 -0.5 0.01 -0.15 0 2.08 -0.27
brdg-r:0.85 low-p:0.40 0.6 -1.14 -0.5 0.01 -0.14 0 2.08 -0.28
brdg-r:0.88 low-p:0.40 0.59 -1.13 -0.51 0.01 -0.13 0 2.07 -0.28
brdg-r:0.91 low-p:0.40 0.59 -1.13 -0.51 0.01 -0.13 0 2.06 -0.28
brdg-r:0.94 low-p:0.40 0.58 -1.12 -0.52 0.01 -0.12 0 2.05 -0.28
brdg-r:0.97 low-p:0.40 0.58 -1.11 -0.53 0 -0.11 0 2.04 -0.29
brdg-r:1.00 low-p:0.40 0.57 -1.11 -0.53 0 -0.11 0 2.03 -0.29
brdg-r:0.03 low-p:0.50 0.67 -1.33 -0.43 0.08 -0.33 0 2 -0.47
brdg-r:0.06 low-p:0.50 0.65 -1.31 -0.44 0.07 -0.31 0 1.98 -0.48
brdg-r:0.09 low-p:0.50 0.64 -1.29 -0.44 0.07 -0.29 0 1.96 -0.49
brdg-r:0.12 low-p:0.50 0.63 -1.27 -0.45 0.06 -0.27 0 1.94 -0.5
brdg-r:0.15 low-p:0.50 0.62 -1.25 -0.46 0.06 -0.25 0 1.93 -0.51
brdg-r:0.18 low-p:0.50 0.61 -1.23 -0.46 0.05 -0.23 0 1.91 -0.51
brdg-r:0.21 low-p:0.50 0.6 -1.22 -0.47 0.05 -0.22 0 1.9 -0.52
brdg-r:0.24 low-p:0.50 0.59 -1.2 -0.48 0.04 -0.2 0 1.88 -0.53
brdg-r:0.27 low-p:0.50 0.58 -1.19 -0.49 0.04 -0.19 0 1.87 -0.53
brdg-r:0.30 low-p:0.50 0.57 -1.17 -0.49 0.03 -0.17 0 1.85 -0.54
brdg-r:0.33 low-p:0.50 0.56 -1.16 -0.5 0.03 -0.16 0 1.84 -0.54
brdg-r:0.36 low-p:0.50 0.55 -1.15 -0.51 0.03 -0.15 0 1.83 -0.55
brdg-r:0.39 low-p:0.50 0.54 -1.14 -0.52 0.02 -0.14 0 1.82 -0.55
brdg-r:0.42 low-p:0.50 0.54 -1.12 -0.52 0.02 -0.12 0 1.8 -0.56
brdg-r:0.45 low-p:0.50 0.53 -1.11 -0.53 0.01 -0.11 0 1.79 -0.56
brdg-r:0.48 low-p:0.50 0.52 -1.1 -0.54 0.01 -0.1 0 1.78 -0.56
brdg-r:0.52 low-p:0.50 0.51 -1.09 -0.55 0.01 -0.09 0 1.77 -0.57
brdg-r:0.55 low-p:0.50 0.51 -1.08 -0.55 0 -0.08 0 1.76 -0.57
brdg-r:0.58 low-p:0.50 0.5 -1.07 -0.56 0 -0.07 0 1.75 -0.57
brdg-r:0.61 low-p:0.50 0.49 -1.06 -0.57 0 -0.06 0 1.74 -0.57
brdg-r:0.64 low-p:0.50 0.49 -1.05 -0.58 0 -0.05 0 1.73 -0.57
brdg-r:0.67 low-p:0.50 0.48 -1.04 -0.58 -0.01 -0.04 0 1.72 -0.58
brdg-r:0.70 low-p:0.50 0.48 -1.03 -0.59 -0.01 -0.03 0 1.72 -0.58
brdg-r:0.73 low-p:0.50 0.47 -1.03 -0.6 -0.01 -0.03 0 1.71 -0.58
brdg-r:0.76 low-p:0.50 0.47 -1.02 -0.6 -0.01 -0.02 0 1.7 -0.58
brdg-r:0.79 low-p:0.50 0.46 -1.01 -0.61 -0.02 -0.01 0 1.69 -0.58
brdg-r:0.82 low-p:0.50 0.46 -1 -0.62 -0.02 0 0 1.69 -0.58
brdg-r:0.85 low-p:0.50 0.46 -1 -0.62 -0.02 0 0 1.68 -0.58
brdg-r:0.88 low-p:0.50 0.46 -1 -0.62 -0.02 0 0 1.68 -0.58
brdg-r:0.91 low-p:0.50 0.46 -1 -0.62 -0.02 0 0 1.68 -0.58
brdg-r:0.94 low-p:0.50 0.46 -1 -0.62 -0.02 0 0 1.68 -0.58
brdg-r:0.97 low-p:0.50 0.46 -1 -0.62 -0.02 0 0 1.68 -0.58
brdg-r:1.00 low-p:0.50 0.46 -1 -0.62 -0.02 0 0 1.68 -0.58
brdg-r:0.03 low-p:0.60 0.48 -1.14 -0.51 0 -0.14 0 1.58 -0.82
brdg-r:0.06 low-p:0.60 0.47 -1.12 -0.52 -0.01 -0.12 0 1.56 -0.82
brdg-r:0.09 low-p:0.60 0.46 -1.1 -0.53 -0.01 -0.1 0 1.55 -0.82
brdg-r:0.12 low-p:0.60 0.45 -1.09 -0.54 -0.02 -0.09 0 1.54 -0.83
brdg-r:0.15 low-p:0.60 0.44 -1.07 -0.55 -0.02 -0.07 0 1.53 -0.83
brdg-r:0.18 low-p:0.60 0.43 -1.05 -0.55 -0.03 -0.05 0 1.51 -0.83
brdg-r:0.21 low-p:0.60 0.42 -1.04 -0.56 -0.03 -0.04 0 1.5 -0.83
brdg-r:0.24 low-p:0.60 0.41 -1.03 -0.57 -0.04 -0.03 0 1.49 -0.83
brdg-r:0.27 low-p:0.60 0.4 -1.01 -0.58 -0.04 -0.01 0 1.48 -0.83
brdg-r:0.30 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.33 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.36 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.39 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.42 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.45 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.48 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.51 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.54 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.57 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.60 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.63 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.66 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.69 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.72 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.75 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.78 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.81 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.84 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.87 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.90 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.93 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:0.96 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84
brdg-r:1.00 low-p:0.60 0.4 -1 -0.59 -0.04 0 0 1.47 -0.84