Deadbeat agents and feasibility constraints

In my model, agents don’t earn enough to cover expenses when they are young (kappa_j too small early in life), but as they gain experience and earning power, they can pay off their debts and buy houses instead of renting. And I have this working, but it is fragile, due to this constraint:

net_worth_prime=aprime+hprime;
if agej<11
    if net_worth_prime<-debt_limit*(11-agej)/10
        % Limit starter loan needed to get people going
        return
    end
end

In the first year, they max out their debt (debt_limit). But then what I want them to do is to retire a fraction of that debt every year until year 10, when such starter loans are no longer offered. debt_limit is enforced by the grid, so it is impossible to borrow more than that.

What seems to happen is that when agents’ earnings are marginal, they max out their debts and stay maxed out, leading to a financial dead-end in the Policy states (labor allocation is zero and they are stuck).

If instead I add a large negative value, say -20, to the return function, then the policy iterations discover this is disfavored and instead plot a course of sensible debt repayment.

I believe that the behavioral difference between a highly disfavored solution and a forbidden one is telling me that I actually have not conditioned my problem well in the first place. Imaging that the consumption function c has various labor-related things added and various living expenses subtracted, we then account for the assets a which may be negative or positive:

if a<0
    % Subtract loan interest by adding diminishing assets
    c=c+(1+r_r_wedge)*a-aprime;
else
    % Deposit interest included in augmented assets
    c=c+(1+r)*a-aprime;
end

Looking at the above, if the agent is big in debt (negative a), and she wants to keep c above zero, she needs to subtract a correspondingly high negative aprime, which keeps her in debt.

If I penalize the debt in the return function, a viable solution is found. If I forbid the debt, there’s no escape. Is my mistake with respect to using the periods used for the values in my debt calculation, or are there other limitations as to when one can or cannot forbid certain choices?

Mathematically there is no reason why there cannot be points from which it is impossible to financially recover (if you live 20 periods, have income of 2 each period, and start with debt of 100, it is impossible to recover if there is no bankruptcy to allow you to escape debt).

So your model is giving the ‘correct’ answer to the setup you have given it. If you don’t like the answer, it is likely that you didn’t get something about the setup ‘correct’ with how you are thinking about it.

[If people get into a situation where the return fn is -Inf, then they will ‘give up’.]

PS. In any model where income is hump-shaped, consumption-smoothing means young people will borrow (so as to smooth their consumption). My guess if that you have this motive already, and then presumably added another motive, making debt super tempting to them. Your comment that

If instead I add a large negative value, say -20, to the return function, then the policy iterations discover this is disfavored and instead plot a course of sensible debt repayment.

suggests something like this. Your model currently has debt being super tempting for some reason.

It was beta! A beta<1 provides incentives to take on more debt, while beta>1 helps the agents buy investments. There are obviously many ways to skin this cat, but this was particularly simple (and harmonious to other things I’m doing).

I’m continuing my exploration here, and realizing that LifeCycleModel35 does not charge interest on loans. I’m still working on letting the math speak and not writing too many conditional guidance terms in the return function, so I’m still trying to figure out all to allocate the interest payment across the consumption function elements (F, c, aprime, hprime, not to mention leisure, etc.).

I know that bank officers look at not only debt-to-equity ratios, but also debt-to-income ratios. I’m looking to create the most elegant return value F, meaning the least conditionalized function of consumption, housing services, savings, etc. that results in the agent making both maximizing and prudent decisions about when to buy or sell houses, with what amounts of debt, at each age in their uncertain lives.

My agents are now making sensible decisions, buying larger houses as they grow in earnings power and wealth. With SolarPV to offset ever-growing energy costs. I probably need to increase the scale on some of the grids, but it’s all starting to work now!

1 Like