SlideShare une entreprise Scribd logo
1  sur  18
Financial Information Exchangeprotocole (FIX) Présenté par : Mehdi Dbouki
Plan Qu’est ce que le protocole FIX ? Qui utilisent le protocole FIX ? Historique du protocole FIX  Les avantages du protocole FIX  Les messages Exemple 2
Qu’est ce que le protocole FIX ? C’est un protocole de messagerie standard pour la transmission électronique de messages liés à des échanges entre différentes institutions financières  C’est le protocole de communications commerciales leader du marché  3
Qui utilisent le protocole FIX ? Les institutions d’investissement (the buy side) Les maisons de courtage (the sell side) Les bourses  Les services publics Les fournisseurs de logiciels et de services 4
Historique du protocole FIX  FIX a été développé par l’organisation  « Fix Protocol Limited (FPL)»    FPL  est le résultat de la collaboration des institutions financières et industrielles .  1992, première utilisation du protocole FIX ,[object Object],Les versions de FIX : ,[object Object]
Les versions antérieures : V 4.0 ,V 4.1 ,V 4.2 ,V4.3 et V4.4     5
Les avantages du protocole FIX  FIX  est un protocole ouvert et gratuit     FIX possède une énorme communauté commerciale active Mise en place simple  Compatibilité avec : ,[object Object]
C++, Java, .NET, Python et Ruby6
Les messages Admin Messages  Permet de maintenir les différents aspects de la session FIX ( Connexion )  Application Messages Permet la transmission des messages d’affaire  7
Admin Messages Logon : message d authentification  Logout : la fermeture de la session  Heartbeat : la vérification du lien de la communication entre  		       deux parties  Test Request : teste la qualité du lien de la communication Reject (Session) : échec de validation au niveau de la session Sequence reset : récupérer ou réinitialiser le message . 8
Application Messages Confirmation New order Order cancel request 9
Format des messages FIX Le message contient 3 parties : En-tête  Corps Pied de page  Le message est un ensemble de champs Chaque champ est une valeur paire de balises <tag> = <Valeur>     Exemple : 55=IBM  Tous les champs se terminent par le délimiteur ^ Exemple : 55=IBM ^ 54=1 ^  10
Format des messages FIX Tous les messages commencent par « 8 = FIX. x » x : la version du FIX   Tous les messages se terminent par «10 = x ^ » x : la valeur du checksum Chaque tag a son propre dictionnaire de commandes . 11
Format des messages FIX Message Codes Type (Tag 35) • 0 = Heartbeat • 1 = Test Request • 2 = Resend Request • 3 = Reject • 4 = Sequence Reset • 5 = Logout • 6 = Indication of Interest • 7 = Advertisement • 8 = Execution Report • 9 = Order Cancel Reject • A = Logon • B = News • C = Email • D = Order - Single • E = Order - List • F = Order Cancel Request • G = Order Cancel/Replace Request • H = Order Status Request • J = Allocation • K = List Cancel Request • L = List Execute • M = List Status Request and more 12
buy side trading system Système commercial  Buyside sell side trading system Système commercial  Sellside FIX engine FIX engine Exemple Un gestionnaire de fonds envoie un ordre à un courtier        TCP Over a WAN L’ordre est transmit via TCP après que le « bye side » déclenche la connexion et que le « sellside » accepte . 13
Exemple Le “buy side” se connectesur le port du FIX Engine du “Sell Side” via TCP Le “Sell side” accepte la connexion  TCP Le “Buy side” envoie le message ‘Logon’ Le “Sell side” envoie le message ‘Logon’ Le “Buy side” envoie le message ‘New Order ’ Le “Sell side” envoie le message ‘Execution’ 14
buy side trading system Système commercial                 A sell side trading system Système commercial                  B FIX engine FIX engine Exemple Exemple d’un ordre de transaction et son annulation LOGON New Order Execution Report Order Cancel Execution (Cancel Accept) LOGOUT 15
Exemple Exemple d un message FIX : L’achat de 5000 IBM (prix d’une machine:110.75) 8=FIX.4.2^9=251^35=D^49=DMGR^56=ABROKER^34=2^ 52=20030615-01:14:49^ 11=12345^21=1^ 55=IBM^54=1^ 60=2003061501:14:49^38=5000^40=2^44=110.75^ 10=127^ En-tête : 8=BeginString (indicates FIX 4.2) 35=MsgType (new order) 49=SenderID (DMGR) 56=Target ID (ABROKER) 52=SendTime Pied de page : 10=Checksum Corps: 11=ClOrderID (client order id) 55=Symbol (IBM) 38=OrderQty (5000) 44=Price (110.75) 60=SendTime 16

Contenu connexe

Tendances

