sbenthall / SHARKFin

Simulating Heterogeneous Agents with Finance
6 stars 5 forks source link

RiskyAvg under the Usual conditions is way too high. #230

Closed sbenthall closed 1 year ago

sbenthall commented 1 year ago
from sharkfin.expectations import UsualExpectations
from sharkfin.markets import MockMarket

ue = UsualExpectations(MockMarket())
ue.calculate_risky_expectations()
ue.risky_expectations()

Output:
{'RiskyAvg': 1.1474632135003242, 'RiskyStd': 0.18587207098922232}
sbenthall commented 1 year ago

Most likely due to this.

https://github.com/sbenthall/SHARKFin/blob/master/sharkfin/expectations.py#L116-L131

sbenthall commented 1 year ago

I've corrected some of my bad math.

Now the UsualExpectations are somewhat more reasonable:

{'RiskyAvg': 1.0916031021270372, 'RiskyStd': 0.09296520824951145}

But they are still too high for quarterly numbers.

I believe the reason for this is related to #215 . Namely:

We have a few options at this point.

This also raises the "uninteresting" and inconvenient issue that in the real world, prices are systematically reduced when dividends are paid out.

What I'll do is push the quick fix for now (which gets us down from 1.15 quarterly to 1.09 quarterly), since the 1.09 figure might be easier for @alanlujan91 to work with on #205, and then raise this in a meeting.

sbenthall commented 1 year ago

Target: 1.012272234 quarterly return

sbenthall commented 1 year ago

https://www.investopedia.com/terms/e/epp.asp#:~:text=Theoretically%2C%20the%20premium%20should%20actually%20be%20much%20lower%20than%20the%20historical%20average%20of%20between%205%25%20and%208%25.