A few hours of observation and note taking ensued and it was clear that the desk had no confidence in the OMS, hence they would always telephone a broker to check the FIX order had arrived. Then they would see executions arrive by FIX but generally towards the end of the day delete the FIX executions and manually enter a single execution. This was a desk trading European equities so there was no problem with lot level execution prices and so on (as you would find in trading Japanese equities or futures give-ups).
After further investigations and discussions it became clear that the problem was really a series of problems (partial list follows):
- At one point there had been an outage and due to an incorrect intervention a series of execution reports were deleted outside of the FIX workflow. So at the end of that day brokers were questioned on why an order was not fully filled and the brokers reported back that it was. So this created a lack of trust in the OMS and the FIX implementation.
- The default setting in the system for some broker was "send by FIX", in other cases the "use the telephone". So when sending orders in a hurry sometimes the outcome would be FIX, other times telephone. Hence a lack of confidence in the system to actually send the order.
- Static data in the system was incorrect and user broker short-cut lists were often out of date.
- FIX session start, end and reset times were not matched up with some brokers.