FIX Protocol FAQs

Disclaimer: The answers given here are based on my sole opinion and these are for educational purposes only. They may not be appropriate in some situations.

Some of the common questions on FIX Protocol by category. (These are some of the questions asked during my sessions. I will be adding more as I remember.)

General Questions

1.1 What is FIX Protocol?
1.2 Who should learn FIX Protocol?
1.3 Where can I learn more?
1.4 Who are the users of FIX Protocol?
1.5 Who owns it?
1.6 Will I be locked into my Broker/Exchange by using FIX protocol?

Manager Questions

2.1 Do I have to use my FIX Engine software vendor APIs to build message?
2.2 Will I get any extra advantage by using same vendor as my broker/Counterparty?
2.3 Should I let my developers build our own APIs for message construction and processing?
2.4 Should I use FIXML or just FIX?
2.5 I was told to buy some exchange simulator to test our FIX engine. Do I really need one?
2.6 Who are the top most vendors?
2.7 Where can I find the list of products and service providers?
2.8 I saw couple of Open Source products? Should I be looking into them before I pick vendor?
2.9 Do you have any vendor comparison details?

Business Analyst / Quality Assurance / Tester Questions

3.1 Our technology team has FIX infrastructure connecting to Brokerage firm. How much is good for me to know about FIX protocol?
3.2 I didn’t get a job because I didn’t know the FIX Protocol. I want to learn on my own, How do I do that?
3.3 I am moving to FX(Forex) group soon, What is the best way to learn just the FX part of FIX protocol?
3.4 How do I learn the business message flow of specific product category?
3.5 Is there any online FIX tag lookup site?

Developer Questions

4.1 I am totally new to FIX Protocol. Can you list down the steps needed to learn it?
4.2 What are the different FIX Engine integration methods out there?
4.3 Do I use vendor API for message construction or should I write my own?
4.4 I work on an application that deals with very few types of messages. I am thinking of writing my own function library to generate and parse FIX messages. What is your opinion?
4.5 I am looking for a simple Execution Simulator? Do you know any?
4.6 I need a some kind of catalog of FIX tags with some quick search feature, is there anything like that?

ANSWERS

1.1. What is FIX Protocol?

FIX stands for Financial Information eXchange. It is an electronic messaging format widely adopted by the financial institutions such as brokerage firms, asset management firms, exchanges and other financial firms. These firms use FIX protocol to exchange various securities transactions among each other. The beauty of the FIX protocol is, it is open protocol and specifications are maintained by industry itself through the FIX Protocol Limited.


1.2. Who should know FIX Protocol?
3.1. Our technology team has FIX infrastructure connecting to Brokerage firm. How much is good for me to know about FIX protocol?

FIX Protocol is used by software systems that connect trading partners. Technical and non-technical professionals involved in designing, developing and supporting those systems are required to understand protocol specifications thoroughly. Based on your role you can decide how deep you want to get into.


1.4 Who are the users of FIX Protocol?
FIX Protocol is widely used protocol among financial institutions for securities trading related operations. Based on my knowledge there is no other open protocol at this time other than proprietary protocols used by some exchanges. Proprietary protocols are slowly disappearing as everyone moving towards FIX. For example, NYSE has it’s own proprietary protocol (CMS) but fully supports the FIX.

But remember there is another protocol known as SWIFT which is used for financial transactions (Banking) like money transfers wires etc. Don’t get confused with that.

FIX and SWIFT are not competing protocols. Their purpose is quite different.

1.5. Who owns it?

FIX protocol specification is owned and maintained by FIX Protocol Ltd(FPL). FPL is a non-profit industry association run by its members. Most of the top financial institutions are FPL members. You can learn more about FPL visit it’s website.


1.6 Will I be locked into my Broker/Exchange by using FIX protocol?

As mentioned earlier, it is open protocol, you can almost communicate with any trading partner who supports your version of FIX protocol unless you have any custom fields for a specific vendor. Actually it is been the case for a while initially. But as FIX specifications getting richer, this trend of using custom fields is disappearing. Another beauty of FIX protocol is that it accommodates the extension and adding custom tags to it. You can learn more about it in specifications.


2.1. Do I have to use my FIX Engine software vendor APIs to build message?
2.4. Should I let my developers build our own APIs for message construction and parsing?
4.3 Do I use vendor API for message construction or should I write my own?
4.4 I work on an application that deals with very few types of messages. I am thinking of writing my own simple routines to generate and parse FIX messages. What is your opinion?

