Au sein d’une équipe de 7 personnes, j’ai travaillé dans le service dédié au développement autour du progiciel SOPHIS RISK pour le Front Office, sur le périmètre Commodities. Cette équipe est en charge de plusieurs tâches, à savoir :
* Fournir à la direction des risques et aux traders des reportings présentant les indicateurs de risques
* Assurer la gestion des positions et le calcul de P&L
* Assurer la récupération des données de marché
* Gérer la création des deals dans Sophis
* Mettre en place et assurer le suivi d’un cube Olap contenant les données du périmètre Commodities (indicateur de risque, P&L, description des instruments….)
Je suis principalement intervenu sur la mise en place du cube Olap ainsi que sur l’implémentation des reportings, et dans une moindre mesure sur les autres tâches.
*Cube Olap : l’objectif est de pouvoir fournir un outil décisionnel contenant l’ensemble des indicateurs de risque, où les données peuvent être consultées via différents modes d’agrégation.
Mon rôle a été :
- le développement en C# de l’alimentation de données (calcul des sensibilités…)
- la modélisation dans Microsoft Analysis Services du cube Olap
- la mise en place d’un client lourd qui puisse permettre d’accéder et d’exploiter les données du cube
- la mise en place de reportings à partir de requêtes mdx dans le cube Olap.
*Implémentation des Reportings : l’objectif est de fournir les indicateurs de risque, les informations sur les instruments… à la direction des risques et aux traders. Ces reportings ont été développés en C# en s’appuyant sur l’apiSophis, qui effectue le calcul des indicateurs de risque (delta, gamma, theta..) et le calcul des positions. Les traitements sont générés par ControlM toutes les nuits, pour une mise à disposition des reportings le matin (fichier xml ou csv).
*Récupération des données de marché : un ensemble de traitements permettent de récupérer les données de marchés (prix...) et de les insérer dans Sophis RISK, en vue de leur exploitation dans les différents calculs.
*Gestion des positions et calcul de P&L : des développements spécifiques, exécutés sur des grids de calcul (datasynapse), permettent la récupération des positions dans Sophis et le calcul du P&L. Ces résultats sont ensuite utilisés dans plusieurs reportings fournis à la direction des risques ou aux traders.
*Gestion de la création des deals dans Sophis : module chargé de faire redescendre dans Sophis les deals créés par des applications tierces.
Cette mission, très orientée développement, m’a permis d’aborder des problématiques d’architecture (utilisation des design patterns Singleton, Factory, Facade), de me perfectionner sur les développements Winform ainsi que sur les bases de données (modélisation SQL, optimisation de requêtes), d’aborder différents modules/composants : Radarsoft, Grid Computing, api Sophis, ControlM, CFT.
Cette mission m’a également permis de découvrir et d’approfondir mes connaissances sur le marché des matières premières et le Forex.
Différentes technologies utilisées pour ce projet
1-Langage C# 2.0 ; 3.5 ; 4.0, Linq
2-Langage SQL
3-Base de données oracle
4-UML
6-Environnement Visual Studio 2005; Visual Studio 2008; Visual Studio 2010
7-Gestion de version avec TFS
8-Design Pattern
9-Méthodologie Scrum
10-SOPHIS
11-CFT
12-methodologie SCRUM
13-RadarSoft
14-GRID COMPUTING DATASYNAPSE
15-TOAD
16-CITRIX
17-Microsoft analysis services
18-Control
19-Generation et utilisation de fichier batch
Produits financiers :
*Commodities, swap, future, forward, indice, option, obligations, Forex
*Indicateur de risque : delta, gamma, theta, rho, vega, vegakt, crossgamma
J’ai travaillé au sein d’une équipe de 8 personnes, dans un service dédié au développement pour le Front Office. Cette équipe a pour tache de développer un Framework interne de type RAD ainsi que la mise en place d’applications dédiées aux gérants de portefeuille.
*Mise en place d’un Framework en interne
Ce Framework a pour objectif de faciliter et d’optimiser le développement des différentes applications développées pour le Front Office. Il permet aussi de capitaliser sur un ensemble de procédés, de conceptions qui sont récurrentes dans toutes les applications. Ce Framework fournit un ensemble de services :
-Composant de récupération et utilisation de données de marché : Il a pour but de récupérer des données de marché de différentes sources. Les données sont principalement récupérées de Bloomberg. Mais elles peuvent aussi être récupérées de la base référentielle.
-Composant de création de GUI : Permet la création rapide et facile de grille et d’interface graphique basée sur le pattern MVP. De plus, il assure un ensemble de fonctionnalités telles que :
Le binding automatique entre l‘interface graphique et les données, la validation de données, la gestion des menus, le formatage des données, la gestion du style, la gestion des droits utilisateurs, la gestion de la confidentialité, gestion de l’export sous Excel.
Les interfaces graphiques sont basées sur la librairie graphique Infragistics.
-Composant de création d’écran d’ordre : Permet de créer rapidement des écrans de passage et de recherche d’ordre en fonction des différents types d’instruments.
-Composant modélisant le Business Model : Assure la modélisation des différentes entités du SI et la modélisation des instruments financiers. De plus, il permet le chargement des entités (ex : instrument, position, ordre…) et gère l’ensemble des liens entre elles.
-Composant de messaging : Permet d’effectuer la gestion (envoie, réception, configuration) de mails. Il assure aussi la gestion des notifications.
-Composant de tests de Non Regression : C’est un projet qui contient un ensemble tests de non régression sur l’ensemble des composants du Framework.
Les interfaces graphiques de ce composant ont été développées en WPF.
-Composant computeStock et rapprochement : Permet de calculer les stocks et d’effectuer des rapprochements entre les stocks en local (pour chaque application) et les stocks se trouvant dans la base référentielle.
-Tests unitaires : C’est un projet qui contient un ensemble de tests unitaires sur les différents composants.
*Développement de plusieurs applications
-Application de gestion de prêt de titres
Cet outil a pour objectif d’optimiser l’activité de prêt de titres. En effet, la table d’intermédiation de Natixis effectue des prêts de titres à différentes contreparties afin que ses derniers puissent réaliser leurs opérations. Ces contreparties en retour versent des fees à Natixis en fonction des titres qui leurs ont été prêtés. Avant d’effectuer ce prêt, les gérants chez Natixis doivent s’assurer d’un certains nombre de critéres. A savoir :
+ Ratio de contrepartie
+ Ratio PEA
+ Titres interdits
+ Ratio AG
Une fois tous ses critères satisfaits, le prêt peut être effectué.
Cette application se charge donc d’effectuer automatiquement la vérification de tous ces critères et d’indiquer au gérant qu’il peut prêter ou non un titre.
C’est une application winform est basée sur le Framework interne.
-Application de gestion de produits structurés
Elle a pour objectif d’optimiser la gestion des produits structurés. Elle permet essentiellement de gérer des portefeuilles qui répliquent un indice donnée (en générale le CAC 40). Elle assure les fonctionnalités suivantes :
+ Saisi et passage d’ordre
+ Suivi de positions
+ Calcul des performances d’un portefeuille par rapport à un indice
+ Révocation de swap
+ Ratio de convergence avec un indice
+ Gestion de la collecte et la décollecte
+ Gestion d’indice
+ Création de pension
-Application de gestion actions
Elle est destinée aux gérants de la ligne action. Elle intègre un ensemble de formule qui permettent le calcul de la performance d’un portefeuille. Elle assure les fonctionnalités suivantes :
+ Performance d’un portefeuille par rapport à un benchmark ou un indice en temps réel
+ Suivi de position
+ Envoi d’ordres sur les instruments négociables (actions, dérivés actions)
+ Collecte
Produits financiers :
Actions , Options , Swap ( taux , cambiste ,performance) , OST , Indice, Benchmark , Obligations , Bon de tresor ,Pension , Devise , Future OPCVM, TCN
Différentes technologies utilisées pour ce projet
1-Langage C# 2.0 ; 3.5 ; 4.0, Linq
2-Langage SQL
3-Base de données SQL Server 2000, 2008
4-Base de données SYBASE
5-UML
6-Environnement Visual Studio 2005 ; Visual Studio 2008
7-Gestion de version avec VSS, SVN.
8-Design Pattern
9-Méthodologie Scrum
10-Cruise Control
11-Bloomberg
12-WPF et MVVM
13-Infragistics
14-Nunit
15-Ant
16-MVP
17-Unity
18- Validation Application Block
*Développement d’une application web en dotnet (vb.net et asp.net)
Cette application a été développée en asp.net et vb.net. Elle interface une base SQL Server 2000. Cet outil est destiné à implémenter un ensemble de workflow.
Différentes technologies utilisées pour ce projet
1- Langage vb.net, asp.net, css
2- Fichier XML (manipulation de fichier XML à partir de vb.net)
3- Langage SQL
4- Base de données SQL Server 2000
5- Environnement Visual Studio 2005
6- UML
7- Gestion de version avec VSS
8- Workflow
*Mise en place d’un outil de tests de non régressions en C#
Cette application à pour objectif de ...