def load_file(self, file):
with open(file) as conffile:
d = toml.loads(conffile.read())
self.i_rate = 1 + d.get('inflation', 0) / 100 # inflation rate: 2.5 -> 1.025
self.r_rate = 1 + d.get('returns', 6) / 100 # invest rate: 6 -> 1.06
self.startage = d['startage']
self.endage = d.get('endage', max(96, self.startage+5))
if 'prep' in d:
self.workyr = d['prep']['workyears']
self.maxsave = d['prep']['maxsave']
self.worktax = 1 + d['prep'].get('tax_rate', 25)/100
else:
self.workyr = 0
self.retireage = self.startage + self.workyr
self.numyr = self.endage - self.retireage
self.aftertax = d.get('aftertax', {'bal': 0})
if 'basis' not in self.aftertax:
self.aftertax['basis'] = 0
self.IRA = d.get('IRA', {'bal': 0})
if 'maxcontrib' not in self.IRA:
self.IRA['maxcontrib'] = 18000 + 5500*2
self.roth = d.get('roth', {'bal': 0});
if 'maxcontrib' not in self.roth:
self.roth['maxcontrib'] = 5500*2
self.parse_expenses(d)
self.sepp_end = max(5, 59-self.retireage) # first year you can spend IRA reserved for SEPP
self.sepp_ratio = 25 # money per-year from SEPP (bal/ratio)
评论列表
文章目录