Unreleased orders

Imported from previous forum

Hi,

the exchange we are connecting to supports the model of “unreleased orders,” some sort of a poor man’s OMS. The order is not put into the order book, but held back. A trader could do different things with it:

  • release it fully or partially to the market
  • release it as reported trade (street side reporting)
  • delete it
  • etc

What field in a FIX 4.2 NewOrderSingle message could be appropriate to mark an order as “unreleased.”

My ideas include both HandlInst=3 (Manual order, best execution) or ExecInst=5 (Held).

What do you think is more appropriate?

Any suggestions are appreciated.

Cheers, Jörg

Jörg, this is commonly referred to as “staging” and often used in conjunction with an ECN or ATS’s user interface. The entire quantity becomes a “ticket” (or other term) from which one slices and dices from the ECN or ATS’s user interface. I’ve seen firms use ExecInst of Suspend (18=S) or Held (18=5) for this (would not recommend HandlInst=3), or to simply configure a given FIX session such that all orders via that session from the customer are treated as “staged”. I believe many of the commercial buyside OMS systems support this in some fashion.

Hi,

the exchange we are connecting to supports the model of “unreleased
orders,” some sort of a poor man’s OMS. The order is not put into the
order book, but held back. A trader could do different things with it:

  • release it fully or partially to the market
  • release it as reported trade (street side reporting)
  • delete it
  • etc

What field in a FIX 4.2 NewOrderSingle message could be appropriate to
mark an order as “unreleased.”

My ideas include both HandlInst=3 (Manual order, best execution) or
ExecInst=5 (Held).

What do you think is more appropriate?

Any suggestions are appreciated.

Cheers, Jörg

Jörg, this is commonly referred to as “staging” and often used in
conjunction with an ECN or ATS’s user interface. The entire quantity
becomes a “ticket” (or other term) from which one slices and dices from
the ECN or ATS’s user interface. I’ve seen firms use ExecInst of Suspend
(18=S) or Held (18=5) for this (would not recommend HandlInst=3), or to
simply configure a given FIX session such that all orders via that
session from the customer are treated as “staged”. I believe many of the
commercial buyside OMS systems support this in some fashion.

Thanks, Scott. I would like to with ExecInst=5(Held) since there is a matching ExecInst=1(Not held) and we want handle this inside one FIX session.

The scenario is then as follows:

  1. → NewOrderSingle(ExecInst=Held)
  2. ← ExecutionReport(OrdStatus=NEW, ExecInst=Held)
  3. – trader releases the order manually via the GUI
  4. ← ExecutionReport(OrdStatus=NEW, ExecInst=Not Held,
    ExecType=Restated)

What ExecRestatementReason is appropriate?

0 : GT Corporate action
1 : GT renewal / restatement (no corporate action)
2 : Verbal change
3 : Repricing of order
4 : Broker option

Since I do not understand GT, 4 sounds sensible, maybe also 1.

Any further suggestions here?

Thanks, Jörg

Hi,

the exchange we are connecting to supports the model of “unreleased
orders,” some sort of a poor man’s OMS. The order is not put into the
order book, but held back. A trader could do different things with it:

  • release it fully or partially to the market
  • release it as reported trade (street side reporting)
  • delete it
  • etc

What field in a FIX 4.2 NewOrderSingle message could be appropriate to
mark an order as “unreleased.”

My ideas include both HandlInst=3 (Manual order, best execution) or
ExecInst=5 (Held).

What do you think is more appropriate?

Any suggestions are appreciated.

Cheers, Jörg

[ original email was from Richard Mirsberger - rmirsberger@bear.com ]

Thanks, Scott. I would like to with ExecInst=5(Held) since there is
a matching ExecInst=1(Not held) and we want handle this inside one
FIX session.

You two are aware that “Held” in this field has a more “traditional” usage meaning “Held to Prints” that diverges greatly from your proposed custom usage, yes?

Thanks, Scott. I would like to with ExecInst=5(Held) since there is a
matching ExecInst=1(Not held) and we want handle this inside one FIX
session.

You two are aware that “Held” in this field has a more “traditional”
usage meaning “Held to Prints” that diverges greatly from your proposed
custom usage, yes?

Sorry, Richard: Could you explain this in more detail?
American and European trading terms differ significantly sometimes.

Thanks, Jörg

Thanks, Scott. I would like to with ExecInst=5(Held) since there is a
matching ExecInst=1(Not held) and we want handle this inside one FIX
session.

You two are aware that “Held” in this field has a more “traditional”
usage meaning “Held to Prints” that diverges greatly from your proposed
custom usage, yes?

I agree with you that “Held” is not a good choice and adjust my recommendation to simply “Suspend”. Note from the FIX Spec’s Volume 1 Glossary:

Held: The firm executing the order is held to best execution requirements, and may not make discretionary decisions. Opposite of Not Held

Not Held: The firm executing the order is not held to best execution requirements, and may be able to make some discretionary decisions. Opposite of Held.

Thank you for pointing that out.