Google est votre ami. Avec les mot "Excel duration", on trouve des résultats intéressants.
Pour des informations sur la duration, cf. http://fr.wikipedia.org/wiki/Duration , et la version anglaise qui est plus complète http://en.wikipedia.org/wiki/Bond_duration
Les caractéristiques de votre obligation sont incomplètes. Par exemple il n'est pas dit si le coupon est annuel (cas fréquent en France) ou semi-annuel, ou trimestriel, ou autre. La date de détachement du prochain coupon n'est précisée. Est-ce que le coupon est prépayé ou postpayé ? Il parait évident que le cours d'achat inclus le coupon couru, mais ce n'est pas dit. Parfois il existe des remboursements anticipés qui viennent compliquer les calculs, mais ce n'est peut-être pas votre cas. Le nominal de 1000 parait très élevé par rapport au prix d'achat et par rapport au prix de remboursement. Peut-être que le nominal n'est que de 100 en réalité. Ou bien, peut-être que le nominal serait en devise, alors que les prix d'achat et de remboursement seraient en pourcentage. Ou bien peut-être que le nominal aurait été confondu avec la quotité. Faut-il prendre en compte une conversion de devise ?
Avec toutes ces informations, vous devriez pouvoir calculer facilement la duration, car la formule est un polynome (alors que ce serait plus compliqué pour un calcul de taux actuariel où il faudrait faire une intégration et donc utiliser des logarithmes).
Edit :
La formule utilisée par Excel est expliquée sur la page http://www.excelfunctions.net/Exce [...] ction.html
Il s'agit d'une formule, et non-pas d'un code VBA.
Et j'ai oublié de dire qu'il faut savoir comment sont comptés les intérêts : avec des mois de 30 jours ou des mois ayant le nombre de jours rééls, avec des années de 360 jours, ou 365, ou des années ayant le nombre de jours rééls.
Message édité par olivthill le 29-11-2011 à 16:39:22