Section courante

A propos

Section administrative du site

Il est souvent frustrant de constater que certaines formules financières avancées sont facilement accessibles dans des tableurs populaires, mais deviennent étonnamment difficiles à reproduire lorsqu'on souhaite les intégrer dans un programme informatique. Les logiciels tels que Lotus 1-2-3, Quattro Pro ou encore les tableurs modernes offrent une vaste bibliothèque de fonctions permettant d'effectuer des calculs financiers complexes sans que l'utilisateur ait à connaître les détails mathématiques sous-jacents. Toutefois, lorsqu'un développeur désire automatiser ces mêmes calculs dans une application Delphi, Kylix ou Lazarus, il doit généralement recréer lui-même les algorithmes nécessaires.

Parmi ces fonctions particulièrement utiles figure la fonction IPAYMT, appelée « Interest Payment » en anglais ou « Intérêt » dans certaines versions françaises des tableurs. Cette fonction permet de déterminer la portion correspondant aux intérêts dans un versement donné d'un emprunt ou d'un prêt. Elle est fréquemment utilisée dans les domaines de la finance, de la comptabilité, de la gestion hypothécaire et de l'analyse d'investissements afin de comprendre comment les paiements périodiques se répartissent entre le remboursement du capital et le paiement des intérêts.

La fonction IPAYMT s'avère particulièrement précieuse lorsqu'il est nécessaire de produire des tableaux d'amortissement détaillés ou de simuler différents scénarios de financement. Grâce à elle, il devient possible de connaître avec précision la charge d'intérêt associée à une période donnée sans avoir à effectuer manuellement de longs calculs financiers. Son utilisation facilite ainsi l'évaluation du coût réel d'un emprunt et permet de mieux comprendre l'évolution d'une dette au fil du temps.

Le programme Delphi présenté ci-dessous reproduit fidèlement le comportement de cette fonction financière. Il s'appuie sur plusieurs fonctions auxiliaires permettant de calculer la valeur future d'un prêt ainsi que le montant des versements périodiques. En combinant ces calculs, il devient possible de déterminer la part exacte des intérêts payés à une période donnée d'un prêt hypothécaire. Dans l'exemple fourni, le programme calcule la composante intérêt d'un emprunt hypothécaire de 200 000 dollars remboursé sur une période de trente ans à un taux annuel de 15 %. À l'aide de ce code source, vous trouverez la réponse que vous souhaitez tout en découvrant les mécanismes mathématiques qui se cachent derrière l'une des fonctions financières les plus utilisées des tableurs classiques :

  1. Program IPaymtSource;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. Uses SysUtils;
  6.  
  7. Function FVal(Rate,Nper,Pmt,PV,PType:Real):Real;
  8. Var
  9.  F:Real;
  10. Begin
  11.  F:=Exp(NPer*Ln(1+Rate));
  12.  If Abs(Rate)<1E-6Then
  13.   FVal:=-Pmt*Nper*(1+(Nper-1)*Rate/2)*(1+Rate*PType)-PV*F
  14.  Else
  15.   FVal:=Pmt*(1-F)*(1/Rate+PType)-PV*F;
  16. End;
  17.      
  18. Function Paymt(Rate,NPer,PV,FV,PType:Real):Real;
  19. Var
  20.  F:Real;
  21. Begin
  22.  F:=Exp(Nper*Ln(1+Rate));
  23.  Paymt:=(FV+PV*F)*Rate/((1+Rate*PType)*(1-F));
  24. End;
  25.      
  26. Function IPAYMT(Rate,Per,NPer,PV,FV,PType:Real):Real;Near;Begin
  27.  IPayMt:=Rate*FVal(Rate,Per-PType-1,PayMt(Rate,NPer,PV,FV,PType),PV,PType);
  28. End;
  29.      
  30. BEGIN
  31.  WriteLn('Prêt hypothécaire de 30 ans à 15% de 200 000$:');
  32.  WriteLn(IPAYMT(0.15/12.0,2*12,30*12,200000,2,0):4:2);
  33. END.

on obtiendra le résultat suivant :

Prêt hypothécaire de 30 ans à 15% de 200 000$:
-2490.45$

Voir également

Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - «INTERESTPAYMENT»

Dernière mise à jour : Dimanche, le 17 août 2014