FIX fields for "Limit at Auction" and "Market at Auction" orders

Imported from previous forum

Can someone help me with the FIX fields for “Limit at Auction” and “Market at Auction” orders?

It’s easy to set tag 40 (OrdType) as 1 or 2 for “Limit” or “Market”

But which tag should I set for “at Auction”?

As there is no such option in tag 59(TimeInForce).

Thanks
Jiaxi

[ original email was from Henrik Johansson - henrik.johansson@neonet.biz ]
Hi Jiaxi,

You can use the TradingSessionID(336) to represent a specific trading session.

See http://www.fixprotocol.org/specifications/fix4.4fiximate/field_description.html#TradingSessionID

Rgds,
Henrik

[ original email was from Robert Benoit - Robert.Benoit@transacttools.net ]
Jiaxi,

you can specify at the opening, or at the close in tag 59. The following link may be helpful to you.

http://fixprotocol.org/discuss/read/6276407f

Regards,

Bob Benoit
TransactTools

Can someone help me with the FIX fields for “Limit at Auction” and
“Market at Auction” orders?

It’s easy to set tag 40 (OrdType) as 1 or 2 for “Limit” or “Market”

But which tag should I set for “at Auction”?

As there is no such option in tag 59(TimeInForce).

Thanks Jiaxi

[ original email was from Rikard Hedberg - rikard.hedberg@omxgroup.com ]
Jiaxi,

the solutions proposed by the other respondends work fine if you have opening and closing auctions only. In markets where you have other auctions, e.g. continuous auctions (say one every hour) but no continous auto-matching you would not need to specify “auction” at all, as there are only auctions.

However, if your market mixes auctions and continuous trading throughout the day you do have a problem. FIX does not provide a TimeInForce of “Good for Next Auction Only” or “Good for Auction, but not Continuous Auto-Execution”, if that is what you want. The only option is to enter a Fill-or-Kill or Immediate-or-Cancel order when the auction period has started (to avoid the order executing in another matching phase).

In FIX 5.0 you have the possibility to use the new Trigger Instruction component. If you do not want the order to execute in a single auction but not other matching phases, you will need to activate the order when the auction starts and the be canceled when the auction ends (if not filled):

  • TriggerType (1100) = 3 (Next Auction)
  • TriggerAction (1101) = 1 (Activate)
  • TimeInForce (59) = 3 (Immediate or Cancel) or 4 (Fill or Kill)
  • OrdType (40) = 1 (Limit) or 2 (Market)

The Trigger instructions could also work if you define auctions as TradingSessionID / TradingSessionSubID and you want the order executed at a specific (but not “next”) auction.

  • TriggerType (1100) = 2 (Specified Trading Session)
  • TriggerTradingSessionId (1113) = ? (The specific auction)
  • if necessary TriggerTradingSessionSubID (1114) = ? (The specific auction)
  • TriggerAction (1101) = 1
  • TimeInForce (59) = as above
  • OrdTtype (40) = as above

If you want the order to execute in any auction but not in continuous auto-execution, you still have a problem. This means the order goes in and out of the book depending on the trading phase (might be less popular in exchanges and FIX has not really defined such behavior). TimeInForce cannot be used as the order can still be a Day order (or whatever), OrdType is no good either as we do not want to overload it. I think FIX would need an additional instruction, preferably an ExecInst of “in auction only” (ExecInst is where e.g. auction imbalance orders are defined as “i”).

Note that everything above depends on the execution venue (or your broker) supporting the respective functionality.

Rikard

Jiaxi,

you can specify at the opening, or at the close in tag 59. The following
link may be helpful to you.

http://fixprotocol.org/discuss/read/6276407f

Regards,

Bob Benoit TransactTools

Can someone help me with the FIX fields for “Limit at Auction” and
“Market at Auction” orders?

It’s easy to set tag 40 (OrdType) as 1 or 2 for “Limit” or “Market”

But which tag should I set for “at Auction”?

As there is no such option in tag 59(TimeInForce).

Thanks Jiaxi