Logiciel de Gestion des Risques Financiers
Logiciel de Gestion des Risques Financiers
Information
Région:
États-Unis
Secteur:
Services Financiers et Bancaires
Type:
Web
Modèle d'engagement:
Temps et Matériaux
Durée:
App 1: 18 Mois, App 2: Environ 10 ans
Équipe:
Un chef d'équipe, 2 Développeurs Senior, 2 QA Ingénieur, 5-7 Développeurs Junior et Middle
ID:
680
Technologies utilisées
Java
GWT/GXT
hibernate
Apache Tomcat
MongoDB
Angular JS
iBatis
PostgreSQL
REST web services
spring

Client

Une société d'analyse commerciale basée dans la Silicon Valley a chargé Elinext de développer le logiciel d'évaluation des risques financiers.

Défis

Cette histoire a commencé en 2011, lorsqu'une société d'analyse basée à San Jose a contacté Elinext. Opérant sur plusieurs marchés, les entreprises clientes de cette société vendaient leurs produits dans différentes devises, ce qui faisait de la planification et du calcul des risques un défi dynamique. La société aidait ses clients à résoudre ce défi grâce à une application Web créée à l'aide de Visual Basic (appelons-la App 1). Les utilisateurs s'inscriraient sur la plate-forme et les analystes de la société effectueraient divers calculs liés aux devises pour eux. Faire tout le travail manuellement n'était pas efficace, et la mise à jour de la pile technologique était attendue depuis longtemps, alors la société a envisagé de reconstruire l'application Et, comme il n'y avait pas assez de développeurs internes pour corriger les bogues, ils cherchaient de l'aide. Finalement, la société a trouvé Elinext grâce à la publicité en ligne. Satisfaits de notre expertise et de nos prix, ils nous ont confié ce travail — et un voyage de plus d'une décennie a commencé.

Processus

Nous avons réuni une équipe dédiée de développeurs et de testeurs dirigée par un lead développeur. En cours de route, le client a effectué des tests, géré des serveurs et participé activement à la planification des versions. Chaque version comprenait 10 à 20 tâches que nous avons effectuées au cours du premier mois et suivies via Jira. En 2014, après avoir reconstruit une grande partie de l’App 1, le client a demandé de créer un module système supplémentaire. Et c'était une application pour calculer le coût réel des prêts et des actifs au fil du temps en fonction de l'amortissement du prêt, de son entretien et de la dynamique des taux d'intérêt.

Reconstruction de l'App 1

Les premiers jours la refonte de l'App 1 ont posé un défi de communication. Le client n'avait pas de business analysts technophile pour décrire la tâche à accomplir. Ce qu'ils ont fait, c'est de nous guider dans les grandes lignes de la logique de l'application conçue, parlant principalement le langage des financiers. Nous avons étudié la vaste documentation du projet et, en un peu plus d'un an, réécrit l'application à l'aide de Google Web Toolkit (GWT). Après trois mois de tests supplémentaires, l'application a été mise en ligne. Mais le travail ne s'est pas arrêté là. Plus tard, nous avons continué à collaborer en maintenant l'application, en ajoutant de nouvelles fonctionnalités et en corrigeant les bogues occasionnelles.

Développement de l'App 2 à Partir de Zéro

Lorsque nous avons commencé à travailler avec l’App 2, nous avions déjà parlé au client dans la langue. Dans l'ensemble, le processus reflétait celui de la création de l’App 1 et se déroulait bien jusqu'à ce que nous rencontrions un problème avec la plate-forme informatique MATLAB. Nous avons intégré l’App 2 à MATLAB pour fournir des calculs de coûts complexes sur plusieurs paramètres. Mais cela ne permettrait pas de traiter plusieurs threads en même temps. Par conséquent, si un utilisateur client lançait le processus de calcul, d'autres ne pourraient pas faire la même chose. Notre équipe a résolu ce problème en créant un module exécutif séparé et l'a configuré pour appeler le pool de processus Java chaque fois que nécessaire.

Assurance de la Qualité

Nous avons atteint presque 100% de couverture de test du système. Pour ce faire, notre équipe a utilisé environ 500 tests automatisés exécutés sur le serveur TeamCity la nuit et environ 650 tests unitaires.

Produit

Le produit - un logiciel complexe de gestion des risques financiers - se compose de deux applications: App 1 (pour calculer le coût des risques associés à plusieurs devises) et App 2 (pour déterminer le coût réel des prêts et des actifs au fil du temps). Les deux applications ont une chose en commun: elles prennent des données d'une autre application, App 3 (qui faisait auparavant partie de l’App 2). App 3 se connecte à un fournisseur de données de marché telles que les taux de prêt ou les taux de change et les transfère de là vers les App 1 et 2. Et ces données sont ensuite utilisées par les deux applications pour le calcul et la prévision. Jetons un coup d'œil aux modules clés du logiciel.

App 1: Configurations de l'entreprise et de l'entité

