Function ipmt

  • Compute the interest portion of a payment.

    Parameters

    • rate: number

      Rate of interest as decimal (not per cent) per period

    • per: number

      Interest paid against the loan changes during the life or the loan. The per is the payment period to calculate the interest amount

    • nper: number

      Number of compounding periods

    • pv: number

      Present value

    • fv: number = 0

      Future value

    • when: PaymentDueTime = PaymentDueTime.End

      When payments are due

    Returns number

    Interest portion of payment

    Since

    v0.0.12

    Examples

    What is the amortization schedule for a 1 year loan of $2500 at 8.24% interest per year compounded monthly?

    const principal = 2500
    const periods = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
    const ipmts = periods.map((per) => f.ipmt(0.0824 / 12, per, 1 * 12, principal))
    expect(ipmts).toEqual([
    -17.166666666666668,
    -15.789337457350777,
    -14.402550587464257,
    -13.006241114404524,
    -11.600343649629737,
    -10.18479235559687,
    -8.759520942678298,
    -7.324462666057678,
    -5.879550322604295,
    -4.424716247725826,
    -2.9598923121998877,
    -1.4850099189833388
    ])
    const interestpd = ipmts.reduce((a, b) => a + b, 0)
    expect(interestpd).toBeCloseTo(-112.98308424136215, 6)

    The periods variable represents the periods of the loan. Remember that financial equations start the period count at 1!

    Notes

    The total payment is made up of payment against principal plus interest.

    pmt = ppmt + ipmt
    

Generated using TypeDoc