simple.ijs

Script: ~addons/finance/finexec/basicfinance/simple.ijs
Contributor: William Szuch
Updated: 2022 6 25
Depend: nil
Definitions: loaded to locale base
Status: done
Script source: simple.ijs

Definitions for solving simple interest rate problems for
a constant simple interest rate over a period.

Equations:
NF

Definitions

E effectiveFromSimple, effectiveFromSimple_T
R r, rt
S s, simpleFromEffective, simpleFromEffective_T, sirate, sirate_E, st

effectiveFromSimple_T d Tacit form of effectiveFromSimple
simpleFromEffective_T d Tacit form of simpleFromEffective
sirate_E m Explicit form of sirate

effectiveFromSimple (dyad)

Form: explicit
Depend: nil
Calculate the effective interest rate for a time from the
simple interest rate for a time unit over a period.

Syntax

(S)effectiveFromSimple(T)
S = constant simple interest rate for one time unit over the period
T = number of time units in the period

Example

   (0.05)effectiveFromSimple(1)
0.05
   (0.05)effectiveFromSimple(3)
0.0476896
   (0.05)effectiveFromSimple(i. 10)
0 0.05 0.0488088 0.0476896 0.0466351 0.0456396 0.0446975 0.0438044 0.042956 0.0421489

r (monad)

Form: tacit
Depend: nil
Present value of 1 payable in 1 time unit
for a simple interest rate S.

Syntax

r(S)
S = simple interest rate for one time unit

Example

   r(0.05)
0.952381
   r(0 0.01 0.05 0.09)
1 0.990099 0.952381 0.917431

rt (dyad)

Form: tacit
Depend: nil
Present value of 1 payable in a period of T time units
for a constant simple interest rate S over the period.

Syntax

(S)rt(T)
S = constant simple interest rate for one time unit over the period
T = number of time units in the period

Example

   (0.05)rt(10)
0.666667
   (0.05)rt(0.1)
0.995025
   (0.05)rt(0.1 0.5 0.75 1)
0.995025 0.97561 0.963855 0.952381
   (0 0.05 0.07)rt(0 0.1 0.5 0.75 1)
1        1        1
1 0.995025 0.993049
1  0.97561 0.966184
1 0.963855 0.950119
1 0.952381 0.934579

s (monad)

Form: tacit
Depend: nil
Future value of 1 in 1 time unit
for a simple interest rate S.

Syntax

s(S)
S = simple interest rate for one time unit

Equation

NF

Example

   s(0.05)
1.05
   s(0 0.05 0.1 0.15)
1 1.05 1.1 1.15

simpleFromEffective (dyad)

Form: explicit
Depend: nil
Calculate the simple interest rate for a time from the
effective interest rate for a time unit over a period.

Syntax

(E)simpleFromEffective(T)
E = constant effective interest rate for one time unit over the period
T = number of time units in the period

Example

   (0.05)simpleFromEffective(1)
0.05
   (0.05)simpleFromEffective(3)
0.0525417
   (0.05)simpleFromEffective(i. 10)
0 0.05 0.05125 0.0525417 0.0538766 0.0552563 0.0566826 0.0581572 0.0596819 0.0612587

sirate (monad)

Form: tacit
Depend: nil
Calculate the simple interest rate for a
time unit from the amount at the start and end of a period.

Syntax

 sirate(A0;A1;T)
A0 = amount at start of a period
A1 = amount at end of the period
T =  period in time units

Example

  sirate(100;110;1)
0.1
   sirate(100;90;1)
 _0.1
   sirate(100;103;(91%365))
0.12033
   sirate(100;110;0.5 0.7 1 1.1)
0.2 0.142857 0.1 0.0909091

st (dyad)

Form: tacit
Depend: nil
Future value of 1 in T time units
for a simple interest rate S.

Syntax

(S)st(T)
S = constant simple interest rate for one time unit over the period
T = number of time units in the period

Example

   (0.05)st(0.6)
1.03
   (0.05)st(0 0.5 1.5)
1 1.025 1.075
   (0.05 0.07)st(0.1 0.5 0.75 1)
 1.005  1.007
 1.025  1.035
1.0375 1.0525
  1.05   1.07