FIX Protocol Session Connectivity
Hi guys, in this post I would like share my experience with financial information exchange (FIX) Connections which is essential to setup FIX connectivity for trading purposes. Financial information exchange (FIX) Connections used in both Client Connectivity and Exchange connectivity space (in case exchange supports financial information exchange (FIX) Protocol or you are connecting to any broker via FINANCIAL INFORMATION EXCHANGE (FIX) Protocol).
So whenever a new client comes on board a new Fix Session will be needed for him who will be identified by host, port and comp ids e.g. SenderCompID and TargetCompID. Before you setup a new financial information exchange (FIX) session in your fix engine you will need to require network connectivity between client's network and your network, this usually done by network team and for security reasons some firewall rules also needs to be setup. While working on this part you may face several network connectivity issue based on what are you choosing e.g. Radianz, VPN or internet.
Once network connection gets established you are ready to connect to client. Now client will send logon request (MessagType=A) with sequence no 1, 1 (At start of day) and with SenderCompID and TargetCompID agreed upon. On TCP layer first of all socket connection gets established in client IP and your IP and your Fix Engine listens on port specified. once your Fix Engine gets logon request its validate content and authenticity of client and if all is OK it replies with another logon request message. Now your financial information exchange (FIX) session is established and you are ready to send orders via this connection.
Some important points to remember while troubleshooting FINANCIAL INFORMATION EXCHANGE (FIX) connectivity issues:
1) Which FINANCIAL INFORMATION EXCHANGE (FIX) Protocol versions are you using for connectivity? Both counterparties must use same version of FINANCIAL INFORMATION EXCHANGE (FIX) Protocol to establish FIX Connectivity.
2) Are you sending Correct SenderCompID (FIX Tag 49) and TargetCompID (FIX tag 50)? CompIDs must be configured on FIX Acceptor side.
3) Are you using correct IP and Port?
4) Are yor FIX Engine is sending correct sequence number which brokers FIX Engine is expecting?
5) Are you handling Resend request correctly?