Rapport de Stage de Première année - DoYouBuzz : …€¦ · Rapport de Stage de Première année...
Transcript of Rapport de Stage de Première année - DoYouBuzz : …€¦ · Rapport de Stage de Première année...
Stage effectué
Du 01/09/10 au 31/12/10
A NYSE Euronext
39 Rue Cambon 75001 PARIS.
Maitre de Stage: Stéphane Bredon Software Engineer.
NYSE Euronext : TECHNOLOGIES
Rapport de Stage de Première année Programmes de Test de Performance du Moteur de Cotation De La Bourse
Noëlie SYLVAIN (login : sylvai_n) Promo 2014
Etudiante à EPITECH 24 rue Pasteur 94270 Le Kremlin Bicêtre
2 Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
3 Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
REMERCIEMENTS
J’adresse mes remerciements à Gilles Herfeld pour m’avoir permis d’effectuer mon stage au
sein du service Technologies de NYSE Euronext.
Je remercie l’équipe de NYSE Technologies pour leur accueil chaleureux et pour l’intérêt qu’ils
m’ont porté tout au long de mon stage.
Je tiens à remercier en particulier mon maître de Stage M. Stéphane Bredon pour sa
confiance et son aide qui ont rendu ce stage intéressant. Je le remercie également pour sa patience,
l’amabilité et le soutien technique qu’il m’a apporté.
4 Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
SOMMAIRE
REMERCIEMENT .................................................................................................................. 3
SOMMAIRE ............................................................................................................................. 4
INTRODUCTION .................................................................................................................... 5
1. PRESENTATION DE L’ENTREPRISE ........................................................................... 6
1.1. NYSE EURONEXT ............................................................................... 6 1.1.1 PRESENTATION GENERALE ........................................................... 6 1.1.2 L’HISTORIQUE ............................................................................. 7 1.1.3 LA GESTION DE NOMBREUX MARCHES .......................................... 8 1.1.4 DE NOMBREUSES ACTIVITES ...................................................... 10 1.2. NYSE EURONEXT : TECHNOLOGIES .................................................. 10 1.2.1 PRESENTATION GENERALE ......................................................... 10 1.2.2 LE PROJET ................................................................................. 12 1.2.3 L’ORGANIGRAMME ..................................................................... 12
2. TRAVAIL EFFECTUE ..................................................................................................... 13
2.1. PRESENTATION DU PROJET : UTP ..................................................... 13 2.2. LES PROGRAMMES DE TRANSMISSION DE MESSAGES ........................ 15 2.3. REALISATION DE PROXYROUTER ET TEST DE LATENCE ...................... 16 2.4. ETUDE ET STATISTIQUE DE PLUSIEURS MEMBRES ............................. 19 2.5. TRANSMISSION : DU TCP A L’UDP ..................................................... 20 2.3.1 PRESENTATION D’UX_DIRECT ET MARKETDATAPUB ..................... 20 2.5.2 PREPARATION ET CONCEPTION ................................................... 21 2.5.3 MECANISME DE RECUPERATION : NACK ....................................... 22
CONCLUSION ....................................................................................................................... 23
GLOSSAIRE ........................................................................................................................... 24
TABLE DES ILLUSTRATIONS .......................................................................................... 25
5 Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
INTRODUCTION
Afin de valider la première année à Epitech, chaque étudiant doit effectuer un stage de 4 à 6
mois en entreprise. Ayant fait un baccalauréat en économie et étant intéressée par la finance, j’ai
cherché un stage qui regroupait informatique et finance. J’ai eu la chance d’effectuer, du 01
septembre 2010 au 31 décembre 2010, un stage au sein de la société NYSE Euronext, le premier
groupe mondial de places boursières, dans le service Technologies au 39 Rue Cambon à Paris.
Mes débuts dans le service technologies de NYSE ont été effectués sous l’encadrement de
Gilles Herfeld et son équipe, plus particulièrement Stéphane Bredon, mon maître de Stage. La bonne
ambiance qui régnait dans le groupe Technologies m’a apporté la motivation indispensable à
l’aboutissement des différentes tâches qui m’ont été affectées.
Le sujet principal de ce stage était la programmation de divers outils de contrôle de
performance et de test pour leur nouveau moteur de cotation de produits dérivés UTP.
UTP, acronyme signifiant Universal Trading Plateform, est une plateforme d’échange
d’instruments financiers qui sera mise en production fin avril 2011. Le moteur de cotation UTP est
programmé en C, langage acquis en première année d’Epitech, et C++, langage qu’on apprend en
deuxième année.
Ce stage fut une expérience importante du point de vue de ma scolarité mais aussi du point
de vue personnel. Au cours de ce stage de 4 mois j’ai appris à travailler en entreprise et mettre au
profit les connaissances que j’ai acquises durant cette première année à Epitech.
En plus de l’enrichissement de mes connaissances en programmation et conception de code,
ce stage m’a permis, par des cours de formations, d’acquérir de nouvelles connaissances sur le monde
de la finance.
6 Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
1. PRESENTATION DE L’ENTREPRISE
1. NYSE EURONEXT
PRESENTATION GENERALE
NYSE Euronext est le premier groupe mondial de places boursières né de la fusion entre
NYSE (NEW YORK STOCK EXCHANGE) et le groupe Euronext en 2007. Ce dernier a lui-même
été créé par la fusion de la Bourse de Paris, la Bourse d’Amsterdam et de Bruxelles en
2005. NYSE Euronext est le fournisseur mondial de service de cotation, de négociation et
d’échange, mais aussi de vente de données de marché de logiciels, et de services technologique.
Figure 1: NYSE New York Stock Exchange, « Wall Street ».
7 Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
HISTORIQUE :
2000: Fusion des bourses d’Amsterdam, de Bruxelles et de Paris.
Création d’Euronext le 22 septembre 2000
2002 : Achat de LIFFE: London International Financial Futures and Options
Exchange Fusion avec la bourse Portugaise BVLP
2006 : Annonce de la fusion : création de la plus importante plate-forme boursière
au monde qui se nommera NYSE Euronext.
2007: Emissions des premières actions du nouvel ensemble NYSE Euronext, née de
la fusion entre Euronext et la Bourse de New York.
8 Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
LA GESTIONS DE NOMBREUX MARCHÉS
Figure 2 : NYSE Trading Floor.
NYSE Euronext gère au travers de ses filiales de
nombreuses bourses : Des marchés de produits Cash
(actions, obligations), et des marchés de produits Dérivés
(fowards, futures, warrants, options).
Figure 3 : DUNCAN, Directeur de NYSE.
9 Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
Aux Etats-Unis, NYSE régente :
le New York Stock Exchange (on l’appelle souvent « Wall Street »), le plus grand marché
d’actions à l’échelle mondiale ;
NYSE Arca, un marché d’option, le deuxième plus grand réseau de transmission électronique en
terme de parts commercés ;
NYSE Alter US ;
NYSE Liffe US, un marché de produits dérivés.
En Europe, NYSE administre par le biais de la société-mère Euronext :
La bourse de Paris ;
La bourse d’Amsterdam ;
La Bourse de Bruxelles ;
La Bourse de Lisbonne, « Le Mercado Sem Cotacoes » ;
NYSE Alternext, crée en 2005, c’est un marché aux règles assouplies, pour les petites et
moyennes entreprises internationales désirant bénéficier d’un accès simplifié au marché.
Figure 4 : La Bourse de Paris : Étant donné que tout est informatisé, plus aucune transaction ne se fait au
Palais Brongniart.
10
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
DE NOMBREUSES ACTIVITÉES
Mais NYSE Euronext n’est pas seulement un marché ou un ensemble de marchés. C’est
aussi une entreprise qui, via ses filiales, organise et assure l’accès au marché et son bon
fonctionnement.
NYSE Euronext :
Etablit des règles du marché qui sont communes à chaque pays concernés.
Gère les systèmes informatiques de cotation
Assure la publicité des négociations et la diffusion des cours du marché
Enregistre les négociations entres les membres
Décide de l’adhésion de ses membres
2. NYSE EURONEXT : TECHNOLOGIES
PRESENTATION GLOBALE
La branche Technologies de NYSE Euronext s’occupe de la programmation et la maintenance
de la plateforme d’échange et de la commercialisation de divers outils permettant l’accès aux marchés
à travers le monde.
NYSE Technologies met à disposition pour ses membres un réseau sécurisé SFTI (Secure
Financial Transaction Infrastructure) pour se connecter aux moteurs de cotation de différents
marchés auquel ils pourront acheter et vendre des produits financiers.
11
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
Figure 5 : Le Lieu du stage, NYSE EURONEXT 39 Rue Cambon.
Un ensemble de programmes nommés XDP pour Exchange Data Publisher ont été mis en
place pour la vente d’information économique, et la diffusion des cours du marché en temps
réel. Ces informations sont vendues à des data vendor (ex : Bloomberg).
Figure 6 : Bloomberg Terminal, un système informatique qui permet aux professionnels
financiers d’accéder aux données financières vendues par NYSE via XDP.
12
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
LE PROJET
NYSE Euronext suit les dernières évolutions technologiques pour rivaliser de manière efficace
dans un secteur compétitif et évoluant rapidement. Ces dernières années, le traitement
électronique des négociations s’est développé de manière significative. Afin de rester compétitif, NYSE
Euronext continue d’améliorer la réactivité, la fonctionnalité, l’accès et les caractéristiques de ses
plates-formes, logiciels, systèmes et technologies dédiés à la négociation.
Afin d’améliorer ses services et satisfaire les attentes des clients, NYSE Technologies est en
train de créer un nouveau moteur de cotation pour les produits dérivés : UTP.
L’ORGANIGRAMME
Figure 7 : Organigramme de NYSE Paris.
13
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
2. TRAVAIL EFFECTUE
UTP, acronyme pour Uniform Trading Platform, est une plateforme de cotation de produit
dérivé, basé sur la plateforme de produit cash déjà existante. Cette nouvelle plateforme d’échange
sera mise en production en avril 2011. Mes principales tâches dans le service Technologies de NYSE,
étaient la réalisation d’un programme de génération de tests, et l’élaboration de divers programmes
de test de performance et de statistique.
1. PRESENTATION DU PROJET : UTP
Il existe déjà des plates-formes de cotation de produit cash très avancées technologiquement.
Mais la plateforme qui gère les produits dérivés (Liffe Connect, Une plateforme anglaise) est dépassée
technologiquement, et ne correspond plus aux besoins qui ont changés et aux règles des produits
dérivés. Ces derniers doivent être traités différemment des produits Cash.
UTP gère les instruments financiers dérivés (Futures, Options, Swap, Foward). Contrairement
aux produits Cash (Action, Obligations), les produits dérivés on une valeur qui fluctue en fonction de
l’évolution du taux ou du prix d’un produit. De plus, le règlement s’effectue à une date future. Ces
particularités font des dérivés un instrument à part, qui devra être géré par un moteur de cotation
différent des produits cash.
14
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
Figure 8 : Organisation de l’UTP et du CCG
Voici un schéma simplifié de l’organisation de l’UTP. Lorsqu’un membre se connecte pour
envoyer des ordres d’achat ou de vente, il est redirigé dans le réseau sécurisé SFTI qui le connecte à
l’un des CCG (Common Customer Gateway). La Gateway traite les messages dans un programme
nommé ux_direct, et transmet les messages à UTP via un programme router « ux_router ».
Ux_trade forme des carnets d’ordre et fait des échanges lorsque des ordres concordent.
File2Utp est un programme de test qui permet de remplacer le CCG : il prend en paramètre un
fichier généré et transmet au Moteur des messages d’ordre de vente et d’achat à un débit choisi par le
testeur. Ainsi, avec un seul programme on peut simuler le cas de plusieurs centaines de membres
connectés à l’UTP, envoyant des centaines d’ordres à la seconde.
Qté Prix Qté Prix
5 120.0 8 123.2
7 120.5 100 123.6
20 121.0 60 125.5
Figure 9 : Représentation d’un carnet d’ordre.
ACHAT VENTE
15
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
Dans le cas du carnet d’ordre représenté figure 9. Prenons cet exemple : J’envoie un ordre
d’achat de 9 unités de ce produit, au prix de 120.9. Lorsqu’ux_trade reçoit cet ordre, il vérifie si des
ordres de vente coïncident. Dans ce cas précis, mon offre d’achat concorde avec des offres. Apres le
trade (l’échange), le carnet d’ordre est modifié :
Qté Prix Qté Prix
NULL NULL 8 123.2
3 120.0 100 123.6
20 121.0 60 125.5
Figure 9 bis : Représentation d’un carnet d’ordre.
2. IMMERSION DANS LES PROGRAMMES DE TRANSMISSION DE
MESSAGES
On m’a tout d’abord donné le code source de plusieurs programmes en cours de création :
file2utp et ux_router. On m’a demandé de mettre à jours les structures et headers des messages
pour que File2Utp, un simulateur CCG pour produit cash, puisse être utilisé pour tester UTP, un
moteur de produits dérivés.
File2Utp est un programme en C++, il prend en paramètre un fichier généré par un
programme tiers. Ensuite, il simule la connexion de X membres envoyant un certain nombre de
messages à un débit précis pour tester les performances à diverses vitesses, et en utilisant un nombre
différent de CCGs.
Ce fut une opportunité pour moi de voir leur organisation de code et avoir une première
approche avec les sockets et multithread, des notions que l’on n’apprend pas en première année à
Epitech. J’ai aussi été amenée à ajouter un timestamp pour les calculs de latence entre ux_router
et ux_trade.
Pour pouvoir utiliser File2Utp pour les tests de performance, j’ai eu accès à une machine
sur laquelle étaient installés tous les composants en cours de production. J’ai appris l’utilitée de
chaque composant essentiel au moteur de cotation UTP, et leur utilisation.
ACHAT VENTE
16
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
Figure 10 : Une fois File2Utp et Ux_router compatible j’ai travaillé sur la génération du fichier
pour File2utp.
3. REALISATION DE PROXYROUTER ET TEST DE LATENCE
Une fois File2Utp compatible avec ux_router, on m’a présenté un programme en Java
RouterTest qui prend en paramètre un fichier de configuration d’ordres d’achat et de vente, et les
envoie à ux_router. Le problème était que RouterTest ne permettait pas de simuler un CCG
comme file2utp le faisait. En effet, on ne peut pas préciser à RouterTest le débit auquel on veut
envoyer les messages.
RouterTest avait pour but premier, non pas les tests de latence et de débit, mais les tests
de cas d’envois d’ordres particuliers. De plus, avant de renvoyer un paquet de messages,
RouterTest attend une réponse d’ux_router. Ce qui ne sera pas le cas lorsqu’UTP sera mis en
production.
On m’a donc confié la tâche de créer un programme ProxyRouter pour générer des
fichiers de test pour File2utp grâce à RouterTest. N’ayant encore jamais utilisé les sockets
auparavant, j’ai beaucoup appris en créant ProxyRouter.
17
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
Ayant soif de connaissance, j’ai commencé à coder en C++, créant une classe alors que je ne
connaissais rien aux règles d’encapsulations des attributs. Ce fut une erreur qui m’a conduit à
recommencer le programme en C, langage que je maîtrise.
Mes connaissances en C et ma facilité d’apprentissage en autodidacte m’a permis de finaliser
ProxyRouter aisément.
Figure 11 : Liens de Connections de ProxyRouter avec les composants de UTP.
1. RouterTest prend en paramètre un fichier de configuration.
2. RouterTest se connecte à ProxyRouter et ProxyRouter se connecte à
Ux_Router. Puis, RouterTest envoie un paquet de messages.
3. ProxyRouter modifie les messages pour les rendre compatible File2utp et
génère un fichier qui sera utilisé pour file2utp.
4. ProxyRouter envoie les messages compatibles avec ux_router.
5. Envois de données à ProxyRouter.
6. ProxyRouter attend le paquet de messages suivant de RouterTest.
18
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
A la fin, le fichier généré peut être utilisé avec file2utp pour injecter à des débits choisis par
le testeur, et ainsi simuler des cas de la vie courante.
Créer ce programme de A à Z a été une chance pour apprendre à utiliser les sockets (côté
client tout comme côté serveur), et d’utiliser mes connaissances acquises en première année à
Epitech. Une fois ProxyRouter fini, j’ai dû générer de nombreux fichiers de test pour file2utp, et
procéder à de nombreux tests de performance.
On m’a demandé de lancer 1 à 10 file2utp à la fois, chacun avec un débit de 500 à 10000
messages par secondes. Ceci ayant pour but de voir les différences de performance entre
plusieurs cas. Par exemple :
Cas 1: il y a 5 CCGs avec un débit de 500 messages par seconde par CCG.
Cas 2: il y a 1 CCG possédant un débit de 25000 messages par seconde.
Ainsi, les développeurs pouvaient avoir une idée d’organisation des messages entre les
différents CCGs.
J’ai noté dans un tableur Excel les résultats en termes de latence. Plus tard, vers la fin de mon
stage, j’ai refait ces tests avec le flux en production (Le flux de messages du Moteur Liffe Connect
était redirigé sur la plateforme de test).
Ces tests avaient pour but l’étude des ressources utilisées dans une journée, de voir à partir
de combien de messages le moteur de test saturait, et ainsi prévoir le nombre de machines
nécessaires pour la mise en production de la plate-forme UTP.
19
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
4. ETUDES ET STATISTIQUES DE PLUSIEURS MEMBRES
Les Membres (Clients) possèdent un certain nombre de sessions qui leur permettent un
certain débit d’ordres par seconde. Il m’a été demandé de créer un programme de statistique sur
plusieurs membres (Barclays, Citadel, Getco, IMC, Madison, Millenium, Morgan Stanley et Sungard).
J’ai eu accès à l’ensemble du flux de messages envoyés au 12 CCGs du 1er au 3 novembre. Le
but du programme de test était de rassembler de nombreuses statistiques telles que:
Le débit (nombre de messages par seconde), par sessions, par membres et par CCG.
Une liste des plus hauts débits de chaque session, et à quelle heure ils ont eu lieu.
Le nombre de messages envoyés par seconde est impressionnant. Ces statistiques ont été utilisées
par le service commercial, pour proposer aux membres dont le débit de message était proche de
leur limite autorisée, d’acheter des sessions supplémentaires.
Le programme de statistique SessionStats que j’ai programmé en C, calcule les statistiques en
prenant en paramètre les données du flux de la journée sur un CCG, parse (découpe et analyse) les
messages, et produit les calculs que le maître de stage avait précisé. Ensuite, il enregistre les résultats
dans un fichier compatible Excel. Ce Programme a été réutilisé plus tard lors de mon stage pour
l’étude d’autres Membres.
20
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
5. TRANSMISSION : DU TCP A L’UDP
PRESENTATION D’UX_DIRECT ET MARKET DATAPUB
Figure 12 : Interaction entre le CCG et MarketDataPub.
Ux_direct, le programme principal de CCG est connecté à UTP par ux_router, et à un
autre composant d’UTP : ux_MarketDataPub. Ce dernier lui-même connecté à XDP, le
programme de diffusions des données du marché.
La diffusion des messages de MarketDatapub vers les différents CCG (et donc les
différents ux_direct) se faisait par TCP.
LES MODIFICATIONS A EFFECTUER
21
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
Il a été décidé que la transmission se ferait dorénavant en utilisant le protocole UDP en
multicast. UDP, User Datagram Protocol, est un protocole de communication qui marche en mode
non-connecté, ayant de nombreux avantages comme la rapidité, face au protocole TCP.
L’inconvénient réside dans le fait qu’il n’assure pas l’ordre des messages à la réception, et ne
procède à aucune vérification de doublons de messages, de perte, ou du bon ordre des messages.
PREPARATION ET CONCEPTION
Ux_router comportait une classe abstraite en C++ qui assurait la réception des messages.
Il existait une classe qui héritait de cette dernière et qui garantissait la réception des messages grâce
à l’utilisation du protocole TCP. On m’a confié la tâche de créer une classe (héritage de la classe
abstraite) et coder les méthodes virtuelles de lecture en utilisant le protocole UDP.
J’ai donc étudié le langage C++ et par la suite j’ai commencé à coder les méthodes de
réceptions de messages.
Le Protocole UDP est certes plus rapide que le Protocole TCP mais il ne garantit par l’ordre
exact des messages. Il peut y avoir des pertes et il faut donc avoir recours à une démarche pour
éviter des incidents.
Figure 13 : A gauche, le système de transmission par protocole TCP.
A droite, Le système à mettre en place (UDP Multicast)
Avec une connexion TCP pour les pertes.
22
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
MECANISME DE RECUPERATION DES DONNEES MANQUANTES : NACK
Il m’a donc été demandé de faire un mécanisme de substitution des données manquantes en
ajoutant une connexion TCP (Connexion appelée NACK) en plus de l’UDP et de faire une vérification
des séquences des paquets de messages.
Lors de la réception d’un paquet, le programme devait vérifier que le paquet suivant avait le
bon numéro de séquence. Si ce n’était pas le cas il devait envoyer un NACK Message (TCP) précisant
la séquence du paquet de messages qu’Ux_Direct n’aurait pas reçu. En parallèle, Ux _direct reçoit des
messages par UDP qu’il faut donc buffériser jusqu'à la fin de l’émission des messages par TCP. Grâce
à ce système, le suivi des messages est assuré.
Figure 14 : Ux_Direct reçoit les paquets d’ux_marketdatapub par UDP. S’il y a une perte il envoie par
TCP une requête pour qu’ux_marketdatapub lui envoie par TCP le message manquant.
23
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
CONCLUSION
L’objectif principal de ce stage était la découverte du monde de l’entreprise et dans cette
optique, ce stage a parfaitement répondu à mes attentes. Il convient de souligner un point important
qui m’a permis une adaptation rapide : c’est la confiance que l’on m’a accordé dans le groupe NYSE
Technologies lors de mon arrivée, qui m’a permis d’y trouver facilement ma place.
Tout au long de mon stage j’ai travaillé en autonomie, ce qui s’est avéré être simple grâce à
l’habitude de la pédagogie d’Epitech qui prône l’indépendance. Il m’a fallu apprendre à gérer mon
temps, et j’ai eu l’occasion de réutiliser une partie des enseignements reçus à Epitech.
Ce stage de fin de première année m’a permis de travailler sur un projet intéressant et
concret : un moteur de cotation pour produits dérivés. Ce projet m’a donné la possibilité d’améliorer
mes connaissances en C, de faire de la programmation orientée objet (C++), d’apprendre à utiliser le
protocole TCP et UDP et la gestion du multithread et des mutex.
Pendant le déroulement de mon stage à NYSE Technologies, j’ai eu l’opportunité de travailler
sur différents programmes et de contribuer à certaines modifications de programmes importants qui
seront utilisés dans le monde entier. Je pense avoir participé de manières efficace et constructive au
projet en faisant preuve de professionnalisme et en m’appuyant sur les acquis de ma scolarité. Je
pense que mon travail les a satisfaits puisque qu’ils m’ont proposé de revenir à NYSE Technologies
pour mon stage de 3ème année.
Le travail réalisé s’est avéré très enrichissant pour mon expérience professionnelle aussi bien
en ce qui concerne le domaine technique que l’aspect humain. L’ambiance dans le service était très
agréable et j’en garde de très bons souvenirs. J’ai été très touchée par le pot organisé le jour de mon
départ.
24
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
GLOSSAIRE
Abréviations Descriptions
LIFFE London International Financial Futures and Options Exchange
NYSE New York Stock Exchange
SFTI Secure Financial Transaction Infrastructure
TCP Transmission Control Protocol
UDP User Datagram Protocol
UTP Universal Trading Platform
XDP Exchange Data Publisher
25
Rapport de Stage Création de Programmes de test de performance d’un moteur de cotation Noëlie SYLVAIN
TABLE DES ILLUSTRATIONS
Figure 01: NYSE New York Stock Exchange, « Wall Street ».
Figure 02: NYSE Trading Floor.
Figure 03 : DUNCAN, Directeur de NYSE.
Figure 04 : La Bourse de Paris.
Figure 05 : Le Lieu du stage.
Figure 06 : Bloomberg Terminal.
Figure 07 : Organigramme de NYSE Paris.
Figure 08 : Organisation de l’UTP et du CCG.
Figure 09 : Représentation d’un carnet d’ordre.
Figure 10 : File2Utp et Ux_Router.
Figure 11 : Liens de Connections de ProxyRouter avec les composants de UTP.
Figure 12 : Interaction entre le CCG et MarketDataPub.
Figure 13 : Système de transmissions UTP et TCP.
Figure 14 : Ux_marketdatapub et ses clients.