tmval.get_loan_pmt

tmval.annuity.get_loan_pmt(loan_amt: float, period: float, term: float, gr: Union[float, tmval.rate.Rate, tmval.growth.TieredTime], imd: str = 'immediate', gprog: float = 0.0, aprog: float = 0.0, cents=False) → dict[source]

Returns the loan payment schedule, given a loan amount, payment period, term, growth rate, and geometric or arithmetic progression of payments. If cents is set to True, uses the Daniel and Vaaler rounding algorithm to round each payment to cents, modifying the final payment such that there is no over/under payment of the loan due to rounding issues.

Parameters
  • loan_amt (float) – The loan amount to be repaid.

  • period (float) – The payment frequency, per fraction of a year.

  • term (float) – The term of the loan, in years.

  • gr (Accumulation, Callable, float, Rate) – Some kind of growth rate object specifying the interest rate

  • imd (str) – ‘immediate’ or ‘due’. Whether the payments occur at the end or beginning of each period, defaults to ‘immediate’.

  • gprog (float) – geometric progression, payments grow at a % of the previous payment per period, defaults to 0.

  • aprog (float) – arithmetic progression, payments grow by a constant amount each period, defaults to 0.

  • cents (bool) – Whether you want payments rounded to cents.

Returns

a dictionary of payment amounts along with the times of the payments

Return type

dict