fix

Post on 25-Jun-2015

2.231 Views

Category:

Economy & Finance

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

The presentation describes how the FIX Protocol works. (FIX : Financial Information Exchange)

TRANSCRIPT

Mission statement – To improve the global trading processes by defining, managing, and promoting an open protocol for real-time, electronic communication between industry participants, while complementing industry standards.

FIX Training : FIX Basics

Content FIX : What, Who, Where, Why

FIX administrative messages

FIX application messages

FIX message format

FIX security identification

FIX re-synchronization

FIX : What is FIX ?

Structured language protocol Translates details of trade into common

language FIX defines message format FIX defines the delivery mechanism FIX is a public domain specification owned

and maintained by FIX Protocol Ltd http://www.fixprotocol.org

Financial Information

eXchange

So finally …….. FIX is a standard Messaging Protocol to

communicate trading information electronically between buyside Institutions (Decalog Clients) , Brokers and Market

Why?....Reason for using FIX…….

82% of Firms ,buy side and sell side , execute at least some of their trades via ECNs / ATSs78% of brokers and 59% of buy side institutions utilize order routing networks for some of their orders / executions82 % of Brokers were using FIX in 2000…..

FIX : Who uses FIX ? STP approach : Straight Through Processing

Brokers : use to manage and attract large order flow

Exchanges : use FIX to make it easier, faster and less expensive for their members to send order flow

Portfolio Managers : use FIX to access pools of liquidity, get better prices, communicate executions and trade more efficiently.

FIX : What are the benefits of FIX ?

Standardized error recovery : FIX ensures that data is not lost

The failsafe mechanism of the FIX message allows to detect any potential communication problem immediately

Number of brokers, institutions becoming FIX compliant increases every day

FIX connectivity promises drastically reduced operational time to market

FIX : What are the benefits of FIX ?Eliminates proprietary interfaces and coding of multiple message formats which reduces amount of time to connect.

Supports Multiple Currencies and instrument Types

Cost effective connectivity

Accommodates higher volumes

Shortens the settlement cycles

Before FIX - Order Flow Investment Manager Broker / Dealer

Order Via Phone Call

Order Confirm

Before FIX - Order Flow Investment Manager Broker / Dealer

Don’t know Trade

Execution Reports

FIX : Can FIX be used globally ?FIX is internationally compliant

FIX protocol includes the ability to trade in most security types in all currency

FIX was initially developed for equities, but its use is currently expanded to include other financial instruments

For more information, visit the FIX protocol organization website at http://www.fixprotocol.org

FIX : FIX security

Works in a connected mode

Client applications are identified•Identification with client’s IP address•Logical identifier (compID / subID)

Data encryption possible

Ensures the integrity of exchanged messages

•Tracks sending and receiving in order to detect any data loss•Re-synchronization process

How Fix Works ? …

FIX Administrative messagesDefinition

Logon Message : “Hi, I am Sungard”

Heartbeat : “I’m alive”

Test request : “Are you alive ??”

Resend Request : “Please, resend number n”

Reject : “I don’t understand”

Sequence Reset : “I will send you number m”

Logout : “Good by”

FIX Administrative messagesBasic Message Flow

Logon(Msgtype=A)

Logon(Msgtype=A)

Hello I am Client

Hello I am Broker

Heartbeat(MsgType=0)

Heartbeat(MsgType=0)

I am alive

I am alive

Test Request(MsgType=1)

Heartbeat(MsgType=0)

Are you alive ??

I am alive

FIX Application Messages

New Order Single (NOS) : Order creation

Order Cancel Request (OCR) : Cancellation requested

Execution Report (ER) : Execution Report• ExecTransType (20)• OrdStatus (39)

Order Cancel Reject (OCRej) : Cancellation reject

Order List• New Order List• List Status, Execute, Cancel Request, Status Request

FIX Application messagesBasic trading 1

New Order Single(Msgtype=D)

