March 21st, 2011, 3:56 am
FIX protocol allows for contingent legs, so if one leg doesn't transact where it needs to be, you can unroll and only lose transaction costs on one leg of your transaction. I personally use multiple feeds and internal logic to insure I have both legs. If I end up missing on one leg of a transaction (ie. arbitrage where one fill is correct, but the price slips on the second or third leg, hence erasing your profits) you can then fall back onto secondary logic that tries to unwind your position in as favorable way as possible. One example it to move that bad transaction to a separate watch, then monitor for spreads to align in such a way as to let you unwind with as minimal a transaction cost as possible.But I haven't found a way to insure perfect execution for multiple leg transactions, and just consider those losers. Then try to minimize the damage. (This from a retail perspective with the best CPU on servers possible, and the lowest latency datacenters as possible.) So an institution might have a different perspective and a whole lot more resources to throw at the problem.But I always strive to improve my "hit" rate, so any ideas are always welcome.-cjforex-