def __init__(self, amount, interest_rate, term, nper=12): """ Create a new Loan. Args: amount: loan amount interest_rate: nominal interest rate as 'stated' without full effect of compounding (e.g. 10% would be 0.1) term: term in years nper: compounding frequency will default to 12 (i.e. compounding once per month) """ self.periods = nper self.amount = self.present_value = self.outstanding = amount self.term = term self.interest_rate = interest_rate self.rate = Amortizer.rate(interest_rate, self.periods) self.pmt()