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
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
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
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