Usually vendor libraries are good enough. Using vendor APIs saves time and usually you get them free. Key strategic reason to choose them could be of saving time and efforts on upgrades and maintenance of the code. Remember, after all you are just passing FIX message string to FIX engine.
Some of the other factors to consider are – performance, easy integration with your OMS (Order Management System). If your vendor libraries are not delivering required performance may be you can think developing your own.


2.2 Will I get any extra advantage by using same FIX engine vendor as my broker/trading partner/counterparty?

I don’t think of any. Again, when two FIX engines communicate they don’t know anything about each other except exchanging encrypted/non-encrypted FIX messages over a TCP/IP session. They don’t exchange any information like their vendor, platform etc.


2.4 Should I use FIXML or just FIX?

As per my knowledge, not many firms use FIXML. The reason is XML parsing is slower than string parsing and also the FIXML message size is larger than it’s corresponding FIX message. It really matters when we are dealing with a large number of messages.


2.6 Who are the top most vendors?
2.7 Where can I find the list of products and service providers?

You can find the latest list of products and service providers on FPL website. I am not taking the responsibility of keeping it up to date. :)
Coming to who are the top most vendors, here’s the list that I am aware of. Please do your homework before you pick a vendor. Picking a vendor depends specifically on on your firm’s needs.

This list just based on my limited exposure.

2.8 I saw couple of Open Source products? Should I look into them?

Picking a open source product is always challenging decision. There may be too many factors involved in decision making based on size of your organization. I would like to add few factors from my end to consider.

  • The strength of you technical team – if needed, whether your team can modify (little tweaks) the code and manage it.
  • How many other firms using the product?
  • Is any consulting firm backing the code and how strong they are.


3.3 I am moving to FX group soon, What is the best way to learn just
the FX part of FIX protocol?

FIX Specification documents have the FX related message format and also the business message flow samples in one of the volumes. If you understand the business it is going to be quite easy.


4.1 I am totally new to FIX Protocol. Can you list down the steps needed to learn it?
1.3. Where can I learn more?
3.2. I didn’t get a job because I didn’t know the FIX Protocol. I want to learn on my own, How do I do that?
FIX protocol being open, it is easy to obtain specifications. Since it is widely adopted, you can find enough resources as well. Here are some steps:

  • First register and download specification documents from FIX Protocol website. Just download the version you are interested in.
  • Once you browse the specs, may be you can download my presentation which will give a big picture. Along with that you watch my 30min video on YouTube.
  • Now its time to focus on the application message types you are interested in. Try to understand the flow of FIX application messages for the operations you are looking. For example, if you building equity trading flow gather the list of applications messages, flow examples, key fields etc. All this information can be found in the FIX Specification mostly in the Appendix Section.
  • Get familiar with the FIX Engine software that you are going to use. Basically you need to know – how to start, stop; connecting from the client, connecting to testing simulator, reading log files etc. Usually you can find all these details in the manuals supplied by FIX Engine software that you acquired.
  • If you don’t have any FIX engine, you can try to download and install QuickFIX or QuickFIX/J which free open source product. (But you must be a develop to play around with this).
  • If you are not a developer, you can go through the FIX specifications for sample message flow and other details. Specs have the message flow for almost all products supported.
  • Revisit the FPL website and look for other resources and products section for more information.


4.2 What are the different FIX Engine integration methods out there?
Most for the FIX engines support Sockets, File based interface, JMS, TIBCO, MQ etc. You can get the list from the vendor you will be using.


2.5 I was told to buy some exchange simulator to test our FIX engine. Do I really need one?
4.5 I am looking for a simple Execution Simulator? Do you know any?
Mostly your FIX Engine vendor would have some simple simulator like programs for testing purposes. There is a commercial software from Agies Software that you can try.
Most of the developers end up developing their own little simulator as that would give a great flexibility in testing. Initially when I started working with FIX, one of the first programs I developed was a tiny three message processing simulator.

4.6 I need some kind of online catalog of FIX tags with some quick search feature, is there anything like that?
Yes, you do. Check FIXimate from FPL. At the end of FIX specs you can list of tags by number and also in alphabetical order. I always had message tags table (from spec) hanging in my cubical for all messages that we used.

!!!REMAINING ANSWERS COMING SOON!!!


If you have any specific questions please feel free to write to me. I will try my
best to answer.

Be Sociable, Share!