Imported from previous forum
Is there anyway to force a PossResend msg from a fix session using a fix request like ResendRequest (which forces PossDup)? I’ve been asked to verify that our broker can format PossResends correctly. Problem is they use a third party fix engine (TransactTools to be exact) and we want to avoid manipulating sequence numbers in files and such.
[ original email was from Andrew Scott - ascott@latentzero.com ]
> Is there anyway to force a PossResend msg from a fix session using a fix
request like ResendRequest (which forces PossDup)? I’ve been asked to
verify that our broker can format PossResends correctly. Problem is they
use a third party fix engine (TransactTools to be exact) and we want to
avoid manipulating sequence numbers in files and such.
You can do the same thing by dropping the session without a logout, then reconnecting. If the sell side queues an execution while the connection is down, then you get your poss resend.
[ original email was from Ryan Pierce - ryan.pierce@lehman.com ]
> You can do the same thing by dropping the session without a logout, then
reconnecting. If the sell side queues an execution while the connection
is down, then you get your poss resend.
That’s going to depend on the behavior of the sell side. I don’t believe the FIX Protocol requires a Poss Resend in this case.
[ original email was from Andrew Scott - ascott@latentzero.com ]
> > You can do the same thing by dropping the session without a logout,
then reconnecting. If the sell side queues an execution while the
connection is down, then you get your poss resend.That’s going to depend on the behavior of the sell side. I don’t believe
the FIX Protocol requires a Poss Resend in this case.
Agreed. My off-the-cuff remark did not quite hit the mark in this instance. 97 PossResend is more useful a concept in the context of the buy side’s messages. Having said that, I have seen 97 PossResend = Y from brokers in this scenario, but most brokers will send 43 PossDupe = Y as you say.
Maybe this might be possible by forcing a recovery on the sell side by cycling the ‘translator’ component(s) between the OMS / EMS and the FIX engine, but again that will depend a lot on the broker’s systems.
[ original email was from Ryan Pierce - ryan.pierce@lehman.com ]
> Is there anyway to force a PossResend msg from a fix session using a fix
request like ResendRequest (which forces PossDup)? I’ve been asked to
verify that our broker can format PossResends correctly. Problem is they
use a third party fix engine (TransactTools to be exact) and we want to
avoid manipulating sequence numbers in files and such.
Sorry, PossResend is an application-level concept, not a session-level one, so it is the EMS or OMS that needs to send it, not the engine. PossResend has nothing to do with Resend Requests, which are session-level concepts that result in Poss Dupe messages.
Poss Resend is used when an application wants to send a second copy of a message previously sent, when it believes, or is not sure, whether the other system has received it. While the FIX Engine guarantees ordered, reliable message delivery, that protection doesn’t extend between an OMS/EMS or exchange system and the FIX engine. A FIX engine could receive something successfully, but the business process could lose track of it. This is the problem Poss Resend was designed to address.
I.e. I send an order, but it hasn’t been acked for 10 seconds, and I really want the order to go live. There have been no Resend Requests or session drops, so I suspect the other FIX engine has received the message, but it never made it to the business logic on the other end. At the same time, I can’t just send a new order, as both could fill. So I send the order again, with the same ClOrdID, as a Poss Resend. It is assigned a new sequence number by the FIX engine and, from a session/FIX engine perspective, is a new, independent message. The receiving application will check the ClOrdID to see if it has been received. If not, it processes it like a new message. If so, then because it has PossResend set, it won’t be considered an error, and it can be ignored.
In my experience, few systems send PossResends for their intended purpose. It might not be possible for another party to send a PossResend message.
If you are using TransactTools, can send the message through “Send a FIX Message” link in Connection Details page.