Loan

class tmval.loan.Loan(gr: Union[float, tmval.rate.Rate, tmval.growth.TieredTime] = None, pmt: Union[float, int, tmval.value.Payments] = None, period: float = None, term: float = None, amt: float = None, cents: bool = False, sfr: Union[float, tmval.rate.Rate, tmval.growth.TieredTime] = None, sfd: float = None, sf_split: float = 1.0, sfh_gr: Union[float, tmval.rate.Rate, tmval.growth.TieredTime] = None, pp: float = None)[source]

Loan is TmVal’s class for representing loans. TmVal currently supports amortized loans, sinking fund loans, amortized/sinking hybrid loans, and payment of fixed principal loans. You can specify the loan type by supplying the appropriate argument.

The default case is an amortized loan, when gr, period, term, and payment amount are supplied without a corresponding sinking fund rate or fixed principal payment. You do not have to supply all of the arguments. If enough of them are supplied, the missing arguments are automatically calculated.

For sinking fund loans, specify the amount of the sinking fund deposit and the sinking fund rate.

For fixed principal loans, the payment is a fixed amount of principal which can be supplied with the argument pp.

Parameters
  • gr (float, Rate, TieredTime) – The interest rate of the loan.

  • period (float) – The time interval between payments, if the loan has regular payments.

  • term (float) – The term of the loan.

  • amt (float) – The loan amount.

  • cents (bool) – Whether you want the payments to be rounded to cents. Defaults to False.

  • sfr (float, Rate, TieredTime) – The sinking fund rate, if different from the loan interest rate.

  • sfd (float) – The sinking fund deposit amount.

  • sf_split (float) – If using a hybrid amortized/sinking loan, the % of the loan that is a sinking fund loan.

  • sfh_gr (float, Rate, TieredTime) – In the case of a hybrid loan, the loan interest rate of the sinking fund portion, if it differs from the amortization rate.

  • pp (float) – The principal payment, in the case of a fixed principal loan.