lease.ijs

Script: ~addons/finance/finexec/basicfinance/lease.ijs
Contributor: William Szuch
Updated: 2022 6 25
Depend: ~addons/finance/finexec/ipm/mwrr.ijs
        ~addons/finance/finexec/basicfinance/compound.ijs
Definitions: loaded to locale base
Status: dev
Script source: lease.ijs

Definitions for lease calculation problems with
a constant effective interest rate over the lease term.
No rounding in calculations unles specified in the definition.
A yearly nominal interest rate payable monthly
is used in the calculation.
Lease payments are monthly in arrears with a ballooon
payment at the end of the lease with the final monthly payment.
For example a 36 month lease will have:
36 monthly payments 1 … 36 and
balloon payment at the end of month 36
Lease arrangements can have an Up Front Fee.

Definitions

F f
L leasePmt, leasePmtShd, leaseR

f (dyad)

Form: explicit
Depend: an
Definition to calculate the difference between loan amount
and the present value of lease monthly payments.
Used in leaseR with bisection to
Solve f(x) = 0

Syntax

(L;B;T;P)f(E)
L = loan amount
B = balloon payment - residual amount
T = term of lease in months(interger)
P = monthly lease payment
E = monthly effective interest rate

Example

(30000;10000;36;616.56)f(0.0358%12)

leasePmt (monad)

Form: explicit
Depend: an
Calculate the monthly lease repayments for a lease.
Lease payments are assumed to be paid in arrears with a final residual
balloon payment at the end of the term.

synrax: ~~~ leasePmt(L;B;R;T) L = loan amount B = balloon payment - residual amount R = yearly nominal interest rate payable monthly T = term of lease in months(interger) ~~~

Example

  leasePmt(20000;10000;0.075;36)
373.562
  leasePmt(30000;10000;0.0358;36)
616.584

leasePmtShd (monad)

Form: explicit
Depend: leasePmt
               loanBal
Calculate the monthly lease repayment schedule.
Interest and monthly payment paid at end of the month.

Syntax

([Opt])leasePmtShd(L;B;R;T)
[Opt] = optional result display:
        default numeric table with columns:
 Opt =  1 boxed  table with header
       'Month';'Bal Start';'Eff Rate';'Int';'Pmt';'Bal End'
L = loan amount
B = balloon payment - residual amount
R  = yearly nominal interest rate payable monthly
T = term of lease in months(interger)

Example

  leasePmtShd(20000;10000;0.075;36)
  (1)leasePmtShd(30000;10000;0.0358;36)

leaseR (monad)

Form: explicit
Depend: f
               bisection
Calculate the yearly nominal interest rate payable monthly
for a lease.
Using the Bisection Method.
The result is a two item list:
(1) monthly effective inteerest rate
(2) value of f(x) using the approximation ie: error

Syntax

(L;B;T;P)leaseR(A;B:[Tol])
L = loan amount
B = balloon payment - residual amount
T = term of lease in months(interger)
P = monthly lease payment
A,B = lower and upper values of initial range
[TOL] = default tolerence for solution 0.01

Example

  (20000;10000;36;373.56)leaseR(0;0.1;0.001)
0.00624986 0.000287248
  (30000;10000;36;616.56)leaseR(0;0.05;0.001)
0.00298219 _0.000491984