CALCULS FINANCIERS EN« J »

Robert Coquidé

 

 

0!:0<'c:\w\j3\user\finances.js'        NB. Chargement de la zone

 

Notice d’emploi

   

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 3 (I   ) : part d’intérêt composant une échéance

       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.

 

Détails de programmation

 

   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.------------------------------------------------------------