Order Management system(OMS) is the heart of front office system for any financial institutions. I got a chance to build/design it for a leading financial institution. Prior to this implementation I had only basic knowledge on how share trading works but no idea on OMS implementation. Actually this project helped me to gain knowledge on FIX protocol and how to build real time connectivity with external Execution Management System (EMS). Execution management system which I am referring is Bloomberg EMSX and this is the first execution management system which I worked and after that I came to know lot of EMS like Charles River, POEMS etc.
Without any prior knowledge on FIX protocol I started to explore that protocol and within two week I got basic idea of that protocol (any developers with passion can learn any new technology within two weeks). After getting basic idea in protocol I started to explore FIX engine and first engine I explored is NYSE TCM FIX engine. Within a week using vendor docs I learned to troubleshoot FIX engine, deployment and configuration for performance tuning. Then my next step is to build FIX messages for my order management system( order creation, ack, mod, cancel). Successfully this implementation went live after many late nights !!
This EMS integration is one of my favorite area because I worked for the entire end to end design along with network team and FIX protocol connectivity. Let me explain the details clearly so that it will help someone for future implementation.
In terms of Bloomberg connectivity for EMSX there are always two types
1. Staging session
2. Drop copy session
Let me explain EMSX. It is Bloomberg trading platform where lot of brokers are available for electronic order routing and execution. For further info please check Bloomberg site.
If someone wants to push orders from their internal OMS they have to use this staging session. Staging session is useful in financial institutions especially after the internal compliance and credit check. If they want to route orders to external EMSX means they can use this.
Drop Copy session:
This is more useful for back office functions but actually my design is slightly different even the front office functions is also automated using this. Drop copy session is nothing but a copy of all the actions done by trader done in EMSX. Usually leading banks use drop copy function for automating the back office functions like trade reconciliation and allocation.
After successful implementation in Equity, same infrastructure set up config is automated for fixed income desk. I got one more opportunity to explore the FIXED INCOME (FX bonds, Zero Coupon bonds, Coupon bonds etc).
If anyone have any doubts on FIX integration with EMS or drop copy design consideration please let me know. I am very much happy to help