-
Notifications
You must be signed in to change notification settings - Fork 0
FIX Protocol 101
Here is the FIX session level protocol. Most knowledge of this session could be found about the protocol. https://www.fixtrading.org/standards/fixt/
The purpose of this session is to give you a brief. If you hope more detail, please raise question here, or check the spec.
Out of scope: FAST, MarketData workflow, Order workflow, etc.
a. brief the demo source code
see: https://github.com/baoyingwang/QuickFixJTutorial
Browser/ Your business app
Program
------------- -----------------
HTTP FIX
request:get/post Logon/Heartbeat/NewOrderSingle/ExecutionReport/...
response:200/404
------------- -----------------
SSL SSL
------------- -----------------
TCP TCP
Message loss ditection and recovery:
- sequence number on each message
- if seq gap is identified, request resending
- sequence reset (session window)
Acceptor: listen and waiting Initiator: intiate the connection attempt
FIX
(Acceptor, listening on a port)
/\
/ \ (network)
/ \
/ \----------SSL------------ Bank1 FIX Engine------Bank1 BackOffice
/--------------------SSL------------ Bank2 FIX Engine------Bank2 BackOffice
What's your FIX application is?
- FIX client/initiator , e.g. TR FIX Archiver (part of Deal Tracker Suite)
- FIX Acceptor, e.g. the FIX engine of trading platform, BARX, Autobahn
- Both acceptor and initiator, because you have more complext business, e.g.
a. Tcp/ssl/session/dictionary
b. Business logic is integrated with callback
Product: QuickFix/J https://www.quickfixj.org/ - OpenSource. Ext. QuickFix, QuickFix/N Product: Trading Connectivity Management (TCM) - NYSE Product: FIX8 (C++) http://fix8.org/index.html - OpenSource. There is a pro version. Product: CameronFIX by Itiviti https://www.itiviti.com/products-services/products/cameronfix-by-itiviti/
a. Logging
b. Storage
c. HA
d. Type Safe
e. Multi dictionary support
f. Others?
see https://github.com/baoyingwang/QuickFixJTutorial/wiki
FIX Session: https://www.fixtrading.org/standards/fixt/