130 likes | 300 Views
Reconstitution de la courbe des taux. David Co-Van Gildas Colin Sébastien Garon. Présentation. Reconstituer la courbe des zéro-coupons grâce à un ensemble d’obligations Méthode des moindres carrés généralisés avec contraintes Programmation en Java. Modèle (1). Entrée
E N D
Reconstitution de la courbe des taux David Co-Van Gildas Colin Sébastien Garon
Présentation • Reconstituer la courbe des zéro-coupons grâce à un ensemble d’obligations • Méthode des moindres carrés généralisés avec contraintes • Programmation en Java
Modèle (1) • Entrée • Liste d’obligations avec leur prix du marché • Nombre de splines du modèle, avec leur intervalles de validité • Sortie • Echéanciers des obligations • Courbe des zéro-coupons • Permet ainsi de pricer des obligations
Modèle (2) • Récupération des obligations • Depusi des échantillons tests • Depuis un fichier • Depuis l’Internet • Format • CSV avec « ; » comme séparateur d’élément (Modèle choisi sur Euronext)
Modèle (3) • MCOG • Contrainte du prix à l’instant t=0 : P = 1 • Contraintes de continuité C(0), C(1) et C(2) aux bornes des splines
Implémentation (1) • Utilisation des bibliothèques • JFreeChart, JCommon, JCalendar : Gestion des graphiques, des calendriers • Jama : Calcul matriciel • DataFile : Gestion de fichiers de données
Implémentation (2) • Structure du projet (src) • Data : classes de configuration • Main : classe de lancement principale • Model : classes des entités du modèle • View : classes de l’UI
Implémentation (3) • Liste des classes du modèle • DateSimple : Contient une date et permet les calculs sur des dates • Flux : correspond à un montant payé à une date donnée • Obligation : définit entièrement une obligation (valeur faciale, coupon, échéance…)
Implémentation (4) • Portefeuille : contient un ensemble d’obligations • Polynomial : Classe de polynôme • Spline : définit un polynôme sur un intervalle • SplineModel : définit une courbe formée de plusieurs splines mis bout à bout
Exemple (2) Bornes : 0 – 10 – 20 – 50
Exemple (3) Bornes : 0 – 5 – 15 – 50
Exemple (4) Bornes : 0 – 15 – 35 – 50
Exemple (5) Bornes : 0 – 15 – 40 – 50