Forum Games

$500,000 now or $10,000 a month for the rest of your life [tax free]

Submitted by Covid2020, , Thread ID: 172459

Thread Closed

RE: $500,000 now or $10,000 a month for the rest of your life [tax free]

#24
Well, let's see, if we kept receiving $10,000 per month, we would reach $500,000 in just 50 months. That's a little more than 4 years.
Then obviously we should go with $10,000, should we not?

It's actually a little bit more complicated than that.


What if we chose A, invested all of our $500,000and waited for 50 years, with a 10% interest rate?
This would be our final money due to compounding interest:
$58,695,426

That's quite the retirement fund.

But what if we chose Band continued to invest all we could as we got $120,000 per year($10,000 per month)?
That's a littlemore complicated and a lot more impressive.
$140,842,931

It's 3x as much!


Still, maybe we want to spend part of that money and not just wait 50 years entirely.

If we take A, keep investing everything but taking out $12,000 per year ($1,000 per month), we will get:
$44,728,524

While if we choose B, do the same thing, except we take out $12,000 per year again, we will get
$139,679,023

Still about 3x as high.

It seemseveryone here was right!


Here's a little lua for you.
Code:
-- Fancy object-orientedness
local counter = {
init = function(self, amount)
  self.start = amount
  self.n = amount
end,
mul = function(self, c) self.n = self.n * c end,
add = function(self, c) self.n = self.n + c end,
print = function(self) print(self.n) end,
}
local CounterClass = {__index = counter}
counter.new = function()
local tbl = {}
setmetatable(tbl, CounterClass)
tbl:init(0)
return tbl
end



function doWith(counter, steps, mul, add)
for i = 1, steps do
  counter:mul(mul)
  counter:add(add)
end
end
function doItAllWith(steps, start, interest, addMonthly)
local c = counter:new()
c:init(start)
doWith(c, steps, interest, addMonthly * 12)
c:print()
end


-- Finally what we came here for

local cycles = 50
local interest = 1.1

doItAllWith(cycles, 500000, interest, 0)
doItAllWith(cycles, 10000, interest, 10000)

local less = 1000

doItAllWith(cycles, 500000, interest, 0 - less)
doItAllWith(cycles, 10000, interest, 10000 - less)

Users browsing this thread: 4 Guest(s)