Execution Report(MsgType=8 ; OrdStatus=0 [New])

Please Buy1000 CGE @ 6,2 €

Ok your order is placed

Execution Report(MsgType=8 ; OrdStatus=1 [Partially

Filled])500 Shares are

executed

Execution Report(MsgType=8 ; OrdStatus=3 [Done])

500 More Shares are executed, Your

order is filled

Execution Report(MsgType=8 ; OrdStatus=2 [Filled])

1000 Shares CEG Bought it @ 6,2 €

ClientBroker

Symbol = 0001. €, Side = Buy, OrderQty = 1000, OrdType = Market[35=D;55=0001. €;54=1;38=1000;40=1]

Execution Report

Symbol = 0001. €

Side = Buy

Qty = 1000

Type = mkt

Status = new

[35=8;55=0001.HK;54=2;38=1000;40=1;39=0]

FIX Application messagesBasic trading 2

Buyer of 1000 CE

Broker

FIX Network

FIX IOI

Symbol = 0001. €

Side = Buy

IOI Shares= 1000

Price = 6.2

[35=8;55=0001.HK;54=2;38=1000;40=1;39=0]

FIX Application messagesBasic trading 3

New Order Single(Msgtype=D)

Execution Report(MsgType=8 ; OrdStatus=0 [New])

Please Sell1000 CGE @ 6,2 €

Accept Sell CGE 1000

Client 2Broker

Symbol = 0001. €, Side = Sell, OrderQty = 1000, OrdType = Market[35=D;55= 0001. €;54=1;38=1000;40=1]

FIX Order Accept Execution Report

Symbol = 0001. €

Side = Sell

Qty = 1000

Type = mkt

Status = new

[35=8;55=0001.HK;54=1;38=1000;40=1;39=0]

FIX Application messagesBasic trading 4

Clients

Broker

FIX Execution Report (FILLED)Symbol = 0001. €Side = BuyQty = 1000Type = mktStatus = FilledLast Shares = 1000LastPx = 101

FIX Execution Report (FILLED)

Symbol = 0001. €

Side = Sell

Qty = 1000

Type = mkt

Status = Filled

Last Shares = 1000

LastPx = 101

[35=8;55=0001.€

;54=1;38=1000;39=2;32=1000;31=101]

[35=8;55=0001.€

;54=1;38=1000;39=2;32=1000;31=101]

FIX Application messagesIn case of cancellation……

Client

Broker

New Order Single(Msgtype=D)

Please Buy1000 SDX @ 40€

Execution Report(MsgType=8 ; OrdStatus=0

[New])Ok your order is

placed

Order Canel Request(Msgtype=F)

Please Cancel my Order

Execution Report(MsgType=8 ; OrdStatus=4 [Canceled])

Ok U R Out

FIX MessageFormat

Message Decomposition

• Header• Body• Trailer

Fields

• <TAG #>=<TAG Content>• MsgType New order Single will be 35=D

Written as a String

• All fields are concatenated in one unique String

FIX SecurityIdentification

Physical identification

• IP address• Port number

Logical identification

• Company ID (CompID)• Sub Company ID (SubID)

Encryption possible

FIX SecurityRe-synchronization 1/2

Tag MsgSeqNum (34)

Sequence Number• Incoming sequence number• Outgoing sequence number

Sequence Number sequentiality breaking• If the incoming SeqNum does not match the

expected one, a re-synchronization is processed • If the outgoing SeqNum does not match the

expected one, a re-synchronization is processed

FIX SecurityRe-synchronization 2/2

Client BrokerHeartbit

(MsgSeqNum=36)

Exp SeqNum=28Resend Request

(BeginSeqNo=28 ; EndSeqNo=36)

Exp SeqNum=32

Sequence Reset(NewSeqNo=31)

New Order Single(MsgSeqNum=32)

Exp SeqNum=33Sequence Reset(NewSeqNo=36)

Exp SeqNum=37

Thank You ……..

Questions?......

FIX

top related