Cross Trade

Imported from previous forum

Are Cross Trade supported in FIX 4.2?

Is an Advertised Trade a suitable message of communicating a Cross Trade to an exchange?

Any input will be appreciated.

[ original email was from Jim Northey - jnorthey@lasalletech.com ]
> Are Cross Trade supported in FIX 4.2?
>
> Is an Advertised Trade a suitable message of communicating a Cross Trade to an exchange?
>
> Any input will be appreciated.
>

This was discussed at the Futures & Options Working Group meeting this summer. FIX 4.2 supports crossing orders by specifying a Side(54)= 8 (Cross). I believe this is routinely done for broker to broker and ECN business for equities now - so it pre-dates 4.2.

However, this does not work that well in regulated exchange environments (options, futures) where a crossing order has to come in as two orders and market makers are allowed to take part or all of either side.

For systems that require two distinct orders for a cross - there is one possible implementation that creates two orders in the system from the one New Order - Single message with a Side=8. This is problematic - in that there would have to be some arbitrary rules set forth for identifying the orders back to the customer (Appending something to ClOrdId for instance - which is not a good thing). It can be done using this approach and may need to be done this way - but it convolutes order handling semantics.

The New Order - List is another possibility - but seems very unwieldy for this purpose and we have gotten negative responses for members of the technical committee regarding this approach.

Any other ideas anyone else has are appreciated.


Use of Advertisement Message to announce a crossing order to an exchange:

A Quote Request with a side = 8 is a possibility for indicating a cross prior to submitting the order to a market. An Advertise Message with AdvSide(4)=X and an AdvTransType=NEW is another alternative - as you indicate.

There is a technical committee meeting being held 10/4 - I will include a request for some direction on the best approach from the Technical Committee in a proposal being put together now.

Hopefully, we can get some feedback on this topic prior to the October Technical Committee meeting.

[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> This was discussed at the Futures & Options Working Group meeting this summer. FIX 4.2 supports crossing orders by specifying a Side(54)= 8 (Cross). I believe this is routinely done for broker to broker and ECN business for equities now - so it pre-dates 4.2.
>
> However, this does not work that well in regulated exchange environments (options, futures) where a crossing order has to come in as two orders and market makers are allowed to take part or all of either side.

I have been struggling with representing crosses myself, and have come up with an implementation of them that allows interaction with market makers and does not require any changes to the 4.2 spec. Note that this is for a stock exchange, so it may not necessarily be applicable to futures and options exchanges.

You send just ONE order with Side=Cross, and it is a limit order. For example, you send a Cross with OrderQty=1000 and Price=50. One of three responses generally happen:

  1. The order is within the spread, hence neither side of the cross can be price improved, nor can anyone interact with either side of it. In this case, you get an execution report with Side=Cross, LastShares=1000, LastPx=50

  2. One side of the order is price improved. (Or it is traded at the same price with someone else, if the marketplace enforces time priority.) The other side is effectively canceled. You would get an execution report, say, with Side=Buy, LastShares=1000, LastPx=49.875 This means that the party buying got the trade, but the party selling didn’t get anything.

  3. Part of one side of the order is price improved, and the rest is allowed to cross. For instance, you get two execution reports, one with Side=Sell, LastShares=300, LastPx=50.125, and one with Side=Cross, LastShares=700, LastPx=50. In this case, the selling party traded all 1000 shares, but the buying party only got 700.

In other words, you put in an order of side Cross, and you get back trades with sides of either Cross, Buy, Sell, both Buy and Cross, or both Sell and Cross. Even though the one FIX order represents two matching pseudo-orders, the sum of everything sent back in LastShares should all add up to OrderQty. This is making the assumption that a cross cannot have both sides price improved (i.e. you can’t get Bought 100, Sold 100, Crossed 900); if that were the case, the market would have to be crossed.

A variation on this is sending a Market cross instead of a limit. This could be defined by an exchange as a cross that happens at the midpoint, hence nobody is allowed to interact with it.

If the selling party of a cross is establishing a short position, then Side=Cross Short could be used to designate this, which could impose additional tick direction restrictions for equities.

Reporting requirements may require both parties in a cross, as opposed to just the broker executing the cross on the exchange, to be identified. If this is the case, then additional FIX fields could be created, like BuyerAccount, SellerAccount, BuyerComplianceID, etc.

[ original email was from Shalom Reich - shalom.reich@neonsoft.com ]
SIAC has decided to indicate Crossing trades by
having the old CMS OS (One-sided cross) routing code converted to a ‘6’ in tag 57 TargetSubID.
Similarly, the old CMS TS (Two-sided cross) is a ‘7’ in the TargetSubID. This doesn’t solve the problem for the brokers but it doesn’t make it any worse for them either.

Shalom Reich

[ original email was from Jim Northey - jnorthey@lasalletech.com ]
Some other recent General Q/A discussions on Advertisements have led me to conclude that the Advertisement is used to report an executed trade - not a proposed change. Since the need to "advertise" a cross - is usually to inform markets that a cross is going to be entered in order to solicit quotes from market participants to better the market, I recommend that the Quote Request message be used for this purpose. The only other message that would seem appropriate would be an IOI.

> Are Cross Trade supported in FIX 4.2?
>
> Is an Advertised Trade a suitable message of communicating a Cross Trade to an exchange?
>
> Any input will be appreciated.
>