sbenthall / SHARKFin

Simulating Heterogeneous Agents with Finance
7 stars 5 forks source link

align dividend growth and standard deviation with macro stats #275

Closed sbenthall closed 9 months ago

sbenthall commented 9 months ago

These are the macro parameters: https://github.com/sbenthall/SHARKFin/blob/master/macro/macro_parameters.py

We need to specify a dividend growth rate and stdev that are aligned with these parameters.

This involves some math.

In this notebook, I've shown how to go in the reverse direction -- from dividend statistics to the expected rate of return. https://github.com/sbenthall/SHARKFin/blob/master/macro/Working%20with%20Lucas%20Asset%20Prices.ipynb

I'm not sure yet how to go backwards. Also, we have to keep in mind scaling. The dividend stats need to be configured into the system as daily.

sbenthall commented 9 months ago

How important to you are your choices of RiskyAvg and RiskyStd? Would it be ok to just find dividend stats that get to this ballpark?

alanlujan91 commented 9 months ago

Equity premium is 5% to 8%, so ballpark is fine.

sbenthall commented 9 months ago

I did some hand-optimization to try to match the RiskyAvg and RiskyStd in the python file: https://github.com/sbenthall/SHARKFin/blob/master/macro/macro_parameters.py#L65

With the other parameters as given, daily dividend growth/stdev of (1.0000882, 0.00258) gets rate of return avg/stdev at (0.05001608973863769, 0.020000856644028037), which gets the equity premium quite close but is off by a factor of 10 on the standard deviation -- the latter being an error I just caught now.

I have not yet found something that's a closer match on the stdev of risky returns. The dividend statistics that we were using before (1.000203, 0.011983) do not have a valid subjective return given the consumer preferences you've settled on.

sbenthall commented 9 months ago

It's extremely finicky because we are quite close to the boundary of feasibility.

Dividend daily growth/stdev of (1.0002, 0.011) get a quarterly expected return mean/stdev of (0.014, 0.09), aiming at (1.012, 0.1)

This is the closest I've been able to find so far.

sbenthall commented 9 months ago

The way I see it, there are a few ways to solve this problem:

Now, @mesalas wants to try varying the dividend stdev as part of the parameter grid. That makes (c) not viable going forward.

On the other hand, because we need to do a test simulation run, and what I have from (c) is the best we have at the moment, I'm going to put in a grid order using it as a baseline.

I hope that we can do better than this before we do the larger run that will inform the paper results.

sbenthall commented 9 months ago

Summarizing chat this morning:

The story is: consumers expect LAP-pricers to dominate the market. So at equilibrium, they have wealth that reflects expectations that reflect the dividend process.

So, we need to be able to compute forward from dividend process, through the consumer (all agent, really -- CRRA and DiscFac are shared across the economy) preferences, to price-dividend-ratio, to target wealth.

All the pieces are available for this. But we don't quite have it arranged in a pipeline that would let us vary the dividend process and get target wealth accordingly, which is what we will need to study the effect of dividend variance on the system.

We also don't quite have the numbers lined up in terms of deciding on dividend processes, equity premium, etc.

I have run out of coding bandwidth on this for the next couple of days, so if we're going to get this ready for the Feb 15 deadline somebody else will need to execute on this.

sbenthall commented 9 months ago

This is fixed with https://github.com/sbenthall/SHARKFin/commit/577ed1ad597fb63674173c6472fe9b68822269aa