CALCULS FINANCIERS EN« J »
Robert Coquidé
0!:0<'c:\w\j3\user\finances.js' NB. Chargement de la zone
vc =. tp
vcap va tp =. vc
taux va
va
=. tp
vact vc
ta =. np
tann tp tp =. np tper
ta
vc : valeur capitalisée
(remboursée) va :
valeur actualisée (empruntée)
ta : taux annuel
(ou nominal) tp :
taux périodique
np : nombre de périodes
(ou échéances) par an. (mensuel, trimestriel…)
vcr =. tp vcap_rente
ech var =. tp vact_rente
ech
vcr : valeur capitalisée d’une
rente var : valeur actualisée d’une rente
ech : vecteur des échéances
constantes ou non
ech_c =. (tp
rente_cste ne) va
ech_c : échéance constante ne : nombre d’échéances
tp =. va
tp_rente ech
ech : vecteur des échéances
constantes ou non
tab_echeances
=. ne (np echeancier ta)
va
ta : taux annuel (ou nominal) ne : nombre
d’échéances
np : nombre de périodes (ou
nombre d’échéances) par an
période : intervalle de temps
constant séparant 2 échéances
(
1 : période = année ; 2 : période = 6
mois )
(
3 : période = 4 mois ; 4 :
période = 3 mois )
(
6 : période = 2 mois ; 12
: période = 1 mois )
tab_echeances : tableau de 5 colonnes
constituant un échéancier
col 1 (No) :
numéro de l’échéance
col 2 (Ve) :
valeur de l’échéance constante
col 4 (C ) : part de capital composant une échéance
col 5 (Vr) :
valeur de remboursement (ou valeur résiduelle)
nae =. (
va nb_ech
ech_c) tp
nae : nombre approché
d’échéances constantes (on a ne =. partie entière de nae) Il faut ajouter une
échéance de valeur inférieure.
vcap =.13:'y.*>:x.' NB. valeur capitalisée
vact
=.13:'y.%>:x.' NB. valeur actualisée
taux =.13:'_1+y.%x.' NB. calcul
du taux
tann
=.13:'_1+(1+y.)^x.' NB.
taux annuel
tper =.13:'_1+(1+y.)^% x.' NB.
taux périodique
vcap_rente
=.13:'+/y.*(1+x.)^|.i.#y.' NB. val.
cap.
rente
vact_rente =.13:'+/y.%(1+x.)^1+i.#y.' NB. val. act. rente
rente_cste =.2:'y.*m.%1-(1+m.)^-n.' NB. échéance cste
tp_rente
=.3:0 NB.
Calcul du taux périodique d’une rente
[: NB. d’échéances constantes ou
non.
:
i=.0[n=.#y.[t=.0.05
while. 16>i=.>:i do.
t=.t+((+/y.%(1+t)^1+i.n)-x.)%+/y.*(1+i.n)%(1+t)^2+i.n
end.
t
)
Remarque : On utilise ici la
formule de NEWTON permettant le calcul
d’une racine d’une équation. En
partant de la valeur initiale 0.05 l’expérience prouve que 16
itérations suffisent pour atteindre la précision limite (la valeur 16 peut être
modifiée dans le « while »).
echeancier
=.2 : 0 NB. calcul
des éléments du tableau d’un échéancier
[:
:
r=.((t=.m.tper n.) rente_cste x.) y.
c=.r– i=.t*y.,}: v=.y.*1-(_1+(1+t)^j=.1+i.x.)%_1+(1+t)^x.
s=.'No';' Ec';' I';' C';' Vr'
s,:(f j);(u f x.$r);(u f i);(u f c);(u=.3.2 + >.10^.y.)(f=.":&,.)v
)
Remarque : f est un
pro-verbe local (sous forme tacite) inconnu hors exécution de la
pro-conjonction
« echeancier ».
nb_ech =.2:'-(1+y.)^.1-m.*y.%n.'
NB. Nombre
approché d’échéances
Exemples d’utilisation
1) Taux semestriel (2 échéances
par an) quand le taux annuel est 8% :
2 tper 0.08
0.0392305
2) Taux annuel correspondant
à un taux mensuel de 1% :
12 tann 0.01
0.126825
3) Taux mensuel correspondant à
un taux trimestriel de 2% :
12 tper 4
tann 0.02
0.00662271
4) Taux annuel de 10000
F remboursés en 5 échéances semestrielles
(2 échéances par an) non constantes ( 2000
1000 3000 4000
2000 ) :
2 tann 10000
tp_rente 2000 1000
3000 4000 2000
0.120641 NB.
C’est le taux annuel (ou nominal) pratiqué
5) Échéancier pour
1000000 F remboursés en 12 échéances trimestrielles constantes (4 versements
par an), au taux annuel (ou
nominal) de 5,5 % :
12 (4 echeancier 0.055) 1000000
ÚÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ¿
³No³Ec ³I ³C ³Vr ³
ÃÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄ´
³ 1³ 90811.42³ 13475.17³ 77336.25³922663.75³
³ 2³ 90811.42³ 12433.05³ 78378.37³844285.38³
³ 3³ 90811.42³ 11376.89³ 79434.53³764850.85³
³ 4³ 90811.42³ 10306.50³ 80504.93³684345.93³
³ 5³ 90811.42³ 9221.68 ³ 81589.74³602756.18³
³ 6³ 90811.42³ 8122.24 ³ 82689.18³520067.00³
³ 7³ 90811.42³ 7007.99 ³ 83803.43³436263.57³
³ 8³ 90811.42³ 5878.73 ³ 84932.70³351330.88³
³ 9³ 90811.42³ 4734.24 ³ 86077.18³265253.70³
³10³ 90811.42³ 3574.34 ³ 87237.08³178016.61³
³11³ 90811.42³ 2398.80 ³ 88412.62³ 89603.99³
³12³ 90811.42³ 1207.43 ³ 89603.99³0.00 ³
ÀÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÙ
4 tann 1000000
tp_rente 12 $
90811.42
NB. Vérification
0.055 NB.
C’est tout bon !
6) Pour payer un meuble de
8000 F en 12 mensualités, un vendeur propose d’ajouter 11,5% et de diviser par
12. Quel est le « vrai » taux annuel ?
12 tann va tp_rente 12 $ 12 %~ (va=.8000)*(1+0.115)
0.226475 NB. Plus de 22,6% ! Si ce n’est pas de l’usure, ça y ressemble !
7) Prêt de 10000 F, 18
mensualités constantes, taux annuel « avoué » 8% ,
« frais de dossier » 400 F payables avec la 1re échéance.
Quel est le vrai taux ?
12 tann 10000 tp_rente (r+400),17$r=.((12 tper
0.08) rente_cste 18) 10000
0.137956 NB. Taux annuel de presque 13,8% et non
8%
! ! ! ! ! !
NB.
finances.js R.Coquide
vcap=. 13 : 'y.*>:x.'
vact=. 13: 'y.%>:x.'
taux=. 13: '_1+y.%x.'
tann=. 13: '_1+(1+y.)^x.'
tper=. 13: '_1+(1+y.)^%x.'
vcap_rente =. 13: '+/y.*(1+x.)^|.i.#y.'
vact_rente =. 13: '+/y.%(1+x.)^1+i.#y.'
rente_cste =. 2: 'y.*m.%1-(1+m.)^-n.'
tp_rente =. 3:0
[:
:
i=.
0
[n=.#y.
[t
=.
0.05
while. 25>i=.>:i do.
t=.t+((+/y.%(1+t)^1+i.n)x.)%+/y.*(1+i.n)%(1+t)^2+i.n
end.t)
echeancier =. 2 : 0
[:
:
r =. ((t =. m. tper n.)rente_cste x.) y.
c =. r-i =. t*y.,}:v=.y.*1(_1+(1+t)^j=.1+i.x.)%_1+(1+t)^x.
s =.'No';' Ec';'
I';' C';' Vr'
s,:(f j);(u f x. $ r);(u f i);(u f c);(u=.3.2+>.10^.y.)(f=.":&,.)v
)
nb_ech
=.
2
:
'-(1+y.)^.
1-m.*y.%n.' NB.
Nombre d echeances
NB.---------------------------------------------------------
NB.
NOTICE D EMPLOI
NB. vc =. vcap va
NB. va =. vact vc
NB. tp =. vc taux
va
NB.
NB. ta =. np tann
tp
NB. tp =. np tper
ta
NB.
NB. vcr =. tp
vcap_rente ech
NB.
var =. tp vact_rente ech
NB. vcr : valeur capitalisee d une rente
NB. tp : taux periodique
NB. ech : vecteur des echeances constantes ou non
NB. var : valeur actualisee d une rente
NB.
NB. ech_c =. (tp rente_cste
np) va
NB. ech_c : echeance constante
NB. tp : taux periodique
NB. np : nombre de
periodes (ou echeances)
NB. va : valeur actuelle
NB.
NB. tpr =. va tp_rente
ech
NB. tpr : taux periodique de la rente
NB. va : valeur actualisee
NB. ech : vecteur des echeances constantes ou non
NB.
NB. nae =. (va
nb_ech ech_c)
tp
NB. nae : nb. approche d echeances
NB. (on a ne =. partie entiere de nae)
NB.
NB. tab_echeances =. ne (np
echeancier ta) va
NB. ne : nombre d echeances
NB. np : nombre de
periodes par an
NB. ta : taux annuel (ou nominal)
NB. va : valeur actuelle (ou capital emprunte)
NB. (1 :
periode = annee ; 2 : periode = 6 mois )
NB. (3 :
periode = 4 mois; 4 : periode = 3 mois )
NB. (6 : periode
= 2 mois; 12 : periode = 1 mois )
NB. (0.5 : periode = 2 ans .... )
NB. periode = intervalle de
temps constant separant 2 echeances
NB. tab_echeances : tableau de 5 colonnes
NB. col 1 (No) : numero de l
echeance
NB. col 2 (Ve) : valeur de l
echeance
NB. col 3 (I ) : part d
interet composant l echeance
NB. col 4 (C ) : part de
capital composant l echeance
NB. col 5 (Vr) : valeur de
remboursement ( ou residuelle )
NB.
NB.------------------------------------------------------------