Files
bin/pension.py

69 lines
2.6 KiB
Python
Executable File

#!/usr/bin/python3
## NOTE: at present we clear 170 after tax between us
# the amounts below are 'after tax' equivalent, but also just damien
# no consideration of lump sums in my or Mandy's super (adds ~500k lump sum)
### Quote: ". So ... 60-year old male will need a lump sum of almost $500,000 to provide an annual income in retirement of $42,000 for 20 years."
### Quote: "apply the 60% rule for a comfortable retirement saving"
# THEREFORE BEST GUESS... add $40k to the number below, AND it needs to be 60% of 170 => GOAL is 102k
# SO, can retire as soon as I can get my hands on my money and just make sure we can 'manage' for 4 years for Mandys
## FINALLY, govt. says I can't get my super until I'm 60
# but, we have 100k in ME B, 100k in shares, 150k in citi & if redundant, maybe another 100k? -- thats 4.5 years, call it 3 with the new car, and being not too crazy so, maybe 57... one more 5 year contract
three_ben_sal=195999.36
ben_serv_b4_2015=18.7096
pension_factor={}
avg_serv_fraction=0.999901
avg_cont_factor=1
five_ben_sal=174156.79
ben_serv_after_2015=8.8603
ben_serv_b4_2000=3.71
avg_serv_frac_at_2003=0.999646
lump_sum_fac={}
four_pct=0.04
MAX_AGE=66
# unisuper defined "globals"
# pension factor is 1.3 at age 55 and climbs by 0.04 each year to 65+
for age in range (55, MAX_AGE):
pension_factor[age]=(1.3+(age-55)*0.04)/100
# at age 52 its 20.4 with a .2 each year to 65
base_lump_sum=20.4
for age in range (52, MAX_AGE):
lump_sum_fac[age]=base_lump_sum+(age-52)*.2
# cant retire here, so update 5bs, 3bs, ben_serv, etc. up to 55 as best I can guess
# ben_serv_after just increases by 1 each year, so add 3 from 52 to 55
ben_serv_after_2015 += 3
# within 2 years, then 5bs will be what my 3bs is now (at least)
five_ben_sal = three_ben_sal
# we get a 4% increase each year, over the next 2 years?, so add them when I confirm
three_ben_sal *= 1.04
three_ben_sal *= 1.04
#three_ben_sal *= 1.04
# this is a rough-ass guess (its 4% / 5 more each year)
# need to make this smarter, e.g.
# year 0 - five_bs
# year 1 - five_bs / 5 * 1.04 + five_bs*4/5
# year 2 - (five_bs / 5 * 1.04 + five_bs*4/5)/5 * 1.04 + 4/5 of above
# etc.
five_ben_sal * 1.008
#five_ben_sal * 1.008
#five_ben_sal * 1.008
for age in range (55, MAX_AGE):
line1=three_ben_sal*ben_serv_b4_2015*pension_factor[age]*avg_serv_fraction*avg_cont_factor
line2=five_ben_sal*ben_serv_after_2015*pension_factor[age]*avg_serv_fraction*avg_cont_factor
line3=three_ben_sal*ben_serv_b4_2000*four_pct*avg_serv_frac_at_2003*(pension_factor[age]/lump_sum_fac[age])
print(f"Pension amount at {age} = {line1+line2+line3}" )