L'écran de configuration de l'entreprise permet aux gestionnaires de réseau d'intégrer les entreprises utilisateurs, en ajoutant ces détails:
  • informations commerciales générales
  • contreparties financières approuvées
  • périodes comptables
  • devises actives
  • régions
  • logique d'exposition automatisée
Si une entreprise a des subdivisions qui doivent être prises en compte, notre client peut décrire en termes généraux la logique de l'application développée, en parlant principalement un langage financier. La configuration de l'entité comprend les comptes du grand livre général de la subdivision et les conventions de négociation de devises.

App 1: Tableau de Bord de la Comptabilité de Couverture

Le tableau de bord de comptabilité de couverture affiche des graphiques permettant de suivre les calendriers d'échéance des dérivés, les risques de change par entité, les tendances et l'historique des taux.

App 1: Objet de Couverture et Gestion du Commerce

Dans le panneau de gestion du commerce, un opérateur peut enregistrer des opérations commerciales pour chaque client, en détaillant divers paramètres. Une opération peut être complétée avec des chiffres calculés à partir du taux de change actuel.

App 1: Sécurité: Rôles et Autorisations

Pour gérer les utilisateurs, attribuer des rôles et des autorisations, gérer les rôles et surveiller l'activité des utilisateurs à tous les niveaux, les opérateurs système peuvent utiliser le module de sécurité.

App 1: Période de Clôture

Lorsque la période de travail touche à sa fin fin, elle peut être fermée dans le module de Clôture de période. Dans ce module, divers paramètres de marché à marché (MTM) sont calculés pour chaque entité (par exemple, la valeur marchande dans la devise active). Les opérateurs peuvent configurer les paramètres des calculs MTM.

App 1: Rapports

Ce module propose deux types de rapports: les rapports réguliers et les rapports RTZ. Et les rapports réguliers sont ensuite décomposés en 50 autres sous-types tels que les stocks, la comptabilité, les éléments de couverture et autres. De plus, nous avons créé un rédacteur de rapports personnalisé à l'aide du moteur JasperReports.

App 1: Coffre-fort de stockage RTZ

Pour permettre aux utilisateurs du système de conserver leurs rapports et autres documents connexes en ligne et à portée de main, nous avons construit le coffre-fort de stockage RTZ.

App 2: Configuration

Le module de configuration de l’App 2 ressemble à celui de l’App 1. Les opérateurs peuvent également l'utiliser pour configurer les dossiers clients, gérer les utilisateurs et les rôles, renseigner les informations sur l'entreprise, ajouter des entités et personnaliser des stratégies de trading.

App 2: Évaluations et Gestion du Commerce

Les évaluations sont le principal module de calcul de l'App 2. En l'utilisant, les opérateurs peuvent surveiller les tarifs reçus de l’App 3 et gérer d'autres données connexes. Les opérations commerciales disponibles dans Gestion du Commerce sont livrées avec des dizaines de paramètres et d'options, tels que les étapes de paiement, les étapes de réception et bien d'autres. Alors que l'App 1 fournit des prévisions statiques à un moment donné, ce module peut être utilisé pour présenter la volatilité attendue des coûts de deux manières: courbes et matrices. Tout comme les courbes, les matrices montrent les changements de coûts par rapport aux taux d'intérêt clés et à la grève — mais il y a aussi une troisième dimension, c'est le terme. La visualisation est basée sur les données de l'App 3, y compris la valeur marchande, les intérêts courus, le pv01, le seuil de rentabilité, la réinitialisation active et bien d'autres. App 2: Période de Clôture Ce module est similaire au module de clôture de période présenté dans App 1. Il peut être utilisé pour compléter des périodes et créer des rapports. App 2: Rapports Le module de rapport de l'App 2 est plus simple que celui de l'App 1. Il comprend quatre types de rapports, tels que MTM Détail (base), MTM Historique (dates passées), ME Résumé, Personnalisé (un constructeur de rapports personnalisé pour utiliser toutes les feuilles de calcul et tous les calculs). Les utilisateurs peuvent créer des rapports personnalisés en plaçant des balises xls dans les documents. Les opérateurs peuvent planifier l'exécution des rapports à l'avance. Et les utilisateurs peuvent s'abonner pour obtenir automatiquement des rapports spécifiques.

Résultats

Depuis onze ans, le client a bénéficié de notre aide. Et le nombre de grandes entreprises utilisant le système a augmenté de dizaines à mesure que nous le développions. En 2022, le PDG de l'entreprise a pris sa retraite et a vendu le produit – le logiciel de gestion des risques financiers - à une plus grande société transnationale. Ils ont changé tout le concept du logiciel et notre engagement, comme celui de la plupart des employés d'origine, a pris fin. Ce projet a été instructif du début à la fin. Nous avons amélioré nos compétences en informatique à grande échelle et appris à travailler avec des paramètres financiers complexes, en les extrayant de sources externes et en les traitant.
fx_landing
fx_main_page
fx_period_close
fx_reports
ir_accounting-1
ir_admininstration_batches
ir_landing_page
ir_report
ir_trade
Voulez-vous le même projet?
Vous Avez une Idée de Projet? Discutons-en Ensemble
Contactez-Nous