Expired IOIs

Imported from previous forum

Should sell side send IOITransType=C (tag 28=cancel) when an IOI expires?

For example sell side sends 100s of IOIs during the day. The next day when the session starts all of these IOIs are obsolete since they expired. Should I send IOITransType=C for all of these IOIs? It was probably several hours since the IOIs actually expired.

Our system sends these but several systems the we integrate with reject these IOIs.

Which is the correct way to do it?

(The same discussion applies to day orders.)

In a word, NO!

Your problem is twofold:

  1. IOIs are handled primarily by the buyside OMS vendors and each of them has their own heuristic rules for handling these messages. Almost no one properly handles Valid Until Times – some automatically expire IOIs after five or ten minutes.

  2. The buyside typically wants to know who WAS out, hence the OMS vendors keep expired and cancelled IOIs around to confuse their users.

However, NO ONE keeps yesterday’s messages – so you need not cancel them next day.

Should sell side send IOITransType=C (tag 28=cancel) when an IOI
expires?

For example sell side sends 100s of IOIs during the day. The next day
when the session starts all of these IOIs are obsolete since they
expired. Should I send IOITransType=C for all of these IOIs? It was
probably several hours since the IOIs actually expired.

Our system sends these but several systems the we integrate with reject
these IOIs.

Which is the correct way to do it?

(The same discussion applies to day orders.)

My understanding is that ValidUntilTime for IOIs in Fix should be treated as solid. It’s up to the displaying system what to do with expired IOIs once they are past their ExpireTime. Typically they are shown in a different colour or only shown if the user selects a particular option. They can be interesting for information purposes about what has been happening that day, but traders cannot expect to ring up and trade off an expired IOI. It should not be necessary for the sending system to send a Cancel, the receiving system should handle this. Certainly I would never expect to see Cancels sent for IOIs sent the previous day.

Day orders are less my speciality, but surely the principle remains the same; there is sufficient information on the original message for the receiving system to know for what the period the order is valid for, it should not be necessary to also send a cancel after expiry, and you would probably confuse a lot of systems if you tried to.

Should sell side send IOITransType=C (tag 28=cancel) when an IOI
expires?

For example sell side sends 100s of IOIs during the day. The next day
when the session starts all of these IOIs are obsolete since they
expired. Should I send IOITransType=C for all of these IOIs? It was
probably several hours since the IOIs actually expired.

Our system sends these but several systems the we integrate with reject
these IOIs.

Which is the correct way to do it?

(The same discussion applies to day orders.)