ExpireTime

Imported from previous forum

What is the correct way to handle a GTD order with an ExpireTime that has already expired? Should the order be rejected with OrdRejReason=TOO LATE_TO_ENTER, or should an ExecutionReport with ExecType=EXPIRED and OrdStatus=EXPIRED be immediately sent? I’m leaning towards rejecting the order, but both seem to have their merits.

Thanks, Ryan

Hi Ryan,

I would propose to reject the new order. My view is, anything illogical at first sight, should rejected as opposed to accepting and then dismissing by other means. In this case it will be an execution report with Exec Type = “Reject” and the proper reason.

Please share your views also on the pros and cons you mentioned.

Rgds,
Thaya.

What is the correct way to handle a GTD order with an ExpireTime that
has already expired? Should the order be rejected with OrdRejReason=TOO
LATE_TO_ENTER, or should an ExecutionReport with ExecType=EXPIRED and
OrdStatus=EXPIRED be immediately sent? I’m leaning towards rejecting the
order, but both seem to have their merits.

Thanks, Ryan

It’s not really pros and cons, but objections of downstream users. It’s easier for them if I send an expired execution report since this is the same as the normal expiration behavior. But I don’t really think this is a strong argument as you still have to handle rejections in general. I agree with you, if there’s something illogical with the order, it should simply be rejected at the door. There’s only two reasons this should ever occur: 1) An order was entered with a short expiration and there were delays processing the order, or 2) The order was entered with a bad UTC timestamp. In the second case I think you would definitely want to see the rejections to flag a potential system problem rather than silently getting expired execution reports. I also like your point that you would presumably have to first accept the order and then immediately expire it since a state transition from pending new to expired is a bit odd.

Thanks for your input, Ryan

Hi Ryan,

I would propose to reject the new order. My view is, anything illogical
at first sight, should rejected as opposed to accepting and then
dismissing by other means. In this case it will be an execution report
with Exec Type = “Reject” and the proper reason.

Please share your views also on the pros and cons you mentioned.

Rgds, Thaya.

What is the correct way to handle a GTD order with an ExpireTime
that has already expired? Should the order be rejected with
OrdRejReason=TOO LATE_TO_ENTER, or should an ExecutionReport
with ExecType=EXPIRED and OrdStatus=EXPIRED be immediately sent?
I’m leaning towards rejecting the order, but both seem to have
their merits.

Thanks, Ryan