qfinbox.tvm.loans.amortization_schedule

qfinbox.tvm.loans.amortization_schedule(principal: float, annual_rate: float, years: float, payments_per_year: int = 12) DataFrame[source]

Generate loan amortization schedule.

Parameters:
  • principal (float) – Loan principal amount.

  • annual_rate (float) – Annual interest rate (as decimal).

  • years (float) – Loan term in years.

  • payments_per_year (int, default 12) – Number of payments per year.

Returns:

Amortization schedule with columns: Payment, Interest, Principal, Balance.

Return type:

pd.DataFrame

Examples

>>> schedule = amortization_schedule(300000, 0.05, 30)
>>> schedule.head()
   Payment  Interest   Principal      Balance
0  1610.46   1250.00     360.46   299639.54
1  1610.46   1248.50     361.96   299277.58