Short version: If I know a) how much is in my Roth IRA currently, b) that I plan to maximize my annual contributions, c) the average growth rate is 8%, and d) I'm 22 and plan to invest in my IRA until I surpass 59.5 years of age, how do I estimate the future level of my Roth IRA?
Long version:
I'm 22 and set to graduate from college in about a month, and I want to estimate the future level of my Roth IRA. I currently have about $22K in the account, and I plan to deposit the maximum annual of $5,500. I'm making the following assumptions:
- I'll continue this pattern until I'm 59.5 years old
- I'll earn an average annualized return of 8%
- I don't have a financial emergency that requires me to withdraw some or all of the money
My strategy was to run a loop that added $5,500 to the previous year's principal and then scaled it by 1.08 (or 1.048 if I'm subtracting inflation), then repeat it for the next year until I reach retirement age. This simple calculation gives me a number of around $1.7 million, but I feel that it's not that simple.
Also, I'm not taking into account future changes in the maximum contribution limit, but if/when the contribution limit changes, I plan to increase my contributions up to that maximum.
There are numerous IRA calculators on the web, but they ask me for my tax bracket and I'm not sure how to include it. Also, I'd like to know how these calculations work myself. If it's relevant, I'll be near the top of the 25% tax bracket with my salary upon graduation.
Calculations
As I've done before, here is the code I used to perform my calculations, if anyone is interested. Python this time, not Mathematica.
import locale
initial = 22000
annual_contrib = 5500
ror = 0.08
age_now = 22
age_ret = 60
prev = initial
for age in range(age_now+1, age_ret+1):
ira = (prev + annual_contrib) * (1 + ror)
prev = ira
locale.setlocale(locale.LC_ALL, '')
print("{0}: {1}".format(age_ret + 1991, locale.currency(ira, grouping=True)))