Cours VB.NET Accès aux Données
![Cours VB.NET Accès aux Données](/images/remos_downloads/id-2154.2154.pdf_thumb_prev.jpg)
UNIVERSITE SIDI MOHAMED BEN ABDELLAH
FACULTE DES SCIENCES ET TECHNIQUES FES
DEPARTEMENT D’INFORMATIQUE
PROJET DEFIN D’ETUDES
LICENCE SCIENCES ET TECHNIQUES GENIE INFORMATIQUE
Développement en d’application pour la gestion de portefeuille
Lieu de stage :CDG CAPITAL (RABAT)
Réalisé par : Encadré par :
HAMEDI MOUNIA Mr. Y.CHALACH (CDG CAPITAL)
Pr. A.ZARGHILI Pr. J.KHARROUBI
Soutenu le 15/06/2013 devant le jury composé de :
Mr. Y.CHALACH (CDG CAPITAL)
Pr. A.ZARGHILI
Pr. A.BEGDOURI
Pr. K.ABBA
Année Universitaire 2012-201
REMERCIEMENTS
Au terme de ce travail je tiens spécialement à remercier Monsieur Hamid Tawfiki, directeur général de la CDG capital. Qu’il trouve ici l’expression de ma sincère reconnaissance pour m’avoir permis d’effectuer ce stage au sein de son organisme.
Je tiens aussi à adresser mes vifs remerciements à tous mes professeurs et à tous les responsables de la Faculté des Sciences et Techniques de Fes qui ne ménagent aucun effort afin que les étudiants puissent mener à bien leurs études et profiter au maximum des connaissances acquises tout au long de leurs études. Leur patience, leur dévouement à leur travail seront gravés à jamais dans ma mémoire et resteront un exemple à suivre dans ma carrière professionnel.
Je tiens également à témoigner ma profonde gratitude et ma grande estime à Monsieur Arsalane ZARGHILI pour l’encadrement, l’aide précieuse et les conseils qu’il m’a prodigués tout au long de ce travail. Sa franchise, sa simplicité, sa pédagogie et son esprit ouvert m’ont été d’une utilité considérable.
C’est aussi un devoir et un plaisir de remercier Monsieur Youssef CHALACH, responsable Core Assets service Portfolio Management, pour avoir accepté de m’encadrer durant la période de mon projet de fin d’étude, pour tout le temps qu’il m’a octroyé et pour tous les conseils qu’il m’a donnés. Qu’il trouve ici l’expression de ma profonde gratitude pour l’intérêt qu’il a accordé à mon travail.
Je remercie chaleureusement Mr K.ABBAD et Mme A.BEGDOURI, qui m’ont honorée en acceptant de juger ce travail.
SOMMAIRE
INTRODUCTION 5
CHAPITRE I : PRESENTATION DE L’ENTREPRISE D’ACCUEIL 6
I. Groupe CDG (Caisse de Dépôt et de Gestion) .. 7
1. Présentation générale .7
2. missions de la CDG . ..7 II. CDG capital .10
1. Création de la CDG capital ..10
2. Activités de la CDG capital ..10
a. La corporate finance ..10
b. Les services bancaires et financiers ..11
c. La gestion d’actifs ..12
d. activités de marché .. .13 3. Filiale 14
4. Métiers 14
5. Département Asset Management .15
CHAPITRE II : COMPREHENSION DES NOTIONS DE BASE LIEES A LA GESTION DE PORTEFEUILLE ..16
I. Définition d’une action ..17
II. Définition d’une obligation 17
1. Principales caractéristiques d’une obligation ..18
2. Différence entre action et obligation ..18
III. Notion de portefeuille 19
IV. Notion de transaction .19
1. Transaction boursière ..19
2. Transaction financière ..19
CHAPITRE III: FORMALISATION DU BESOIN DE DEVELOPPEMENT ..21
I. Cadre du projet ..22
II. Objectifs du projet .23
III. Conception de la base de données .23
IV. Contenu de l’application 26
V. Charte graphique 27
VI. Planification du projet 27
CHAPITRE IV : DEVELOPPEMENT 29
I. Introduction ..30 II. Outils d’implémentation 30
1. Choix de technologies .30
2. ACCESS . 30
3. .31
a. Références utilisées .31
b. Classes vb .net .32
4. Objets utilisés 33
a. Label . ..33
b. TextBox 33
c. Button .. ..34
d. ComboBox 34
e. ListBox .35
f. DateTimePicker ..35
![](/images/remos_downloads/detail/21/id-2154.2154.pdf-001.jpg)
g. DataGridView .35
h. TabControl ..36
III. Requêtes SQL .37
IV. Interface graphique .38
1. Introduction .38
2. Sélection 40
3. Caractéristique du bond . ..42
4. Coupons .43
5. Bondprice ..44
6. Maturité résiduelle 45
7. Bouton initialiser 47
8. Gestion des exceptions ..47
CONCLUSION . .49
INTRODUCTION
Ce stage s’inscrit dans le cadre de mon cursus universitaire au sein de la Faculté des Sciences et Techniques de Fes et a pour but de mettre en pratique les connaissances acquises lors des trois années passées dans cette institution afin d’obtenir la licence en génie informatique. Ce stage de fin d’étude nous permet de nous initier à la recherche, d’appliquer au marché les connaissances acquises durant notre scolarité. Il permet également de placer les étudiants dans une situation se rapprochant le plus possible du monde du travail et d’acquérir un esprit technique.
Le stage que j’ai effectué est un stage de 2mois au sein de l’entreprise « CDG Capital » à Rabat, a pour thème «Développement en d’application pour la gestion de portefeuille ».
Ce projet concerne le développement d’une interface graphique répondant au besoin de l’utilisateur, permettant ainsi d’exploiter une base de données ACCESS avec des requêtes SQL et des algorithmes .net. L’interface comportera la sélection des obligations de plusieurs manières, l’affichage de leurs caractéristiques, l’affichage de tous les coupons correspondant à une obligation et leurs propriétés, la génération d’un fichier Excel et le calcul automatique de la maturité résiduelle et du taux d’interpolation.
Afin de comprendre la démarche que j’ai utilisée pour mener ce projet à son terme, mon rapport se structure de la façon suivante:
Le premier chapitre sera consacré à la présentation de l’entreprise qui a parrainé mon stage et du fonctionnement général et des services qu'elle offre. Ensuite, la définition générale des termes du monde financier dont j'ai eu besoin durant mon projet feront l’objet de la seconde partie. Par la suite j'ai expliqué l'aspect de mon projet, le besoin qu'il vient combler et sa planification. Enfin, dans la dernière partie, j'ai présenté les outils et les techniques auxquels j’ai eu recours suivis de la tâche de développement, en détaillant les différentes interfaces graphiques et leurs fonctionnements.
CHAPITRE I Présentation de l’entreprise d’accueil
I. GROUPE CDG
I.1. Présentation générale
La Caisse de Dépôt et de Gestion (CDG) est une institution financière, créée sous forme d’un établissement public en 1959 et a pour rôle central de recevoir, conserver et gérer des ressources d’épargne qui, par leur nature ou leur origine, requièrent une protection spéciale.
La CDG centralise l’équivalent de 35% du stock de l’épargne institutionnelle et totalise près de 100 milliards de dirhams en actifs sous gestion. Elle est le principal investisseur en valeurs du Trésor avec 50% environ des actifs sous gestion. Outre son rôle de leader sur le marché obligatoire primaire, la CDG assure 18% du marché secondaire des bons du Trésor et détient près de 5% de la capitalisation boursière. Acteur central du processus de transformation de l’épargne, la CDG agit également en tant que principal investisseur institutionnel.
Ainsi, et en plus de ses investissements directs, elle intervient activement dans l'économie nationale par l’intermédiaire de ses filiales et organismes gérés avec lesquels elle constitue un groupe important dont l’activité s’étend à différents secteurs.
Par sa vocation, son poids financier et la nature de ses interventions, le groupe Caisse de Dépôt et de Gestion constitue aujourd'hui un véritable agent de développement, et joue un rôle majeur en matière de dynamisation, d’animation et de développement des marchés.
I.2. Missions de la CDG
A l’horizon 2012, le groupe CDG aspire à devenir un acteur de référence à l’échelle nationale, sur tous les domaines (immobilier, tourisme, finance, prévoyance).
Il ambitionne également d’être un catalyseur des investissements dans le long terme en développant une expertise et un savoir-faire permettant de contribuer à la réalisation de grands projets territoriaux structurants et à la venue à maturité des marchés financiers.
La vision stratégique du groupe CDG comporte :
• La recherche de performances financières maximales dans la gestion des avoirs de ses
clients ;
• Un rôle de premier plan dans la venue à maturité des marchés financiers ;
• Un positionnement central dans la réforme des retraites ;
• Un rôle d’excellence pour le développement d’opérations d’aménagement urbain et territorial ;
• Une recherche de rentabilité maximale dans le cadre de ses missions de financement de projets.
La CDG est considérée aujourd’hui comme le principal centralisateur de l’épargne nationale avec des dépôts institutionnels (CNSS, RCAR, Fonds du travail…) et des dépôts facultatifs (Filiales du groupe CDG, fondation Mohammed VI, Fondation des œuvres sociales des FAR …)
La mission originelle de la CDG a ainsi évolué pour comprendre, outre la protection des fonds déposés, la recherche de performance financière dans la gestion des avoirs financiers de ses clients.
La CDG a été désignée comme un établissement dépositaire et gestionnaire des fonds issus de l’Assurance Maladie Obligatoire. Désormais, c’est une logique de partenariat mutuellement bénéfique qui régit la relation qu’entretient la CDG avec ses principaux déposants.
Par ailleurs et depuis sa création, la CDG a été un puissant vecteur du lancement, de la promotion et de l’animation du marché financier marocain. Aujourd’hui, le groupe reste un des principaux market-maker de la place puisqu’il détient une part de près de 32% sur le marché primaire des bons du trésor, de 18% sur le marché secondaire des bons du trésor et détient près de 5% de la capitalisation boursière.
Les portefeuilles obligataires et actions de la CDG ont atteint en 2007 respectivement près de 32 milliards et 9,2 milliards de dirhams. Les valeurs du Groupe CDG ont été choisies après une large consultation auprès du personnel de la Caisse de Dépôt et de Gestion : près de 1 000 personnes, réunies dans des workshops, ont participé à la définition des quatre valeurs du Groupe : Innovation, Synergie, Performance et Citoyenneté.
Pour que ces valeurs ne restent pas des vœux pieux, un séminaire «Valeurs et Management» a ensuite été organisé afin de déterminer des plans d’action opérationnels pour l’adhésion de chacun à ces valeurs et leur mise en œuvre dans la stratégie du Groupe CDG. Ainsi, ces valeurs constituent désormais, un référentiel quotidien pour le Groupe CDG et ses collaborateurs, qui s’engagent à en faire une source permanente de progrès.
Le Groupe CDG est un groupe diversifié, jouissant notamment d’un fort positionnement dans les métiers de la banque, finance et assurances, comptant une quinzaine de filiales et une trentaine de participations. L’objectif du Groupe est de représenter un levier de maturation du secteur financier, et de contribuer à la bonne gestion de l’épargne nationale.
II. CDG CAPITAL
II.1. Création de la CDG Capital
La CDG Capital est la banque d’affaires du groupe CDG. Elle a été créée en mars 2006 en tant que société anonyme et a été détenue à 100% par la CDG.
Dans le cadre de la restructuration de la CDG, la créance de CDG Capital vise à clarifier les missions du groupe et à améliorer sa gouvernance vis-à-vis des pouvoirs publics. Tout cela en optimisant la capacité d’intervention de la CDG comme instrument de développement du royaume et en améliorant la lisibilité de ses actions et de son bilan.
Elle se doit de clarifier son rôle et la nature de ses interventions vis-à-vis du public, afin de confronter une image appropriée à son positionnement dans le contexte économique et financier marocain.
La CDG vise à améliorer sa gestion interne en précisant les champs d’activités de chacune de ses entités du groupe tout en favorisant les synergies, en établissant des règles de fonctionnement communes efficaces et en mettant en place des modes de gestion adaptés à la vocation de chacune de ces entités.
Les objectifs principaux de la création de CDG Capital étaient d’une part de séparer les activités financières des autres activités opérationnelles et d’autre part, de différencier les rôles d’opérateur et d’investisseur financier.
II.2. Activités de la CDG capital
Aujourd'hui, les activités de CDG Capital se décomposent en 5 métiers : la corporate finance, les services bancaires et financiers, la gestion d’actifs, les activités de marchés et le capital investissement.
II.2.a? La corporate finance:
La Corporate finance ou finance d'entreprise est le domaine d'activité du service responsable des décisions et opérations financières, outils financiers et équilibres financiers des entreprises pour le compte des apporteurs de capitaux.
Les métiers de la Corporate Finance regroupent notamment les opérations d’origination, les opérations de conseil en fusions-acquisitions, ainsi que le montage de financements structurés et de projets complexes.
Le Corporate Finance de CDG Capital assure différents types de prestations spécialisées pour une clientèle corporate et institutionnelle :
- Opérations d’origination Debt & Equity.
- Opérations de financements structurés .
- Opérations de conseil et fusion & acquisition.
II.2.b- Les services bancaires et financiers:
En tant que banque d’investissement de référence sur le marché marocain, CDG Capital offre à ses clients institutionnels, Corporate ou particuliers, des services bancaires et financiers de très haut niveau.
Les services bancaires de CDG Capital permettent à chaque client d’optimiser la gestion de ses comptes et de sa trésorerie. Moyens de paiements, tenue de comptes, gestion de trésorerie ou encore opérations de placement et de financement, les services proposés sont dispensés dans de meilleures conditions par des experts dont la connaissance pointue de chaque dossier permet un conseil à haute valeur ajoutée et la construction d’une relation solide et durable.
¾ Les services bancaires:
Les services bancaires de CDG Capital permettent à chaque client d’optimiser la gestion de ses comptes et de sa trésorerie. Moyens de paiements, tenue de comptes, gestion de trésorerie ou encore opérations de placement et de financement, les services proposés sont dispensés dans de meilleures conditions par des experts dont la connaissance pointue de chaque dossier permet un conseil à haute valeur ajoutée et la construction d’une relation solide et durable.
¾ Les services financiers :
Les services financiers proposés par CDG Capital couvrent toute la gamme des offres les mieux adaptées aux besoins de chaque segment de clientèle. Conservation d’actifs, gestion et contrôle dépositaire des OPCVM et services aux émetteurs sont gérés par des professionnels reconnus, qui mettent leur rigueur et leur connaissance des subtilités du marché au service de la rentabilité de leurs clients.
Il y a également un service offert pour d'autres investisseurs du marché et qui est l’un des acteurs de référence incontesté Custody. Il consiste à gérer, pour le compte de ces investisseurs, toutes les opérations post-marché liées à leurs portefeuilles de titres.
II.2.c- La gestion d’actifs :
La gestion d'actifs financiers est une activité qui consiste à gérer les capitaux confiés sous des contraintes réglementaires tout en appliquant des politiques d'investissements définies, pour en tirer le meilleur rendement possible en fonction du risque choisi.
![](/images/remos_downloads/detail/21/id-2154.2154.pdf-024.jpg)
On distingue deux types de gestion d’actifs :
- La gestion sous mandat : qui passe par un contrat entre la société de gestion et le client. Le mandat de gestion ne s'adresse qu'à un seul client, mais le gestionnaire peut inclure des produits de gestion collective dans son mandat. Les actifs gérés sous mandat sont principalement constitués des portefeuilles des organismes gérés qui sont la Caisse Nationale de Retraite et d'Assurance (CNRA) et le Régime Collectif d’Assurance et de Retraite (RCAR), ainsi que quelques portefeuilles de fonds spécifiques.
- La gestion collective : propose des OPCVM (Organismes de Placements Collectifs en Valeurs Mobilières) qui sont des produits destinés à de nombreux porteurs qui en achètent des parts comme les SICAV (Sociétés d'Investissements à Capital Variable) et les FCP (Fonds Communs de Placements). La société filiale de CDG Capital, qui s’occupe de la gestion collective est la CDG Capital Gestion créée le 18 mai 1997. Celle-ci est spécialisée dans les marchés financiers s’appuyant sur l’expertise et le soutien du groupe CDG. Elle propose aux investisseurs sa connaissance du marché et met à leur service des outils performants d’analyse et de contrôle de risques. Cette compétence et cette expertise se concrétisent par une offre de produits ouverts sous diverses formes et destinés aux grands investisseurs. En effet, la gamme de CDG Capital Gestion compte huit OPCVM et couvre toute la palette des horizons à investissement. Produits actions, diversifiés, obligataires, obligataires court terme ou monétaires, ils sont adaptés aux besoins des différents clients, investisseurs institutionnels ou entreprises, et leur offrent un accès privilégié à tous les marchés marocains.
Les professionnels chargés de la gestion d’actifs sont souvent spécialistes d'un type de produit financier (Sicav, actions, obligations ) ou d'un marché.
On distingue donc quatre types de produits. Tout d’abord la gestion d’actions où l’argent est principalement investi en actions boursières. Ensuite la gestion de produits de taux tels que les produits obligataires et monétaires. Puis la gestion diversifiée qui a pour but de rechercher une optimisation de la diversification du portefeuille, investissant dans différentes catégories d'actifs, sur différents secteurs d'activité et différentes zones géographiques. Et enfin, la gestion alternative qui se divise principalement en deux types de gestion : la private equity et les gestions de type spéculatif (hedge funds).
II.2.d- Activités de marché :
Les activités de marchés de CDG capital sont nombreuses et attirent une vaste clientèle au niveau national et international. Elles sont organisées en plusieurs desk notamment dans la salle de marché et aussi grâce aux intermédiations boursières de sa filiale CDG Capital Bourse. Elles englobent une large gamme de produits et services pour les classes d’actifs tels que les actions et obligations en direct, les produits de taux et les produits de change, les produits structurés, la syndication …etc.
• Salle des marchés :
Cette salle de marchés possède plusieurs activités, notamment le marché des bons du trésor, le marché monétaire, le marché de la dette privée et le marché actions.
- Marché des Bons du Trésor : Cette activité de la salle des marchés a principalement pour objectif, en tant qu’Intermédiaire en Valeurs du Trésor, d’accompagner le Trésor dans son recours au marché de la dette intérieure, en assurant une participation régulière au niveau du marché primaire des Bons du Trésor, et de contribuer en tant que Market Maker à la liquidité du marché secondaire de la dette publique et privée.
- Marché Monétaire : Le Desk Monétaire finance quotidiennement le levier des différents desks de la salle (obligataire, action, sales et change) et les crédits accordés à la clientèle. Il opère également le placement des dépôts de la clientèle déposés au niveau de la banque.
- Marché de la Dette Privée : Cette activité concerne l’activité de placement de la dette privée obligataire où les taux d’intérêt sont la jonction des mondes réels et monétaires.
- Marché Actions : Cette activité consiste à faire du Trading pour le compte propre de CDG Capital dans l’objectif d’optimiser le rendement lié à cette activité.
• Intermédiation boursière : CDG Capital bourse :
La CDG Capital bourse qui est une filiale à 100 % de CDG capital, est une société de bourse créée en 1995 qui s’occupe essentiellement des intermédiations boursières.
Les principales activités de CDG Capital bourse sont l’activité intermédiation et la gestion privée.
II.5. Département Asset Management
La branche Asset Management de CDG Capital gère les actifs d’une clientèle diversifiée, corporate et institutionnelle, en adoptant des modes de gestion qui s’adaptent au profil et aux besoins spécifiques de chaque client (horizon de placement, aversion au risque…). Les allocations se font entre produits de taux, actions, et la gestion alternative. On peut également assister à des prises de participations directes dans le cas de la gestion sous mandat.
La présentation de l’entreprise, de son fonctionnement, des services qu’elle offre, nous incite à nous intéresser avant d’aborder quoi que ce soit à la compréhension de certaines notions de base associées à la gestion de portefeuilles. Cela fera l’objet de la seconde partie.
CHAPITRE II
Compréhension de notions de base liée à la gestion de portefeuille
Afin de bien comprendre et faire la distinction entre les termes employés dans ce rapport, qui régissent le milieu financier, il est essentiel de présenter une brève définition des notions principales.
I. DEFINITION D’UNE ACTION
On parle généralement d’action dans le cadre d’une société à capitaux telle que la société anonyme. Une action est un titre négociable représentant une fraction du capital social de la société que l’actionnaire détient.
Une société qui entre en Bourse engage une partie de son capital sous forme d'actions. Le nombre d'actions émis représente le capital engagé.
Une personne physique ou morale achetant des actions sur la place boursière devient alors un actionnaire associé de l'entreprise. L'action peut être au porteur ou nominative. Dans le 1er cas, le détenteur n'est pas connu de l'émetteur mais seulement du teneur de compte. Dans le second cas, le détenteur est connu de l'émetteur.
Ce placement est plus risqué que les obligations. Le cours de l'action dépend des bénéfices faits par la société mais aussi des prévisions de profit pour l'avenir, de sa situation, du secteur économique auquel elle se rattache, de la confiance et enfin de la conjoncture générale de l'économie du pays.
Si la société fait faillite, l'actionnaire perd la totalité de la somme qu'il a investie.
II. DEFINITION D’UNE OBLIGATION
Une obligation (en anglais : bond) est un titre qui matérialise la dette d’un emprunteur à l’égard du prêteur qui détient cette obligation. Il s’agit donc d’un titre de créance qui peut être librement négocié en bourse.
Au moment de l’émission cette obligation se caractérise par un certain nombre d’aspects et notamment :
- La valeur nominale
- L’échéancier des remboursements
- Les coupons versés (date de coupon et montant).
- La qualité de l’emprunteur.
Les obligations sont généralement remboursées in fine, c'est-à-dire en une seule fois. Toutefois, certaines obligations sont remboursées (« amorties ») progressivement au cours du temps jusqu’à l’échéance finale. On détermine généralement celles des obligations qui seront « amorties » à chaque échéance de remboursement par tirage au sort.
Le coupon représente le paiement des intérêts. Historiquement, chaque obligation était matérialisée par un titre en papier et il fallait détacher un coupon pour recevoir le paiement de l’intérêt. A chaque date de coupon correspondait un coupon numéroté différent. Cette matérialisation papier a disparu, mais le terme coupon est toujours utilisé.
II.1. LES PRINCIPALES CARACTERISTIQUES D’UNE OBLIGATION
L’obligation se caractérise par les principaux éléments suivants : le nom de l’émetteur, les prix d’émission et de remboursement, le taux d’intérêt nominal, la durée de vie et les modalités d’amortissement.
La valeur nominale : est la part d’emprunt représentée par l’obligation. C’est sur ce montant que sont calculés les coupons versés par l’émetteur.
Le taux d’intérêt nominal : Le montant des intérêts (coupons) annuels est directement en fonction du taux d’intérêt nominal appliqué à la valeur nominale. Généralement fixe, il est parfois variable, voire révisable.
La maturité de l’obligation : La maturité est la durée de vie de l’obligation. Le marché obligataire est un marché de long terme. Plus sa durée de vie est longue, plus le risque attaché à l’obligation est élevé.
Le coupon : correspond à l’intérêt, calculé à un taux sur la valeur nominale, perçu par le porteur de l’obligation. Par exemple : dans le cas d’une obligation simple à taux fixe : avec un nominal de 1000 Dhs et un taux d’intérêt nominal de 3,5%, le montant de l’intérêt annuel est de 1 000 × 3,5% = 35 Dhs
II.2. DIFFERENCE ENTRE ACTION ET OBLIGATION
Les actions et les obligations sont très différentes de par ce qu'elles représentent. Alors que l'action désigne un titre de propriété lié au capital social d'une société, cotée ou non, l'obligation est un titre de créances. L'obligation est donc basée sur les dettes d'une entreprise, d'un état, ou d'une collectivité locale alors que l'action est une part des capitaux propres d'une société par actions. Toute société composée d'actions n'est pas cotée sur le marché boursier, et toute société n'est pas une société d'actions. Il existe aussi des SARL, SNC ou SCI.
L'émission d'une obligation permet à l'émetteur de diversifier ses sources d'emprunts, et pour une action, de diversifier ses sources de financements.
Que ce soit pour l'obligation ou pour l'action, le souscripteur peut être un état, un particulier, un investisseur institutionnel ou encore une autre société. Tout dépendra des caractéristiques de l'émission.
III. NOTION DE PORTEFEUILLE
Un portefeuille est l'ensemble d'actifs financiers (options, actions, obligations, etc.) détenu par des investisseurs. Un portefeuille boursier est un compte de titres composé de lignes, chacune représentant un titre.
Par exemple, l’investisseur qui détient 300 actions d’une société A et 60 d’une société B aura un portefeuille contenant deux lignes.
IV. NOTION DE TRANSACTION
IV.1. Transaction boursière : Acquisition de titres
L'acquisition de titres est l'opération boursière par laquelle un investisseur achète une valeur mobilière. L'objectif de toute technique de placement de titres est de vendre ces titres à des investisseurs au meilleur prix à un moment donné.
IV.2. Transaction financière
Une opération financière est un événement contractuel d'achat ou de vente pour échanger un actif contre paiement.
Elle vise généralement à employer des capitaux disponibles ou susceptibles d'être mobilisés, dans la perspective d'obtenir un gain monétaire, ou à l'inverse à solder une opération précédente et à récupérer des liquidités.
Une opération financière peut être réalisée soit sur un marché organisé soit de gré à gré avec une institution financière ou toute autre contrepartie.
Les définitions données dans ce chapitre permettent d’aborder un peu plus sereinement la troisième partie de ce projet.
CHAPITRE III
Formalisation du besoin de développement
I. CADRE DU PROJET
La gestion d'actifs, sous entendu d'actifs financiers, aussi appelée gestion du portefeuille ou asset management, est une activité qui consiste à gérer les capitaux confiés dans le respect des contraintes règlementaires et contractuelles en appliquant les politiques d'investissements définies en interne, pour en tirer le meilleur rendement possible en fonction du risque choisi.
Afin de gérer et contrôler toutes les transactions l’équipe de gestion de porte feuille a eu recourt à une base de données de l’outil Kondor+ en plus d’une application existante. Vu que l’outil est inadapté pour la gestion des portefeuilles il était nécessaire de construire une autre application qui répond au besoin. Dans ce but, l’outil a été laissé tel quel et la base de données uniquement a été récupérée. Ensuite une interface a été créée, sur une application qui va extraire les informations de la base de données initiale et qui va les retransmettre sur une autre base de données ACCESS
A partir de cette base de données Access il y a une application développée en qui permet de l’exploiter et de générer le résultat sous format Excel ou interface graphique .net.
Ci-dessous un schéma récapitulant l’architecture du système d’information du service de gestion de portefeuilles :
II. OBJECTIFS ET PERIMETRES DU PROJET
La raison de ma présence en tant que stagiaire dans cette entreprise était la nécessité pour celle-ci de créer une application destinée à la gestion des portefeuilles.
Mon intervention consiste au développement d’une application en pour compléter l'exploitation de toute la base de données. Mon objectif durant ce stage est de :
- Comprendre l’architecture de la base de données
- Comprendre le besoin utilisateur
- Formaliser le besoin sous forme d’interfaces graphiques
- Développer les requêtes et les algorithmes .net
- Afficher le résultat sous forme d’interface graphique et ou Excel
III. CONCEPTION DE LA BASE DE DONNEES
Le besoin n’étant pas de concevoir la base de données, j’ai utilisé une base de données ACCESS déjà conçue. C’est une base de données selon un modèle standard de gestion des portes feuilles, de l’outil Kondor+ développé par Reuters. Kondor+ étant un progiciel édité par Misys (anciennement Effix puis Reuters Financial Software puis Turaz). Destiné à la salle de marché, il est utilisé par quelque 15000 traders, dans plus de 450 banques réparties dans quelque 60 pays.
![](/images/remos_downloads/detail/21/id-2154.2154.pdf-026.jpg)
Cette base de données est constituée des 28 tables suivantes :
Tables de la base de données
Mon application fait appel à 7 d’entres elles, reliées entre elles comme suit :
Table BondsACCESS
Cette table répertorie toutes les obligations et leurs caractéristiques :
• Bonds_Shortname : Le nom court de l’obligation
? Exemple: MA0000020042
• Bonds_Name : Le nom complet de l’obligation, qui reprend certaines caractéristiques
? Exemple: OBL BMCE 31/12/08 05Y 04,50
• IssueDate : La date d’émission de l’obligation
• FirstCouponDate : Le premier versement d’intérêt (appelé coupon), la périodicité est souvent annuelle.
• MaturityDate : La date d’échéance de l’obligation
• CouponRate : Le coupon attaché à une obligation est en fait le taux d'intérêt que verse cette obligation à son détenteur, en pourcentage.
• Amortization : Le mode de remboursement (on dit aussi «d'amortissement ») :
- en une seule fois à l'échéance (in fine)
- ou par tranches,
- ou encore jamais (obligations perpétuelles);
• Nature : La nature de l’obligation (BDT : Bond du trésor, CD : Certificat de dépôt bancaire …)
• Emetteur : Une obligation peut être émise par :
- un État dans sa propre devise, on parle alors d'emprunt d'État ;
- un État dans une autre devise que la sienne, on parle alors d'obligation souveraine;
- une entreprise du secteur public, un organisme public, une collectivité locale, on parle alors d'obligation du secteur public ;
- une entreprise privée, une association, ou tout autre personne morale, dont les Fonds communs de créances, et on parle alors d'obligation corporate.
• Spread : Un spread de taux est un écart de taux actuariel (qui permet de calculer le rendement réel d’une obligation), constaté sur le marché, entre le taux d’une obligation et le taux d’un emprunt d’Etat équivalent sans risque. Il sert à comparer les valeurs relatives des différents instruments de taux.
SinkingTableACCESS
Cette table répertorie tous les coupons des obligations et leurs propriétés :
• Bonds_Shortname : Le nom court de l’obligation
• Bonds_Name : Le nom complet de l’obligation
• CouponDate : Date de versement du coupon, par trimestre
• CouponAmount : Le flux qui correspond au coupon (intérêt)
• Capital: Le flux qui correspond au remboursement d’une partie ou de la totalité du capital
BondsPriceACCESS
Répertorie les prix des bons et leurs taux :
• Code : Le Bonds_Shortname
• Prix : Le prix du bond
• TauxInterpol : Taux d’interpolation de Bank Almaghrib
BondsDealsACCESS:
Liste les transactions réalisées sur les portefeuilles
• BondsDeals_Id: L’identificateur de la transaction
• TradeDate: Date de la transaction
• SettlementDate: Date de règlement
• Folders_ShortName: Le nom court du portefeuille
• Folders_Name : Le nom complet du portefeuille
• Bonds_Shortname : Le nom court de l’obligation
• Bonds_Name : Le nom complet de l’obligation
• Quantity : La quantité d’obligations de la transaction
• Yield : Le rendement de l’obligation
• Price : Le prix de l’obligation
• GrossAmount : Le montant brut globale de la transaction, la quantité des obligations * le prix
• NetAmount : Le montant net de la transaction
BondsPositionsACCESS
Liste les quantités de stock par portefeuille par titre et par date :
• PositionDate : La date
• Folders_Shortname : Le nom court du portefeuille
• Bonds_Shortname : Le nom complet du portefeuille
• Quantity : La quantité de titres présents dans le portefeuille
FolderACCESS
Liste des portefeuilles :
• Folders_Shortname : Le nom court du portefeuille
• Folders_Name : Le nom complet du portefeuille
• Type : Type de titre dans le porte feuille
IV. CONTENU DE L’APPLICATION
Il m’est demandé de développer une application destinée à la gestion des portefeuilles. Pour ce faire, une description détaillée s’impose :
Le projet aura pour principaux objectifs :
• Sélectionner un bond de différentes manières
• Afficher les caractéristiques d’un bond
• Afficher tous les coupons correspondant à un bond et leurs propriétés
![](/images/remos_downloads/detail/21/id-2154.2154.pdf-027.jpg)
• Générer un fichier Excel qui affiche le prix des bonds dans un intervalle de temps
• Calculer automatiquement la maturité résiduelle et le taux d’interpolation
V. CHARTE GRAPHIQUE
Les utilisateurs de l’application sont des personnes du domaine financier, d’où la nécessité d’une charte interactive, flexible et simple à l’utilisation afin qu’ils s’y retrouvent sans perte de temps. Les fonctionnalités doivent être regroupées en une seule interface suivant une bonne ergonomie afin que l’utilisateur ait toutes les propriétés à sa disposition.
L’interface doit reprendre les couleurs du logo de la CDG capital à savoir le blanc, le gris et le grenat.
VI. PLANIFICATION DU PROJET
La planification du projet est l’activité qui consiste à déterminer et à ordonnancer les tâches du projet, à estimer leurs charges et à déterminer les profils nécessaires à leur réalisation. L’objectif principal de la planification (le planning) est de suivre, communiquer l’avancement du projet et déterminer si les objectifs des tâches sont réalisés ou dépassés.
• Diagramme de GANTT
Le diagramme de GANTT est la technique et représentation graphique permettant de renseigner et situer dans le temps les tâches et ressources du projet .Voici le diagramme de GANTT que j’ai suivi :
DEVELOPPEMENT
I. Introduction
Dans ce chapitre j’aborderai plutôt l’aspect technique implémenté par mon application, à l’inverse du chapitre précédent consacré à l’aspect fonctionnel; je commencerai par présenter le choix de technologies, puis je présenterai l’ensemble des technologies et outils utilisés depuis la conception jusqu’à la réalisation.
II. Outils d’implémentation
II.1. Choix des technologies
VB a été choisi pour développer cette application en raison de sa facilité d’implémentation et son interface graphique adaptée. De plus une ancienne application existait en VBA EXCEL donc le développement a nécessité des développements minimes.
La possibilité d’accès direct à la base de données via office dans ACCESS a permis ce choix. Malgré cela un projet de migration vers SQL server est en cours afin d’optimiser performances, évolutivité, sécurité, fiabilité et récupération.
II.2. ACCESS
Microsoft Access (officiellement Microsoft Office Access) est un SGBD relationnel édité par Microsoft. Il fait partie de la suite bureautique MS Office Pro.
MS Access est composé de plusieurs programmes : le moteur de base de données Microsoft Jet, un éditeur graphique, une interface de type Query by Example pour manipuler les bases de données, et le langage de programmation Visual Basic for Applications. MS Access est un logiciel utilisant des fichiers au format Access (extension de fichier mdb pour Microsoft DataBase (extension *.accdb depuis la version 2007)). Il est compatible avec les requêtes SQL (sous certaines restrictions) et dispose d'une interface graphique pour saisir les requêtes (QBE - Query by Example - « Requête par l'exemple »). Il permet aussi de configurer, avec des assistants ou librement, des formulaires et sous-formulaires de saisie, des états imprimables (avec regroupements de données selon divers critères et des totalisations, sous-totalisations, conditionnelles ou non), des pages html liées aux données d'une base, des macros et des modules VBA.
Comme beaucoup de systèmes de gestion de bases de données relationnelles, ses données peuvent être utilisées dans des programmes écrits dans divers langages.
Les langages couramment utilisés avec Access sont le Visual Basic for Application (VBA) et les langages qui disposent de modules d'accès aux données pour les fichiers .mdb : Delphi de Borland, Visual Basic, C++ sous Visual Studio de Microsoft par exemple.
II.3. Visual Basic .net
Visual Basic .Net est un langage de programmation à la syntaxe similaire à celle de Visual Basic6.
Néanmoins, ces deux langages sont assez peu comparables dans la pratique tant l'évolution entre ceux-ci est énorme. Le principal changement étant sans conteste l'introduction de l'orientation objet dans le langage.
permet de développer en .Net via Visual Studio, c'est-à-dire seulement sur les systèmes d'exploitation Windows (98, 2000, XP, Vista, 7). Il existe cependant un projet visant à porter la plateforme DotNet (et donc ) sous Linux, MacOS et OpenBSD. Ce projet s'appelle Mono et il permet déjà de faire tourner nativement des applications .NET 2.0.
II.3.a. Références utilisées
Pour qu'une classe soit utilisée, il faut que le composant correspondant (la DLL) soit chargé. Si vous souhaitez utiliser un autre composant dans votre application et qu'il n'est pas chargé, il faut ajouter la référence de ce composant. Dans la fenêtre de l'explorateur de solutions, cliquez le bouton droit de la souris puis cliquez sur 'Ajouter une référence'. La boîte de dialogue 'Ajouter une référence de Visual Studio .NET' propose trois options :
.NET - Répertorie tous les composants .NET Framework pouvant être référencés. (Certains sont déjà chargés comme System..) et les composants extérieurs NET.
COM - Répertorie tous les composants COM pouvant être référencés (ceux qui fonctionnaient en VB6).
Projets - Répertorie tous les composants réutilisables créés dans des projets locaux. Voici la liste des références dont j’ai eu besoin dans mon application
II.3.b. Classes de
Quand on crée un nouveau projet, les Classes le plus souvent utilisées sont automatiquement chargées dans le projet. Lors de la création d'un nouveau projet sont automatiquement chargés:
Une partie du Framework () et le CLR la couche qui fait tourner le programme ( ).
Sont donc à disposition:
• Quelques espaces de nom contenant des classes du Framework:
System: espace de nom racine pour les types de données et le type objet.
: Classe contenant l'accès aux bases de données; en particulier
System.drawing,
System.Windows: Classes de l'interface utilisateur. Ce dernier contient les Controls et aussi:
Microsoft.VisualBasic qui contient la bibliothèque qui permet d'utiliser les instructions VB (MsgBox, IsNumeric, Chr, Asc ..)
Comme ces Classes sont chargées au départ cela permet d'emblée de créer des feuilles, des contrôles..(qui sont dans les WindowsForms et les Controls).Cela permet aussi d'utiliser les instructions VB.
Si on a besoin d'autres classes, il faut les importer:
Imports par exemple pour utiliser les fonctions mathématiques.
Imports pour les fichiers séquentiels, aléatoires
Imports System.Collections pour les Collections
Imports pour le reseau
II.4. Objet utilisés
Dans l’interface de mon application j’ai eu recours à plusieurs objets sur lesquels on peut ajouter des événements et modifier le contenu.
II.4.a. LABEL
Représente l'étiquette de texte pour un contrôle et fournit un support pour les touches d'accès. Cette classe fournit à la fois un support fonctionnel et visuel pour les touches d'accès (également connu sous le mnémonique). Il est fréquemment utilisé pour permettre l'accès rapide aux commandes clavier comme une zone de texte.
II.4.b TEXTBOX
Représente un contrôle qui peut être utilisé pour afficher ou modifier du texte non mis en forme.
Hierarchie d’héritage
System.Object
System.Windows.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.Media.Visual
System.Windows.UIElement
System.Windows.FrameworkElement
System.Windows.Controls.Control
System.Windows.Controls.Primitives.TextBoxBase
System.Windows.Controls.TextBox
II.4.c. BUTTON
Représente un contrôle bouton Windows qui réagit à l'événement ButtonBase.Click.
• Hierarchie d’héritage
System.Object
System.Windows.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.Media.Visual
System.Windows.UIElement
System.Windows.FrameworkElement
System.Windows.Controls.Control
System.Windows.Controls.ContentControl
System.Windows.Controls.Primitives.ButtonBase
System.Windows.Controls.Button
II.4.d. COMBOBOX
Un ComboBox affiche un champ d'édition de texte associé à un ListBox, permettant à l'utilisateur de sélectionner des éléments dans la liste ou d'entrer du texte. Par défaut, ComboBox affiche un champ d'édition avec une liste déroulante masquée. La propriété DropDownStyle détermine le style de la zone de liste déroulante à afficher. On peut entrer une valeur qui fournit une liste déroulante simple dans laquelle la liste est toujours affichée, une zone de liste déroulante dans laquelle la partie de texte n'est pas modifiable et on doit appuyer sur une flèche pour afficher la zone de liste déroulante, ou la zone de liste déroulante par défaut dans laquelle la partie de texte est modifiable et l'utilisateur doit appuyer sur la touche de direction pour afficher la liste. Pour afficher une liste que l'utilisateur ne peut pas modifier, on utilise un contrôle ListBox.
• Hierarchie d’héritage
![](/images/remos_downloads/detail/21/id-2154.2154.pdf-041.jpg)
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ListControl
System.Windows.Forms.ComboBox
II.4.e. LISTBOX
Le contrôle ListBox permet d'afficher une liste d'éléments dans laquelle l'utilisateur peut sélectionner en cliquant. Un contrôle ListBox peut fournir des sélections uniques ou multiples suivant la valeur de la propriété SelectionMode. ListBox fournit également la propriété MultiColumn, qui permet d'afficher des éléments dans plusieurs colonnes plutôt que dans une liste verticale. Cela permet au contrôle d'afficher les éléments de façon plus visible et évite à l'utilisateur de faire défiler la liste pour afficher un élément.
• Hierarchie d’héritage
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ListControl
System.Windows.Forms.ListBox
II.4.f. DATETIMEPICKER
Représente un contrôle Windows qui permet à l'utilisateur de sélectionner une date et une heure et pour afficher la date et l'heure dans un format spécifié.
• Hierarchie d’héritage
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.DateTimePicker
II.4.g. DATAGRIDVIEW
Affiche les données dans une grille personnalisable. Le contrôle DataGridView fournit une table personnalisable pour l'affichage des données. La classe DataGridView permet la personnalisation des cellules, des lignes, des colonnes et des bordures grâce à l'utilisation de propriétés telles que DefaultCellStyle, ColumnHeadersDefaultCellStyle, CellBorderStyle et GridColor. On peut utiliser un contrôle DataGridView pour afficher des données avec ou sans source de données sous-jacente. Sans spécifier une source de données, on peut créer des colonnes et des lignes qui contiennent des données et les ajouter directement au DataGridView. On peut également définir les propriétés DataSource et DataMember pour lier le DataGridView à une source de données et le remplir automatiquement avec des données.
Hierarchie d’héritage
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.DataGridView
II.4.h. TABCONTROL
Le TabControl gère un ensemble de pages d'onglets liées entre elles. Il contient des pages d'onglets qui sont représentées par des objets TabPage que vous ajoutez via la propriété TabPages. L'ordre des pages d'onglets dans cette collection correspond à l'ordre des onglets dans le contrôle.
L'utilisateur peut modifier le TabPage actuel en cliquant sur l'un des onglets du contrôle.
Hierarchie d’héritage
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.TabControl
III. Requêtes SQL
L’interface que j’ai développée regroupe plusieurs fonctionnalités, celles si ont fait appel à plusieurs requêtes SQL :
• “SELECT DISTINCT Bonds_Shortname FROM `BondsACCESS` ORDER BY
Bonds_Shortname
• “SELECT DISTINCT Bonds_Name FROM `BondsACCESS` ORDER BY Bonds_Name
• “SELECT DISTINCT Nature FROM `BondsACCESS` ORDER BY Nature
• “SELECT DISTINCT Bonds_Shortname FROM `BondsACCESS` WHERE Nature = '"
+ ComboBox3.SelectedItem + "' AND MaturityDate= #" +
.ToShortDateString + "# ORDER BY Bonds_Shortname"
• “SELECT DISTINCT Bonds_Name FROM `BondsACCESS` WHERE Nature = '" +
ComboBox3.SelectedItem + "' AND MaturityDate= #" +
.ToShortDateString + "# ORDER BY Bonds_Name"
• “SELECT Bonds_Name FROM `BondsACCESS` WHERE MaturityDate BETWEEN #" + .ToShortDateString + "# AND #" + .ToShortDateString + "#"
• “ SELECT Bonds_ShortName FROM `BondsACCESS` WHERE MaturityDate BETWEEN #" + .ToShortDateString + "# AND #" + .ToShortDateString + "#"
• “SELECT CouponDate , CouponAmount, Capital FROM `SinkingTableACCESS` WHERE Bonds_Name= '" + variable + "' AND CouponDate > #" +
.ToShortDateString + "#"
• “SELECT Folders_ShortName FROM `BondsPositionsACCESS` WHERE Bonds_ShortName = '" + variable + "' AND PositionDate = #" +
.ToShortDateString + "# AND Quantity > 0"
• "SELECT CouponDate , CouponAmount, Capital FROM `SinkingTableACCESS`
WHERE Bonds_Name= '" + variable + "' AND CouponDate > #" +
.ToShortDateString + "#"
• "SELECT Quantity FROM `BondsPositionsACCESS` WHERE Bonds_ShortName =
'" + Bonds_Shortname(variable) + "' AND PositionDate = #" +
.ToShortDateString + "# AND Quantity > 0"
• "SELECT Date , Prix, TauxInterpole, Sensibilite FROM `BondsPriceACCESS`
WHERE Code = '" + variable + "' AND Date BETWEEN #" + .ToShortDateString + "# AND #" +
.ToShortDateString + "#"
![](/images/remos_downloads/detail/21/id-2154.2154.pdf-042.jpg)
IV. Interface Graphique
IV.1. Introduction
L’interface que j’ai conçue est constituée de 5 parties, la première étant celle de la sélection d’un bond est divisée en 4onglets afin d’avoir plusieurs modes de sélection, les autres parties sont communes à tous les onglets.
IV.2. SELECTION
• SELECTION NORMAL
Le premier onglet contient les deux combobox, le premier correspond aux bondsname et le second aux bondshortname, ils sont tous deux remplis à l’aide de la requête sql directement de la table bondsACCESS, classés par ordre alphabétique. Les deux combobox sont liés, si un bondsname est sélectionné automatiquement le bondsshortname affiche celui qui lui correspond et vice versa. Cela permet de faire une
sélection soit par bondsname soit par bondshortname.
• SELECTIONMANUELLE
Une selection similaire à la précédente sauf que c’est l’utilisateur qui fait entrer le bondsname ou le bondsshortname dans le textbox. Tout comme la sélection précédente, les deux champs sont liés, si le premier affiche un bondsname automatiquement le second affiche le bonds short name correspondant.
• SELECTIONPARNATURE
L’utilisateur a parfois besoin de faire une sélection à partir de la nature de l’obligation ainsi que sa date d’échéance.
L’onglet est divisé en deux parties, une première permettant de sélectionner la nature et la maturitydate, et la seconde permettant de sélectionner un bond parmi une sélection restreinte.
Le combobox nature est rempli à partir d’une requête sql qui affiche toutes les natures présentes dans la table bondsACCESS sans redondance.
A l’aide d’un datetimepicker on peut sélectionner une date et la récupérer lors du traitement. Lors du clic sur le bouton rechercher, les combobox des bondsname et bondsshortname sont remplis à partir
de la table bondsACCESS par les bonds dont la date d’échéance est la date sélectionnée et la nature est celle sélectionnée.
• SELECTIONPARMATURITYDATE
Cet onglet permet une sélection des bons dont la date d’échéance est comprise entre la valeur les deux Datetimepicker.
IV.3. Caractéristiques du bond
Le bouton exécuter figurant sur tous les onglets de la sélection génère le remplissage des caractéristiques expliquées dans le premier chapitre :
• IssueDate : La date d’émission de l’obligation
• FirstCouponDate : Le premier versement d’intérêt
(appelé
couponMaturityDate : La
date d’échéance de l’obligation
• CouponRate : Le coupon attaché à une obligation est en fait le taux d'intérêt que verse cette obligation à son détenteur, en pourcentage.
• Amortization : Le mode de remboursement (on dit aussi «d'amortissement »)
• Nature : La nature de l’obligation (BDT : Bond du trésor, CD : Certificat de dépôt bancaire …)
• Emetteur : L’émetteur de l’obligation
• Spread : Un spread de taux est un écart de taux actuariel (qui permet de calculer le rendement réel d’une obligation), constaté sur le marché, entre le taux d’une obligation et le taux d’un emprunt d’Etat équivalent sans risque. Il sert à comparer les valeurs relatives des différents instruments de taux.
Exemple :
IV.4. Coupons
Ce groupe box permet d’afficher les coupons à partir d’une date donnée, compris dans un portefeuille, tout en affichant la quantité d’obligations dans le portefeuille.
Le bouton exécuter permet d’afficher dans le combobox foldershortname tous les folders supérieurs à la date entrée, à partir de la table Coupon. Lors de la sélection d’un folder la quantité s’affiche dans le texbox quantité et dans l’objet listbox une liste des coupons existants avec le
couponamount et le capital. Les coupons et leurs caractéristiques sont affichés sous forme de colonnes. La 4ème d’entre elle calcule la somme du CouponAmount et du Capital, ce qui correspond au montant à verser à la date CouponDate.
Exemple :
IV.5. Bondsprice
Génère un fichier Excel qui comprend un tableau affichant les prix des bonds, le taux d’interpolation et la sensibilité pour les dates comprises entre les deux dates des Datetimepicker.
Le taux figurant dans la table est calculé automatiquement avec une macro qui interpole la courbe des taux figurant dans le site de BankAlmaghrib
Dans la partie suivante de l’interface la courbe des taux est sélectionnée par l’utilisateur.
IV.6. Maturité résiduelle
La maturité résiduelle est la durée de vie restante à un actif financier. Après cette date, l'actif sera remboursé (obligation) ou n'aura plus aucune valeur (warrant). Une action n'a pas d'échéance. Ainsi elle peut vivre des décennies, jusqu'à la mort de l'entreprise. De nombreux instruments financiers ont, au contraire, une espérance de vie plus ou moins limitée. Au delà de cette date d'échéance, la valeur de l'instrument financier est nulle. C'est notamment le cas des certificats. La maturité résiduelle est donc un élément déterminant de la valeur d'un bien.
La date à laquelle on veut calculer la maturité résiduelle est sélectionnée à partir du Datetimepicker, la maturité résiduelle est alors la différence entre la date sélectionnée
et la date d’échéance du bond. Le résultat est donné en jours et en années.
Afin de calculer le taux de la maturité résiduelle, l’utilisateur remplit le DataGridView avec une courbe des taux.
Ensuite en cliquant sur le bouton générer l’application exécute une interpolation linéaire de la maturité résiduelle en année et affiche le résultat dans le textbox correspondant. L’interpolation linéaire est la méthode la plus simple pour estimer la valeur prise par une fonction continue entre deux points déterminés.
Le principe de l’interpolation linéaire est le suivant :
Supposons que l'on connaisse les valeurs prises par une fonction f en deux points et
La méthode consiste à approcher la fonction f par la fonction affinetelle que
et; cette fonction a pour équation (trois formulations équivalentes) :
Que l'on peut aussi écrire (formule de Taylor-Young au premier ordre) :
Ou encore :
Cette dernière formule correspond à la moyenne pondérée.
Exemple :
IV.7. Bouton initialiser
Le bouton initialiser tous les champs permet de vider tous les textboxs , les listboxs et comboboxs, d’initialiser les Datetimepicker à la date actuelle.
IV.8. Gestion des exceptions
Jusqu'ici j’ai supposé que tout se déroulait bien dans mon application. Mais ce n'est pas toujours le cas, des problèmes peuvent survenir. Pensez par exemple aux cas suivants : un combobox qui ne sélectionne aucune valeur, …
Les exceptions sont un moyen de gérer efficacement les erreurs qui pourraient survenir dans le programme ; on peut alors tenter de traiter ces erreurs, remettre le programme dans un état normal et reprendre l'exécution du programme.
Dans ce paragraphe, je vais traiter ces exceptions afin que l’application soit la plus robuste possible.
¾ Lors du clic sur le bouton exécuter de la sélection, si aucun bond n’est sélectionné un message d’erreur s’affiche.
¾ Si on veut afficher les coupons d’un bond sans avoir sélectionné de bond ou de
folder alors un message d’erreur s’affiche
¾ Si aucune maturité résiduelle n’est calculée et qu’on veut générer le taux d’interpolation un message box d’erreur s’affiche
CONCLUSION
Ce projet effectué au sein de la CDG Capital (Rabat) m’a permis de mieux découvrir le secteur des entreprises en passant de la théorie à la pratique par le biais des connaissances acquises durant les trois années d’étude.
L’application que j’ai développée dans mon sujet m’a appris à structurer et à mieux organiser l’étude d’un projet, de suivre une certaine méthodologie de travail et de m’initier à l’implémentation des divers méthodes et outils au sein d’une entreprise. Cela m’a permis de détecter les anomalies, la collecte des données, leur analyse et leur amélioration tout en respectant les délais de concrétisation du projet.
Ce stage m’ouvre également de larges horizons vers le domaine de la finance, domaine qui n’a jamais été abordé au cours de ses trois dernières années d’études. Le domaine des finances est incommensurable et fait partie intégrante de toutes les entreprises aussi petites soient-elles et l’informatique y joue un rôle primordial.
Cette expérience fut enrichissante sur le plan technique de part l’utilisation du logiciel que je maîtrise à présent, ainsi que les requêtes SQL en ACCESS, mais également sur le plan humain. J'ai pu développer mon sens de l'autonomie et des responsabilités, j'ai aussi enrichi mon sens relationnel avec les personnes internes à l'entreprise.
Durant ce projet j’ai réalisé une application en sur la gestion des portefeuilles afin d’améliorer et de faciliter l’exploitation de la base de données ACCESS à laquelle le département de gestion des portefeuilles se réfère.
En raison d’un projet de migration du service de gestion de portefeuilles d’une base de donnée ACCESS vers une base de données SQL server, une prolongation de stage d’un mois et demi m’a été proposé après ce stage afin d’enrichir mon expérience et découvrir un autre outil de travail.
Je garde de ce stage un excellent souvenir, il constitue désormais une expérience professionnelle valorisante et encourageante pour mon avenir.