boknows / cFIREsim-open

An attempt to re-write the popular retirement calculator (cFIREsim.com) in mainly javascript, and begin the journey toward open-source.
Apache License 2.0
154 stars 52 forks source link

VPW Spending Method shoots past zero #52

Closed boknows closed 8 years ago

boknows commented 9 years ago

If there is a defined spending floor present, some of the VPW cycles will run past $0 in portfolio. VPW, by definition, tries to hit $0 exactly.

jchristian commented 9 years ago

What's the expected result? If the spending floor is greater than the portfolio value, we should cap the spending for the year to the portfolio value?

boknows commented 9 years ago

I actually didn't check close enough, and now I'm on mobile. Does it ONLY go negative in the final year? By its definition, VPW should be exactly zero in the last year. I'm actually not sure the expected result if spending is higher. I would think it was designed to never happen, but that might not take floors and ceilings into account.

What's the expected result? If the spending floor is greater than the portfolio value, we should cap the spending for the year to the portfolio value?

— Reply to this email directly or view it on GitHub https://github.com/boknows/cFIREsim-open/issues/52#issuecomment-142108480.

jchristian commented 9 years ago

It is going negative on more than the final year. Not too surprising if you consider an extreme case, such as setting the floor to something like double the initial portfolio value.

I think capping the floor to the portfolio value is the way to go. It will still cause some scenarios to draw down to zero before the end of retirement, though.

I can send you a pull request if this is the way you want to go.

boknows commented 9 years ago

Well, if it goes to zero before the end, we need a way of expressing that, since I believe the intention of VPW was to never "fail".

On Mon, Sep 21, 2015 at 5:24 PM, Jonathan Christian < notifications@github.com> wrote:

It is going negative on more than the final year. Not too surprising if you consider an extreme case, such as setting the floor to something like double the initial portfolio value.

I think capping the floor to the portfolio value is the way to go. It will still cause some scenarios to draw down to zero before the end of retirement, though.

— Reply to this email directly or view it on GitHub https://github.com/boknows/cFIREsim-open/issues/52#issuecomment-142112164 .

jchristian commented 9 years ago

Well, the graphs do a pretty good job of expressing it. If it goes to zero early, the spending flat-lines at zero which is pretty obvious. It should probably be a cycle failure, though, which it isn't currently (since cycle failures are "< 0" and it only goes to 0). What did you have in mind?

jchristian commented 9 years ago

The pull request keeps portfolio from going negative, but doesn't add any new way to express a portfolio cycle that fails to the user.