Utilisation de la simulation dans le domaine hospitalier
Utilisation de la simulation dans le domaine hospitalierUtilisation de la simulation dans le domaine hospitalier
Utilisation de la simulation dans le domaine hospitalier
Alvaro Gil
 
Développement d’applications ussd en java
Développement d’applications ussd en javaDéveloppement d’applications ussd en java
Développement d’applications ussd en java
Eric Toguem
 
Programme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire auProgramme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire au
Hanfi Akram
 

Tendances (20)

Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
 
Introduction à l'IOT (Internet des objets) - Thomas DARIEL (PramaTALK)
Introduction à l'IOT (Internet des objets) - Thomas DARIEL (PramaTALK)Introduction à l'IOT (Internet des objets) - Thomas DARIEL (PramaTALK)
Introduction à l'IOT (Internet des objets) - Thomas DARIEL (PramaTALK)
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmation
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Présentation 5 g
Présentation 5 gPrésentation 5 g
Présentation 5 g
 
Présentation python
Présentation pythonPrésentation python
Présentation python
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
Génie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyseGénie Logiciel - Cours 5 - analyse
Génie Logiciel - Cours 5 - analyse
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Gestion mobilite gsm
Gestion mobilite gsmGestion mobilite gsm
Gestion mobilite gsm
 
Utilisation de la simulation dans le domaine hospitalier
Utilisation de la simulation dans le domaine hospitalierUtilisation de la simulation dans le domaine hospitalier
Utilisation de la simulation dans le domaine hospitalier
 
Présentation des IoT
Présentation des IoTPrésentation des IoT
Présentation des IoT
 
Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplus
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
Internet des Objets
Internet des ObjetsInternet des Objets
Internet des Objets
 
Développement d’applications ussd en java
Développement d’applications ussd en javaDéveloppement d’applications ussd en java
Développement d’applications ussd en java
 
Le chiffrement
Le chiffrementLe chiffrement
Le chiffrement
 
Intelligence-Artificielle-cours.pdf
Intelligence-Artificielle-cours.pdfIntelligence-Artificielle-cours.pdf
Intelligence-Artificielle-cours.pdf
 
Programme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire auProgramme d’informatique pour la 2ème année secondaire au
Programme d’informatique pour la 2ème année secondaire au
 
Expose linux gestion des processus
Expose linux  gestion des processusExpose linux  gestion des processus
Expose linux gestion des processus
 

Plus de Cynapsys It Hotspot

Comment manager une équipe de 100 ingénieurs
Comment manager une équipe de 100 ingénieurs Comment manager une équipe de 100 ingénieurs
Comment manager une équipe de 100 ingénieurs
Cynapsys It Hotspot
 

Plus de Cynapsys It Hotspot (20)

Présentation data warehouse etl et olap
Présentation data warehouse etl et olapPrésentation data warehouse etl et olap
Présentation data warehouse etl et olap
 
Présentation Angular 2
Présentation Angular 2 Présentation Angular 2
Présentation Angular 2
 
Introduction à la Business Intelligence
Introduction à la Business Intelligence Introduction à la Business Intelligence
Introduction à la Business Intelligence
 
Catalogue pfe cynapsys_2016_2017
Catalogue pfe cynapsys_2016_2017Catalogue pfe cynapsys_2016_2017
Catalogue pfe cynapsys_2016_2017
 
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...
 
Comment manager une équipe de 100 ingénieurs
Comment manager une équipe de 100 ingénieurs Comment manager une équipe de 100 ingénieurs
Comment manager une équipe de 100 ingénieurs
 
Exposé 1 brevet med truki (1)
Exposé 1  brevet  med truki (1)Exposé 1  brevet  med truki (1)
Exposé 1 brevet med truki (1)
 
Exposé 2 brevet med truki (2)
Exposé 2  brevet  med truki (2)Exposé 2  brevet  med truki (2)
Exposé 2 brevet med truki (2)
 
Présentation nouveauté java7
Présentation nouveauté java7Présentation nouveauté java7
Présentation nouveauté java7
 
Cloud presentation
Cloud  presentationCloud  presentation
Cloud presentation
 
Présentation cloud computing
Présentation cloud computingPrésentation cloud computing
Présentation cloud computing
 
Présentation banc_ test
Présentation banc_ testPrésentation banc_ test
Présentation banc_ test
 
Automotive : Domaine & applications
Automotive : Domaine & applicationsAutomotive : Domaine & applications
Automotive : Domaine & applications
 
PRESENTATION CYN APSYS/MANTIS
PRESENTATION CYN APSYS/MANTISPRESENTATION CYN APSYS/MANTIS
PRESENTATION CYN APSYS/MANTIS
 
Formation traitement d_images
Formation traitement d_imagesFormation traitement d_images
Formation traitement d_images
 
Informatique Quantique
Informatique QuantiqueInformatique Quantique
Informatique Quantique
 
Informatique Quantique
Informatique QuantiqueInformatique Quantique
Informatique Quantique
 
Présentation Cryptographie
Présentation CryptographiePrésentation Cryptographie
Présentation Cryptographie
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solution
 
Comminucation v&nv
Comminucation v&nvComminucation v&nv
Comminucation v&nv
 

Financial Information Exchange

  • 1. Financial Information Exchangeprotocole (FIX) Présenté par : Mehdi Dbouki
  • 2. Plan Qu’est ce que le protocole FIX ? Qui utilisent le protocole FIX ? Historique du protocole FIX Les avantages du protocole FIX Les messages Exemple 2
  • 3. Qu’est ce que le protocole FIX ? C’est un protocole de messagerie standard pour la transmission électronique de messages liés à des échanges entre différentes institutions financières C’est le protocole de communications commerciales leader du marché 3
  • 4. Qui utilisent le protocole FIX ? Les institutions d’investissement (the buy side) Les maisons de courtage (the sell side) Les bourses Les services publics Les fournisseurs de logiciels et de services 4
  • 5.
  • 6. Les versions antérieures : V 4.0 ,V 4.1 ,V 4.2 ,V4.3 et V4.4 5
  • 7.
  • 8. C++, Java, .NET, Python et Ruby6
  • 9. Les messages Admin Messages Permet de maintenir les différents aspects de la session FIX ( Connexion ) Application Messages Permet la transmission des messages d’affaire 7
  • 10. Admin Messages Logon : message d authentification Logout : la fermeture de la session Heartbeat : la vérification du lien de la communication entre deux parties Test Request : teste la qualité du lien de la communication Reject (Session) : échec de validation au niveau de la session Sequence reset : récupérer ou réinitialiser le message . 8
  • 11. Application Messages Confirmation New order Order cancel request 9
  • 12. Format des messages FIX Le message contient 3 parties : En-tête Corps Pied de page Le message est un ensemble de champs Chaque champ est une valeur paire de balises <tag> = <Valeur> Exemple : 55=IBM Tous les champs se terminent par le délimiteur ^ Exemple : 55=IBM ^ 54=1 ^ 10
  • 13. Format des messages FIX Tous les messages commencent par « 8 = FIX. x » x : la version du FIX Tous les messages se terminent par «10 = x ^ » x : la valeur du checksum Chaque tag a son propre dictionnaire de commandes . 11
  • 14. Format des messages FIX Message Codes Type (Tag 35) • 0 = Heartbeat • 1 = Test Request • 2 = Resend Request • 3 = Reject • 4 = Sequence Reset • 5 = Logout • 6 = Indication of Interest • 7 = Advertisement • 8 = Execution Report • 9 = Order Cancel Reject • A = Logon • B = News • C = Email • D = Order - Single • E = Order - List • F = Order Cancel Request • G = Order Cancel/Replace Request • H = Order Status Request • J = Allocation • K = List Cancel Request • L = List Execute • M = List Status Request and more 12
  • 15. buy side trading system Système commercial Buyside sell side trading system Système commercial Sellside FIX engine FIX engine Exemple Un gestionnaire de fonds envoie un ordre à un courtier TCP Over a WAN L’ordre est transmit via TCP après que le « bye side » déclenche la connexion et que le « sellside » accepte . 13
  • 16. Exemple Le “buy side” se connectesur le port du FIX Engine du “Sell Side” via TCP Le “Sell side” accepte la connexion TCP Le “Buy side” envoie le message ‘Logon’ Le “Sell side” envoie le message ‘Logon’ Le “Buy side” envoie le message ‘New Order ’ Le “Sell side” envoie le message ‘Execution’ 14
  • 17. buy side trading system Système commercial A sell side trading system Système commercial B FIX engine FIX engine Exemple Exemple d’un ordre de transaction et son annulation LOGON New Order Execution Report Order Cancel Execution (Cancel Accept) LOGOUT 15
  • 18. Exemple Exemple d un message FIX : L’achat de 5000 IBM (prix d’une machine:110.75) 8=FIX.4.2^9=251^35=D^49=DMGR^56=ABROKER^34=2^ 52=20030615-01:14:49^ 11=12345^21=1^ 55=IBM^54=1^ 60=2003061501:14:49^38=5000^40=2^44=110.75^ 10=127^ En-tête : 8=BeginString (indicates FIX 4.2) 35=MsgType (new order) 49=SenderID (DMGR) 56=Target ID (ABROKER) 52=SendTime Pied de page : 10=Checksum Corps: 11=ClOrderID (client order id) 55=Symbol (IBM) 38=OrderQty (5000) 44=Price (110.75) 60=SendTime 16